0

aws --endpoint-url=https://s3-api.us-geo.objectstorage.softlayer.net s3api put-object-acl --bucket mytestbucket --key foo.txt --acl public-read-write

aws --endpoint-url=https://s3-api.us-geo.objectstorage.softlayer.net s3api get-object-acl --bucket mytestbucket --key foo.txt

{
    "Owner": {
        "DisplayName": "b25ce81dcaa1498db3d1c802b3fdd",
        "ID": "b25ce81dcaa1498db3d1c802b3fdd"
    },
    "Grants": [
        {
            "Grantee": {
                "Type": "Group",
                "URI": "ttp://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "Type": "CanonicalUser",
                "DisplayName": "b25ce81dcaa1498db3d1c802b3fdd",
                "ID": "b25ce81dcaa1498db3d1c802b3fdd"
            },
            "Permission": "FULL_CONTROL"
        }
    ]
}
4

1 回答 1

0

WRITE只能在存储桶级别使用 ACL 授予特定账户权限。仍然可以PUBLIC-READ-WRITE使用标准 ACL 授予对象权限,但只会READ设置权限。

对象 ACL 仅限于授予特定帐户READREAD_ACP(读取 ACL)或WRITE_ACP(写入 ACL)权限,并FULL_CONTROL授予所有三个权限。也就是说,您在那里发出的 CLI 命令是正确的,并且 AWS 对对象 ACL 具有相同的限制。

有关创建对象 ACL 的更多信息,请参阅 API 文档

于 2016-12-07T22:08:55.093 回答