使用 SOAP 设置访问策略 - Amazon Simple Storage Service

使用 SOAP 设置访问策略

注意

HTTP 上的 SOAP 支持已弃用,但 SOAP 仍可在 HTTPS 上使用。SOAP 不支持新增的 Amazon S3 功能。我们建议您使用 REST API 或 AWS 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 方法为现有存储桶或对象读取或设置访问控制策略。有关详细信息,请参阅这些方法的详细说明。