配置受版本控制的对象权限 - Amazon Simple Storage Service

配置受版本控制的对象权限

Amazon S3 中的对象的权限在版本级别设置。每个版本都有自己的对象拥有者。创建对象版本的 AWS 账户 是拥有者。因此,您可以为同一对象的不同版本设置不同的权限。要这样做,您必须指定要在 PUT Object versionId acl 请求中设置其权限的对象的版本 ID。有关详细描述和关于使用 ACL 的说明,请参阅 Amazon S3 中的 Identity and Access Management

例 — 为对象版本设置权限

以下请求将被授权者(BucketOwner@amazon.com)对键(my-image.jpg)和版本 ID(3HL4kqtJvjVBH40Nrjfkd)的权限设置为 FULL_CONTROL

PUT /my-image.jpg?acl&versionId=3HL4kqtJvjVBH40Nrjfkd HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU= Content-Length: 124 <AccessControlPolicy> <Owner> <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>mtd@amazon.com</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>a9a7b886d6fd24a52fe8ca5bef65f89a64e0193f23000e241bf9b1c61be666e9</ID> <DisplayName>BucketOwner@amazon.com</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>

同样地,要获取特定对象版本的权限,必须在 GET Object versionId acl 请求中指定它的版本 ID。您需要包含版本 ID,因为在默认情况下,GET Object acl 将返回对象的当前版本的权限。

例 — 检索用于指定对象版本的权限

在以下示例中,Amazon S3 将返回对于键(my-image.jpg)和版本 ID(DVBH40Nr8X8gUMLUo)的权限。

GET /my-image.jpg?versionId=DVBH40Nr8X8gUMLUo&acl HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU

有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 GetObjectAcl