2010-03-30 4 views

ответ

375

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

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


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

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

Важные: заменить bucket на строку Resource с именем вашего бу cket.

+0

При использовании официальнога AWS CLI 'arn: aws: s3 ::: bucket' также необходимо добавить в массив' Resource'. (Таким образом, без '/ *'.) Я надеюсь, что это помогает другим, которые боролись с этим, как я. – silvenon

+0

Мой плохой. Это необходимо, только если вы планируете «синхронизировать», а не просто просматривать ведро. – silvenon

+6

Чтобы поддерживать анонимный доступ через boto в python, в дополнение к настройке этой политики мне также пришлось предоставить привилегию 'List'' Everyone' в разделе «Свойства> Разрешения» в ведре. –

46

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

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

Вы можете ввести политику для ведра в свойствах для ведра на консоли AWS:

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

+0

это официальный документ << Использование правил и пользовательских политик Bucket >> https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies .html –

Смежные вопросы