Предоставление доступа для чтения к группе "Проверенные пользователи" для файла

Как предоставить доступ для чтения к группе "Проверенные пользователи" для файла? Я использую 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

Ответ 1

Это не похоже на 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

Ответ 2

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

Загрузите файл в корзину ~ $s3cmd поместите адресbook.xml s3://logix.cz-test/addrbook.xml Файл 'addressbook.xml', хранящийся как s3://logix.cz-test/addrbook.xml(123456 bytes) Примечание об 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 bytes) Публичный URL-адрес   объект: http://logix.cz-test.s3.amazonaws.com/storage.jpg

Теперь каждый может отобразить файл storage.jpg в своем браузере. Прохладный, а??

попробуйте изменить общедоступную аутентификацию, и это должно работать.

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

Ответ 3

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

b.set_acl('public-read')

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

Ответ 4

Следующая команда работает для меня с 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 для всех файлов в каталоге.

Ответ 6

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

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

.