

# 配置受版本控制的对象权限
<a name="VersionedObjectPermissionsandACLs"></a>

Amazon S3 中的对象的权限在版本级别设置。每个版本都有自己的对象拥有者。创建对象版本的 AWS 账户 是拥有者。因此，您可以为同一对象的不同版本设置不同的权限。要这样做，您必须指定要在 `PUT Object versionId acl` 请求中设置其权限的对象的版本 ID。有关详细描述和关于使用 ACL 的说明，请参阅 [Amazon S3 的身份和访问管理](security-iam.md)。

**Example — 为对象版本设置权限**  
以下请求针对具有规范用户 ID *b4bf1b36f9716f094c3079dcf5ac9982d4f2847de46204d47448bc557fb5ac2a* 的被授权者，将其对键 `my-image.jpg`（版本 ID 为 `3HL4kqtJvjVBH40Nrjfkd`）的权限设置为 `FULL_CONTROL`。  

```
 1. PUT /my-image.jpg?acl&versionId=3HL4kqtJvjVBH40Nrjfkd HTTP/1.1
 2. Host: bucket.s3.amazonaws.com
 3. Date: Wed, 28 Oct 2009 22:32:00 GMT
 4. Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
 5. Content-Length: 124
 6.  
 7. <AccessControlPolicy>
 8.   <Owner>
 9.     <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
10.   </Owner>
11.   <AccessControlList>
12.     <Grant>
13.       <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
14.         <ID>a9a7b886d6fd24a52fe8ca5bef65f89a64e0193f23000e241bf9b1c61be666e9</ID>
15.       </Grantee>
16.       <Permission>FULL_CONTROL</Permission>
17.     </Grant>
18.   </AccessControlList>
19.   </AccessControlPolicy>
```

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

**Example — 检索用于指定对象版本的权限**  
在以下示例中，Amazon S3 将返回对于键（`my-image.jpg`）和版本 ID（`DVBH40Nr8X8gUMLUo`）的权限。  

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

有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html)。