Amazon s3 授予对文件的已验证用户组的读取权限

Amazon s3 授予对文件的已验证用户组的读取权限,amazon-s3,s3cmd,Amazon S3,S3cmd,如何授予对文件的Authenticated Users组的读取权限?我正在使用s3cmd,并希望在上传时执行此操作,但我只是直接关注更改acl。我应该投什么钱?我尝试了各种可能的身份验证用户组合 ./s3cmd setacl --acl grant=读取:http://acs.amazonaws.com/groups/global/AuthenticatedUsers s3://BUCKET/FILE ./s3cmd setacl --acl grant=read:AuthenticatedUs

如何授予对文件的Authenticated Users组的读取权限?我正在使用s3cmd,并希望在上传时执行此操作,但我只是直接关注更改acl。我应该投什么钱?我尝试了各种可能的身份验证用户组合

./s3cmd setacl --acl grant=读取:http://acs.amazonaws.com/groups/global/AuthenticatedUsers s3://BUCKET/FILE

./s3cmd setacl --acl grant=read:AuthenticatedUsers s3://BUCKET/FILE

这是来自:

将文件上载到bucket ~$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一样使用 例如通过web浏览器访问

~$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 目标是:

现在,任何人都可以在浏览器中显示storage.jpg文件。酷,嗯

尝试将public更改为authenticated,这样应该可以工作


它在amazon端解释了如何使用他们的ACL,假设您在s3cmd中使用public-这将在amazon中转换为public read,因此authenticated应该转换为authenticated read。

如果您愿意使用Python,boto库提供了获取和设置ACL的所有功能;从:


其中b是一个桶。当然,在您的情况下,您应该将“public read”更改为“authenticated read”。您可以对键(文件)执行类似的操作。

使用s3cmd似乎不可能做到这一点。相反,我不得不切换到aws cli工具

以下是安装它们的说明:

可以使用以下命令将acl设置为在上载期间由经过身份验证的用户读取:

aws s3 cp <file-to-upload> s3://<bucket>/ --acl authenticated-read
aws s3 cp s3://--acl已验证读取
再加上大量其他组合,您可以在此处查看:

以下命令适用于我的s3cmd版本1.6.0:
s3cmd setacl s3://--acl grant='read:http://acs.amazonaws.com/groups/global/AuthenticatedUsers“
用于单个文件


s3cmd setacl s3://--acl grant='read:http://acs.amazonaws.com/groups/global/AuthenticatedUsers”“递归的

用于目录中的所有文件。

如果要在存储桶级别执行此操作,可以执行以下操作-

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

Docs-

下面是一个示例命令,该命令将S3对象上的ACL设置为
已验证读取

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

.

那没用。它不是标志中的选项。看起来s3cmd根本不支持它。我希望有人能把我带到桶策略语法之类的地方。
aws s3api put-object-acl --acl authenticated-read --bucket mybucket --key myfile.txt