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

创建目录存储桶的接入点

与目录存储桶一样,可以在可用区或专用本地区域中创建接入点。接入点必须在与其关联的目录存储桶所在的同一区域中创建。

一个接入点只与一个 Amazon S3 目录存储桶相关联。如果您想使用您的 Amazon Web Services 账户中的目录存储桶,则必须首先创建目录存储桶。有关创建目录存储桶的更多信息,请参阅在可用区中创建目录存储桶在本地区域中创建目录存储桶

您也可以创建与另一个 Amazon Web Services 账户中的存储桶关联的跨账户接入点,只要您知道存储桶名称和存储桶拥有者的账户 ID。但是,在获得存储桶拥有者授予的权限之前,创建跨账户接入点不会授予您访问存储桶中数据的权限。存储桶拥有者必须通过存储桶策略向接入点拥有者的账户(您的账户)授予对存储桶的访问权限。有关更多信息,请参阅 授予跨账户接入点的权限

您可以使用 Amazon Web Services Management Console、Amazon CLI、REST API 或 Amazon SDK 为任何目录存储桶创建接入点。每个接入点都与单个目录存储桶相关联,并且可以为每个存储桶创建数百个接入点。创建接入点时,您可以选择接入点的名称以及要与之关联的目录存储桶。接入点名称由您提供的基本名称和包含存储桶位置的可用区 ID 的后缀组成,后跟 --xa-s3。例如 myaccesspoint-zoneID--xa-s3。您还可以通过虚拟私有云(VPC)限制对接入点的访问。然后,您可以使用接入点的名称立即开始通过接入点读取和写入数据,就像使用目录存储桶名称一样。

您可以使用接入点范围,将通过接入点对目录存储桶的访问限制为特定前缀或 API 操作。如果您不向接入点添加范围,则当通过接入点进行访问时,可以对存储桶中的对象执行目录存储桶中的所有前缀和所有 API 操作。创建接入点后,您可以使用 Amazon CLI、Amazon SDK 或 REST API 添加、修改或删除范围。有关更多信息,请参阅 管理目录存储桶的接入点的范围

创建接入点后,您可以配置接入点 IAM 资源策略。有关更多信息,请参阅 查看、编辑或删除接入点策略

注意

也可以从目录存储桶屏幕为目录存储桶创建接入点。执行此操作时,将提供目录存储桶名称,并且在创建接入点时无需选择存储桶。有关更多信息,请参阅 列出目录存储桶

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

  2. 在页面顶部的导航栏中,选择当前所显示 Amazon Web Services 区域的名称。接下来,选择要在其中创建接入点的区域。接入点和关联存储桶必须位于同一区域中。

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

  4. 接入点页面上,选择创建接入点

  5. 您可以在您的账户或其它账户中创建目录存储桶的接入点。要在其它账户中创建目录存储桶的接入点,请执行以下操作:

    注意

    如果您使用其他 Amazon Web Services 账户中的存储桶,存储桶拥有者必须更新存储桶策略才能授权来自接入点的请求。有关存储桶策略示例,请参阅 授予跨账户接入点的权限

    1. 目录存储桶字段中,选择指定另一个账户中的存储桶

    2. 存储桶所有者账户 ID 字段中,输入拥有存储桶的 Amazon Web Services 账户 ID。

    3. 存储桶名称字段中,输入存储桶的名称,包括基本名称和可用区 ID。例如 bucket-base-name--zone-id--x-s3

  6. 要在您的账户中创建目录存储桶的接入点,请执行以下操作:

    1. 目录存储桶字段中,选择选择此账户中的存储桶

    2. 存储桶名称字段中,输入存储桶的名称,包括基本名称和可用区 ID。例如 bucket-base-name--zone-id--x-s3。要从列表中选择存储桶,请选择浏览 S3 并选择目录存储桶。

  7. 接入点名称基本名称字段中,输入接入点的基本名称。将显示可用区 ID 和完整的接入点名称。有关命名接入点的更多信息,请参阅目录存储桶的接入点的命名规则

  8. 网络来源中,选择虚拟私有云(VPC)互联网。如果您选择虚拟私有云(VPC),请在 VPC ID 字段中输入要与接入点一起使用的 VPC 的 ID。

  9. (可选)在接入点范围中,要将范围应用于此接入点,请选择使用前缀或权限限制此接入点的范围

    1. 要限制对目录存储桶中前缀的访问,请在前缀中输入一个或多个前缀。要添加其它前缀,请选择添加前缀。要移除前缀,请选择移除

      注意

      接入点范围的所有前缀的总字符数限制为 512 个字符。您可以在添加前缀下方看到剩余字符数量。

    2. 权限中,选择接入点将支持的一个或多个 API 操作。要移除数据操作,请选择数据操作名称旁边的 X

  10. 要不将范围应用于接入点并支持通过接入点访问目录存储桶中的所有前缀和所有 API 操作,请在接入点范围中,选择将访问权限应用到整个存储桶

  11. 选择创建目录存储桶的接入点。接入点名称和其它有关它的信息显示在目录存储桶的接入点列表中。

以下示例命令为账户 111122223333 中的存储桶 amzn-s3-demo-bucket--zone-id--x-s3 创建了一个名为 example-ap 的接入点。

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3

要限制通过 VPC 访问接入点,请包括 --vpc 参数和 VPC ID。

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --vpc vpc-id

在为跨账户存储桶创建接入点时,请包含 --bucket-account-id 参数。以下示例命令在 Amazon Web Services 账户 111122223333 中,为存储桶 amzn-s3-demo-bucket--zone-id--x-s3 创建一个接入点(由 Amazon Web Services 账户 444455556666 拥有)。

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --bucket-account-id 444455556666

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

以下示例命令为账户 111122223333 中的存储桶 amzn-s3-demo-bucket--zone-id--x-s3 创建了一个名为 example-ap 的接入点,并通过 VPC vpc-id 限制访问权限(可选)。

PUT /v20180820/accesspoint/example-ap--zoneID--xa-s3 HTTP/1.1 Host: s3express-control.region.amazonaws.com x-amz-account-id: 111122223333 <?xml version="1.0" encoding="UTF-8"?> <CreateAccessPointRequest> <Bucket>amzn-s3-demo-bucket--zone-id--x-s3s</Bucket> <BucketAccountId>111122223333</BucketAccountId> <VpcConfiguration> <VpcId>vpc-id</VpcId> </VpcConfiguration> </CreateAccessPointRequest>

响应:

HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <CreateAccessPointResult> <AccessPointArn> "arn:aws:s3express:region:111122223333:accesspoint/example-ap--zoneID--xa-s3" </AccessPointArn> <Alias>example-ap--zoneID--xa-s3</Alias> </CreateAccessPointResult>

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