首页 文章

授予对Authenticated Users组的读取访问权限

提问于
浏览
11

如何为文件的Authenticated Users组授予读取权限?我只是直接关注改变acl . 我应该为http://acs.amazonaws.com/groups/global/AuthenticatedUsers投入什么?我已经尝试过AuthenticatedUsers的每一种组合 .

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

6 回答

  • 0

    如果您愿意使用Python,那么boto库提供了获取和设置ACL的所有功能;来自boto S3 documentation

    b.set_acl('public-read')
    

    其中b是桶 . 当然,在您的情况下,您应该将“public-read”更改为“authenticated-read” . 你可以为键(文件)做类似的事情 .

  • 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 用于目录中的所有文件 .

  • 0

    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

    这是来自http://s3tools.org/s3cmd

    将文件上传到存储桶〜$ 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文件 . 很酷,嗯?

    尝试将public更改为authenticated,这应该可行 .

    请参阅http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL它在亚马逊方面解释了如何使用他们的ACL,据说如果你在s3cmd中使用public - 这将转换为亚马逊的公共读取,因此经过身份验证应该转换为authenticated-read .

  • 1

    如果你想在桶级别做,你可以做 -

    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

    下面是一个示例命令,它将S3对象上的ACL设置为 authenticated-read .

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

    .

相关问题