Можем ли мы использовать aws s3api put-object-acl --acl, чтобы изменить разрешение на запись?

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"
        }
    ]
}

1 ответ

Решение

Использование ACL для предоставления определенных учетных записей WRITE разрешение возможно только на уровне ведра. Объекты все еще могут быть предоставлены PUBLIC-READ-WRITE разрешения с использованием стандартного ACL, но только READ разрешения будут установлены.

ACL объекта ограничены предоставлением определенных учетных записей READ, READ_ACP (читать ACL) или WRITE_ACP (запись ACL) и FULL_CONTROL предоставляет все три разрешения. Тем не менее, команды CLI, которые вы вводите там, являются правильными, и AWS имеет те же ограничения для ACL объектов.

Для получения дополнительной информации о создании ACL объекта см. Документацию API.

Другие вопросы по тегам