Сделайте ведро публичным в Amazon S3 [закрыто]

286

Как настроить ведро в Amazon S3, чтобы по умолчанию все файлы были доступны только для чтения?

Виктор
источник
10
Я раздражен, этот вопрос был помечен как не по теме. AWS очень важен для серьезных программистов. Я бы добавил, что вы можете использовать команду cli sync с аргументом acl следующим образом:aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read
Джон
Этот ответ на подобный пост может помочь: stackoverflow.com/a/23102551/475882
jaxxbo

Ответы:

462

Вы можете установить политику корзины, как подробно описано в этом посте:

http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/


В соответствии с предложением @ robbyt создайте политику bucket со следующим JSON:

{
  "Version": "2008-10-17",
  "Statement": [{
    "Sid": "AllowPublicRead",
    "Effect": "Allow",
    "Principal": { "AWS": "*" },
    "Action": ["s3:GetObject"],
    "Resource": ["arn:aws:s3:::bucket/*" ]
  }]
}

Важно : замените bucketв Resourceстроке название вашего ведра.

Intrications
источник
При использовании официального AWS CLI arn:aws:s3:::bucketтакже необходимо добавить в Resourceмассив. (Так что без /*.) Я надеюсь, что это поможет другим, кто боролся с этим, как я.
Сильвенон
Виноват. Это нужно, только если вы планируете sync, а не просто просматривать ведро.
Сильвенон
6
Для поддержки анонимного доступа через python boto, в дополнение к настройке этой политики, мне также пришлось предоставить Listпривилегию Everyoneв разделе Properties> Permissions блока.
Крис Бетти
Какое правило написания версии? Я использую текущую дату 2017-11-16, она сообщает: Ошибка: Политика должна содержать допустимую строку версии
Timothy.Li
1
@ Timothy.Li вы помните, чтобы заключить его в кавычки? "2017-11-16",
froggomad
57

Amazon предоставляет инструмент для генерации политики:

https://awspolicygen.s3.amazonaws.com/policygen.html

После этого вы можете ввести требования политики для сегмента на консоли AWS:

https://console.aws.amazon.com/s3/home

evaneus
источник
это официальный документ << Использование групповых
Timothy.Li
1
Отличная ссылка. Синтаксис настолько сложен, что для него пришлось написать генератор.
Тимбо