Я создал корзину aws3 и успешно загрузил в нее файлы. Я хотел бы сделать две папки в ведре (одна папка для хранения общедоступных файлов, а другая для хранения личных файлов). Как я могу установить доступ к папке как частный или общедоступный.
Сделать папки, созданные в корзине aws3, общедоступными или частными в Amazon S3
Ответы (1)
Я предполагаю, что вы пытаетесь использовать консоль AWS. В таком случае просто щелкните правой кнопкой мыши папку, которую вы хотите сделать общедоступной. При щелчке правой кнопкой мыши должна быть одна опция «сделать общедоступной», которая должна сделать ее общедоступной.
Программно с Java: В случае, если для создания папки (это ключ в техническом термине S3) вам нужно использовать "Canned ACL.
Следовательно, ваш код должен выглядеть следующим образом: s3client.putObject(...).withCannedAcl(CannedAccessControlList.PublicRead)
см. ссылку https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Как вы упомянули в комментарии, каждый должен иметь доступ для чтения к общедоступной папке, в таком случае у вас должна быть одна политика уровня корзины, которая предоставляет доступ к «общедоступной» именованной папке всем.
Пример политики: Пример:
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::test-b11/public/*"]
}
]
}
где имя ведра — «test-b11», а общая папка — «общедоступная».
В консоли щелкните корзину, перейдите на вкладку «Разрешения» и нажмите «Политика корзины», куда вам нужно загрузить политику.