管理目录存储桶的接入点的范围 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理目录存储桶的接入点的范围

本节介绍如何使用 Amazon Command Line Interface、REST API 或 Amazon SDK 来查看和修改目录存储桶的接入点的范围。可以使用接入点范围来限制对特定前缀或 API 操作的访问。

查看目录存储桶的接入点的范围

您可以使用 Amazon Command Line Interface、REST API 或 Amazon SDK 来查看目录存储桶的接入点的范围。

以下 get-access-point-scope 示例命令显示了如何使用 Amazon CLI 来查看接入点的范围。

以下命令显示了 Amazon Web Services 账户 111122223333 的接入点 my-access-point--zoneID--xa-s3 的范围。

aws s3control get-access-point-scope --name my-access-point--zoneID--xa-s3 --account-id 111122223333

有关更多信息和示例,请参阅《Amazon CLI Command Reference》中的 get-access-point-scope

例 :get-access-point-scope 的结果
{ "Scope": { "Permissions": [ "ListBucket", "PutObject" ] "Prefixes": [ "Prefix": "MyPrefix1*", "Prefix": "MyObjectName.csv" ] } }

以下 GetAccessPointScope 示例请求显示了如何使用 REST API 来查看接入点的范围。

以下请求显示了 Amazon Web Services 账户 111122223333 的接入点 my-access-point--region-zoneID--xa-s3 的范围。

GET /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 Host: s3express-control.region.amazonaws.com x-amz-account-id: 111122223333
例 :GetAccessPointScope 的结果
HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <GetAccessPointScopeResult> <Scope> <Prefixes> <Prefix>MyPrefix1*</Prefix> <Prefix>MyObjectName.csv</Prefix> </Prefixes> <Permissions> <Permission>ListBucket</Permission> <Permission>PutObject</Permission> </Permissions> <Scope> </GetAccessPointScopeResult>

可以使用 Amazon SDK 来查看接入点的范围。有关更多信息,请参阅《Amazon Simple Storage Service API Reference》中的 list of supported SDKs

修改目录存储桶的接入点的范围

可以使用 Amazon Command Line Interface、REST API 或 Amazon SDK 来修改目录存储桶的接入点的范围。接入点范围用于限制对特定前缀、API 操作或两者组合的访问。

您可以包含以下一个或多个 API 操作作为权限:

  • PutObject

  • GetObject

  • DeleteObject

  • ListBucket(对于 ListObjectsV2 是必需的)

  • GetObjectAttributes

  • AbortMultipartUploads

  • ListBucketMultipartUploads

  • ListMultipartUploadParts

注意
  • 您可以指定任意数量的前缀,但所有前缀的字符总长度的大小必须小于 256 字节。

  • 修改接入点的范围时,将替换现有范围。

以下 put-access-point-scope 示例命令显示了如何使用 Amazon CLI 来修改接入点的范围。

以下命令修改 Amazon Web Services 账户 111122223333my-access-point--zoneID--xa-s3 的接入点范围。

注意

您可以使用星号(*)字符在前缀中使用通配符。如果要将星号字符用作文字,请在它之前添加一个反斜杠字符(\)以对它进行转义。

此外,所有前缀都有一个隐含的“*”结尾,这意味着所有带有该前缀的路径都将被包括在内。

aws s3control put-access-point-scope --name my-access-point--zoneID--xa-s3 --account-id 111122223333 --scope Prefixes=string,Permissions=string

有关更多信息和示例,请参阅《Amazon CLI Command Reference》中的 put-access-point-scope

以下 PutAccessPointScope 示例请求显示了如何使用 REST API 来修改接入点的范围。

以下请求修改 Amazon Web Services 账户 111122223333my-access-point--zoneID--xa-s3 的接入点范围。

注意

您可以使用星号(*)字符在前缀中使用通配符。如果要将星号字符用作文字,请在它之前添加一个反斜杠字符(\)以对它进行转义。

此外,所有前缀都有一个隐含的“*”结尾,这意味着所有带有该前缀的路径都将被包括在内。

PUT /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 Host: s3express-control.region.amazonaws.com x-amz-account-id: 111122223333 <?xml version="1.0" encoding="UTF-8"?> <PutAccessPointScopeRequest> <Scope> <Prefixes> <Prefix>Jane/*</Prefix> </Prefixes> <Permissions> <Permission>PutObject</Permission> <Permission>GetObject</Permission> </Permissions> <Scope> </PutAccessPointScopeRequest>

可以使用 Amazon CLI、Amazon SDK 或 REST API 来修改接入点的范围。有关更多信息,请参阅《Amazon Simple Storage Service API Reference》中的 list of supported SDKs

删除目录存储桶的接入点的范围

可以使用 Amazon Command Line Interface、REST API 或 Amazon SDK 来删除目录存储桶的接入点的范围。

注意

删除接入点的范围时,将删除所有前缀和权限。

以下 delete-access-point-scope 示例命令显示了如何使用 Amazon CLI 来删除接入点的范围。

以下命令删除 Amazon Web Services 账户 111122223333 的接入点 my-access-point--zoneID--xa-s3 的范围。

aws s3control delete-access-point-scope --name my-access-point--region-zoneID--xa-s3 --account-id 111122223333

有关更多信息和示例,请参阅《Amazon CLI Command Reference》中的 delete-access-point-scope

以下请求删除 Amazon Web Services 账户 111122223333 的接入点 my-access-point--zoneID--xa-s3 的范围。

DELETE /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 Host: s3express-control.region.amazonaws.com x-amz-account-id: 111122223333

可以使用 Amazon SDK 来删除接入点的范围。有关更多信息,请参阅《Amazon Simple Storage Service API Reference》中的 list of supported SDKs