

# 使用 SOAP 设置访问策略
<a name="SOAPAccessPolicy"></a>

**注意**  
 Amazon S3 的 SOAP API 不适用于新客户，并将于 2025 年 8 月 31 日接近使用寿命终止（EOL）。我们建议您使用 REST API 或 Amazon 开发工具包。

在编写存储桶或对象时，可以通过将“AccessControlList”元素随附在 `CreateBucket`、`PutObjectInline` 或 `PutObject` 的请求中，设置访问控制。[Amazon S3 的身份和访问管理](https://docs.amazonaws.cn//AmazonS3/latest/userguide/security-iam.html)中描述了 AccessControlList 元素。如果没有使用这些操作指定访问控制列表，使用默认访问策略创建的资源将给予请求者 FULL\_CONTROL 访问权限 (即使请求是用于已存在的对象的 PutObjectInline 或 PutObject 请求)。

下面是向对象写入数据、允许匿名委托人读取对象，以及授予特定用户对存储桶的 FULL\_CONTROL 权限 (大多数开发人员希望授予他们自己对存储桶的 FULL\_CONTROL 访问权限) 的请求。

**Example**  
下面是向对象写入数据并允许匿名委托人读取对象的请求。  
 `Sample Request`   

```
 1. <PutObjectInline xmlns="https://doc.s3.amazonaws.com/2006-03-01">
 2.   <Bucket>quotes</Bucket>
 3.   <Key>Nelson</Key>
 4.   <Metadata>
 5.     <Name>Content-Type</Name>
 6.     <Value>text/plain</Value>
 7.   </Metadata>
 8.   <Data>aGEtaGE=</Data>
 9.   <ContentLength>5</ContentLength>
10.   <AccessControlList>
11.     <Grant>
12.       <Grantee xsi:type="CanonicalUser">
13.         <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
14.         <DisplayName>chriscustomer</DisplayName>
15.       </Grantee>
16.       <Permission>FULL_CONTROL</Permission>
17.     </Grant>
18.     <Grant>
19.       <Grantee xsi:type="Group">
20.         <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI>
21.       </Grantee>
22.       <Permission>READ</Permission>
23.     </Grant>
24.   </AccessControlList>
25.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
26.   <Timestamp>2009-03-01T12:00:00.183Z</Timestamp>
27.   <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
28. </PutObjectInline>
```
 `Sample Response`   

```
1. <PutObjectInlineResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01">
2.   <PutObjectInlineResponse>
3.     <ETag>&quot828ef3fdfa96f00ad9f27c383fc9ac7f&quot</ETag>
4.     <LastModified>2009-01-01T12:00:00.000Z</LastModified>
5.   </PutObjectInlineResponse>
6. </PutObjectInlineResponse>
```

可以使用 `GetBucketAccessControlPolicy`、`GetObjectAccessControlPolicy`、`SetBucketAccessControlPolicy` 和 `SetObjectAccessControlPolicy` 方法为现有存储桶或对象读取或设置访问控制策略。有关详细信息，请参阅这些方法的详细说明。