Предоставление доступа на чтение к группе «Прошедшие проверку» для файла - PullRequest
12 голосов
/ 24 января 2012

Как предоставить доступ на чтение для группы «Прошедшие проверку» для файла? Я использую s3cmd и хочу сделать это во время загрузки, но я просто сосредоточен на изменении acl. Что я должен вставить для http://acs.amazonaws.com/groups/global/AuthenticatedUsers? Я перепробовал все возможные комбинации AuthenticatedUsers.

. / S3cmd setacl --acl гранта = следующим образом: http://acs.amazonaws.com/groups/global/AuthenticatedUsers s3: // ВЕДРО / FILE

. / S3cmd setacl --acl гранта = следующим образом: AuthenticatedUsers s3: // ВЕДРО / FILE

Ответы [ 6 ]

2 голосов
/ 19 мая 2015

Это кажется невозможным с s3cmd.Вместо этого мне пришлось переключиться на инструменты aws cli.

Вот инструкции по их установке: http://docs.aws.amazon.com/cli/latest/userguide/installing.html

Можно установить acl для чтения аутентифицированными пользователями во время загрузки с помощью команды:

aws s3 cp <file-to-upload> s3://<bucket>/ --acl authenticated-read

Плюс множество других комбинаций, которые вы можете проверить здесь: http://docs.aws.amazon.com/cli/latest/reference/s3/index.html#cli-aws-s3

0 голосов
/ 17 ноября 2017

Вот пример команды, которая устанавливает ACL для объекта S3 на authenticated-read.

aws s3api put-object-acl --acl authenticated-read --bucket mybucket --key myfile.txt

.

0 голосов
/ 17 ноября 2017

Если вы хотите сделать это на уровне корзины, вы можете сделать -

aws s3api put-bucket-acl --bucket bucketname --grant-full-control uri=http://acs.amazonaws.com/groups/global/AuthenticatedUsers

Документы - http://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html

0 голосов
/ 14 декабря 2015

Следующая команда работает у меня с s3cmd версии 1.6.0: s3cmd setacl s3://<bucket>/<file-name> --acl-grant='read:http://acs.amazonaws.com/groups/global/AuthenticatedUsers' для отдельного файла.

s3cmd setacl s3://<bucket>/<dir-name> --acl-grant='read:http://acs.amazonaws.com/groups/global/AuthenticatedUsers' --recursive для всех файлов в каталоге.

0 голосов
/ 15 марта 2013

Если вы хотите использовать Python, библиотека boto предоставляет все функции для получения и установки ACL;из документации boto S3 :

b.set_acl('public-read')

Где b - ведро.Конечно, в вашем случае вы должны изменить «public-read» на «authenticated-read».Вы можете сделать что-то подобное для ключей (файлов).

0 голосов
/ 23 августа 2012

Это от http://s3tools.org/s3cmd:

Загрузить файл в корзину ~ $ s3cmd put addressbook.xml s3: //logix.cz-test/addrbook.xml Файл addressbook.xml хранится как s3: //logix.cz-test/addrbook.xml (123456 байт). Примечание о ACL (Списки контроля доступа) - файл, загруженный в корзину Amazon S3 либо быть частным, это может быть прочитано только вами, владельцем доступ и секретные ключи, или общедоступные, читаемые кем-либо. Каждый файл загруженный как общедоступный, не только доступен с помощью s3cmd, но также имеет HTTP-адрес, URL-адрес, который может использоваться как любой другой URL-адрес и например, доступны через веб-браузеры.

~ $ s3cmd put --acl-public --guess-mime-type storage.jpg s3: //logix.cz-test/storage.jpg Файл «storage.jpg» хранится как s3: //logix.cz-test/storage.jpg (33045 байт) Публичный URL-адрес Объект: http://logix.cz -test.s3.amazonaws.com / storage.jpg

Теперь любой может отобразить файл storage.jpg в своем браузере. Круто, а?

попробуйте сменить public на authenticated, и это должно сработать.

см. http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL на стороне Amazon он объясняет, как использовать их ACL, предположительно, если вы используете public в s3cmd - это будет означать public-read в amazon, поэтому для authenticated должно быть authenticated-read .

...