管理目录存储桶的接入点的范围 - Amazon Simple Storage Service

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

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

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

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

查看目录存储桶的接入点的范围
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在页面顶部的导航栏中,选择当前所显示 AWS 区域的名称。接下来,选择要列出其接入点的区域。

  3. 在控制台左侧的导航窗格中,选择目录存储桶的接入点

  4. (可选)按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

  5. 选择要管理的接入点的名称。

  6. 选择 Permissions(权限)选项卡。

  7. 接入点范围中,可以看到应用于接入点的前缀和权限。

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

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

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

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

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

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

以下请求显示了 AWS 账户 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>

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

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

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

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

  • PutObject

  • GetObject

  • DeleteObject

  • ListBucket(对于 ListObjectsV2 是必需的)

  • GetObjectAttributes

  • AbortMultipartUploads

  • ListBucketMultipartUploads

  • ListMultipartUploadParts

注意

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

修改接入点范围
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在页面顶部的导航栏中,选择当前所显示 AWS 区域的名称。接下来,选择要列出其接入点的区域。

  3. 在控制台左侧的导航窗格中,选择目录存储桶的接入点

  4. (可选)按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

  5. 选择要管理的接入点的名称。

  6. 选择 Permissions(权限)选项卡。

  7. 接入点范围部分中,选择编辑

  8. 要添加或移除前缀:

    1. 要添加前缀,请选择添加前缀。在前缀字段中,输入目录存储桶的前缀。重复此操作以添加更多前缀。

    2. 要移除前缀,请选择移除

  9. 要添加或移除权限:

    1. 要添加权限,请在选择数据操作字段中选择该权限。

    2. 要移除权限,请选择该权限旁边的 X

  10. 选择保存更改

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

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

注意

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

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

当您使用 AWS CLI 修改接入点的范围时,将替换现有范围。

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

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

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

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

注意

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

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

当您使用 API 修改接入点的范围时,将替换现有范围。

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>

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

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

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

注意

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

删除接入点范围
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在页面顶部的导航栏中,选择当前所显示 AWS 区域的名称。接下来,选择要列出其接入点的区域。

  3. 在控制台左侧的导航窗格中,选择目录存储桶的接入点

  4. (可选)按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

  5. 选择要管理的接入点的名称。

  6. 选择 Permissions(权限)选项卡。

  7. 接入点范围中,选择删除

  8. 要确认此删除,请键入“confirm”字段中,输入 confirm

  9. 选择删除

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

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

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

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

以下请求删除 AWS 账户 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

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