Я пропоную вам застосувати політику сегмента 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 Зауважте, що політика сегмента відрізняється від політики IAM. (Для одного ви отримаєте повідомлення про помилку, якщо спробуєте включити його Principal
в політику IAM.) Політику сегмента можна відредагувати, перейшовши до кореня сегмента на веб-консолі AWS і розгорнувши Властивості> Дозволи. Підкаталоги сегмента також мають Властивості> Дозволи, але немає можливостіEdit bucket policy