2015-05-06 2 views
0

У меня есть экземпляр EC2 с ролью IAM. Эта роль имеет полный доступ к s3. Команда aws cli отлично работает, а также выполняет проверку завивки метаданных, чтобы получить временные ключи доступа и секретности.Django Storage S3 bucket Доступ с ролью IAM

Я также прочитал, что, когда в модуле настроек отсутствуют ключи доступа и секретности, boto автоматически получит временные ключи из URL метаданных.

Однако я не могу получить доступ к файлам css/js, хранящимся в ведре, через браузер. Когда я добавляю политику ведра, позволяющую директору *, все работает.

Я попробовал следующую политику:

{ 
"Version": "2012-10-17", 
"Id": "PolicyNUM", 
"Statement": [ 
    { 
     "Sid": "StmtNUM", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::account-id:role/my-role" 
     }, 
     "Action": "s3:*", 
     "Resource": "arn:aws:s3:::my-bucket/*" 
    } 
] 

}

Но все CSS/JS все еще получают 403-х. Что я могу изменить, чтобы заставить его работать?

+0

Вы сэкономите массу неприятностей, просто добавив ключи доступа и секретные ключи к своим производственным настройкам. Поможете ли вы настроить файл конфигурации? – jape

ответ

-1

Причина в том, что AWS устанавливает ваши файлы в бинарный/октетный поток.

отметьте это solution, чтобы обработать его.

+0

Я получаю 403 на всех файлах css и js и изображений. Это не проблема css! –

+0

извините, просто пытался помочь. –

1

Запросы в вашем браузере не могут отправлять требуемые заголовки authz, которые boto обрабатывает для вас в другом месте. Политика ведра не может определить принципала и правильно отклоняет запрос.

Добавить еще один сид, чтобы разрешить принцип * доступ ко всему под/публичным, например.