使用 SOAP 设置访问策略 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 SOAP 设置访问策略

注意

HTTP 上的 SOAP 支持已弃用,但 SOAP 仍可在 HTTPS 上使用。SOAP 不支持新增的 Amazon S3 功能。我们建议您使用 REST API 或 Amazon SDK,而不是使用 SOAP。

在编写存储桶或对象时,可以通过将“AccessControlList”元素随附在 CreateBucketPutObjectInlinePutObject 的请求中,设置访问控制。AccessControlList 元素在 Amazon S3 中的 Identity and Access Management 中进行了描述。如果没有使用这些操作指定访问控制列表,使用默认访问策略创建的资源将给予请求者 FULL_CONTROL 访问权限 (即使请求是用于已存在的对象的 PutObjectInline 或 PutObject 请求)。

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

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

Sample Request

<PutObjectInline xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Data>aGEtaGE=</Data> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>chriscustomer</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI> </Grantee> <Permission>READ</Permission> </Grant> </AccessControlList> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2009-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObjectInline>

Sample Response

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

可以使用 GetBucketAccessControlPolicyGetObjectAccessControlPolicySetBucketAccessControlPolicySetObjectAccessControlPolicy 方法为现有存储桶或对象读取或设置访问控制策略。有关详细信息,请参阅这些方法的详细说明。