配置受版本控制的对象权限
Amazon S3 中的对象的权限在版本级别设置。每个版本都有自己的对象拥有者。创建对象版本的 Amazon Web Services 账户 是拥有者。因此,您可以为同一对象的不同版本设置不同的权限。要这样做,您必须指定要在 PUT Object versionId acl
请求中设置其权限的对象的版本 ID。有关详细描述和关于使用 ACL 的说明,请参阅 Amazon S3 的身份和访问管理。
例 — 为对象版本设置权限
以下请求将被授权者(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。