如何为文件的Authenticated Users组授予读取权限?我正在使用s3cmd并希望在上传时这样做但我只是直接关注更改acl。我应该为http://acs.amazonaws.com/groups/global/AuthenticatedUsers投入什么?我已经尝试过AuthenticatedUsers的每一种组合。
./ s3cmd setacl --acl发放=读:HTTP://acs.amazonaws.com/groups/global/AuthenticatedUsers S3:// BUCKET / FILE
./ s3cmd setacl --acl发放=读:AuthenticatedUsers S3:// BUCKET / FILE
答案 0 :(得分:2)
使用s3cmd似乎无法做到这一点。相反,我不得不切换到aws cli工具。
以下是安装它们的说明: http://docs.aws.amazon.com/cli/latest/userguide/installing.html
可以使用以下命令在上传期间将经过身份验证的用户设置的acl设置为:
Response.Redirect("http://www.fashionunic.com/shop/wholesale-m04-dozen-chevron-laced-front-top-medium.html")
另外还有一大堆其他组合,你可以在这里查看: http://docs.aws.amazon.com/cli/latest/reference/s3/index.html#cli-aws-s3
答案 1 :(得分:0)
将文件上传到存储桶〜$ s3cmd put addressbook.xml s3://logix.cz-test/addrbook.xml文件'addressbook.xml'存储为 s3://logix.cz-test/addrbook.xml(123456 bytes)关于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 bytes)的公共URL 对象是:http://logix.cz-test.s3.amazonaws.com/storage.jpg
现在任何人都可以在浏览器中显示storage.jpg文件。很酷,嗯?
尝试将公众更改为经过身份验证,这应该有效。
见http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL 它在亚马逊方面解释了如何使用他们的ACL,据说如果你在s3cmd中使用public - 这将转换为亚马逊中的 public-read ,因此经过身份验证应转换为 authenticated-read
答案 2 :(得分:0)
如果您愿意使用Python,boto库提供了获取和设置ACL的所有功能;来自boto S3 documentation:
b.set_acl('public-read')
其中b是桶。当然,在您的情况下,您应该将“public-read”更改为“authenticated-read”。您可以为键(文件)执行类似的操作。
答案 3 :(得分:0)
以下命令适用于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
表示目录中的所有文件。
答案 4 :(得分:0)
如果你想在桶级别做,你可以做 -
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
答案 5 :(得分:0)
这是一个示例命令,它将S3对象上的ACL设置为authenticated-read
。
aws s3api put-object-acl --acl authenticated-read --bucket mybucket --key myfile.txt