Как изменить ACL для нескольких объектов в корзине S3? - PullRequest
0 голосов
/ 27 августа 2018

Я успешно изменил один объект s3 с помощью следующей команды

aws s3api put-object-acl --bucket private_doc --key private_125.jpg --acl private

Как я могу изменить ACL всего объекта на private, имя которого начинается со слова private?

У меня есть название корзины как document454 .Он состоит из объектов, таких как private_123.pdf, private_234.pdf, member_123.doc, member_234.doc.

Как преобразовать ACL имени файла, начинающегося со слова private, в закрытый режим?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Эта команда преобразует все объекты ACL в private, имя которых начинается с doc

aws s3 cp --recursive s3://bucket-name/ s3://bucket-name/ --acl private --metadata meta=nothing --exclude * --include "doc*"
0 голосов
/ 27 августа 2018

Все объекты в Amazon S3 являются частными по умолчанию .

Это можно изменить несколькими способами:

  • Путем непосредственного изменения ACL на объекте (как вы делаете)
  • Путем создания политики сегментов , которая может предоставлять разрешения для всего сегмента или пути внутри сегмента
  • Предоставляя разрешения для определенных пользователей IAM или групп IAM
  • Путем генерации предварительно подписанных URL , которые предоставляют ограниченный по времени доступ к частным объектам

Метод назначения разрешений непосредственно для ACL уровня объекта может быть выполнен только для одного объекта за раз . Bucket Policies обычно используются для предоставления доступа к нескольким объектам.

Если вы do хотите обновить ACL для нескольких объектов, вы можете скопировать объекты в себя с параметром --acl:

aws s3 cp --recursive s3://my-bucket/ s3://my-bucket/ --acl private --metadata meta=nothing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...