Я предлагаю вам применить политику сегмента 1 к области, в которой вы хотите хранить общедоступный контент. Таким образом, вам не нужно устанавливать ACL для каждого объекта. Вот пример политики, которая сделает все файлы в корзине mybucket общедоступными.
{
"Version": "2008-10-17",
"Id": "http better policy",
"Statement": [
{
"Sid": "readonly policy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
}
]
}
То, что *
в "Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
допускает рекурсию.
1 Обратите внимание, что политика Bucket отличается от политики IAM. (Например, вы получите сообщение об ошибке, если попытаетесь включить Principal
в политику IAM.) Чтобы изменить политику корзины, перейдите в корневой каталог корзины в веб-консоли AWS и разверните Свойства> Разрешения. Подкаталоги корзины также имеют Свойства> Разрешения, но нет опции для Изменить политику корзины