创建限制到 Virtual Private Cloud 的访问点 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建限制到 Virtual Private Cloud 的访问点

创建访问点时,您可以选择让访问点可从 Internet 访问,也可以指定通过该访问点发出的所有请求都必须来自特定 Virtual Private Cloud (VPC)。可从 Internet 访问的访问点被认为是具有 Internet 网络起源。它可以在 Internet 上的任何位置使用,但受到访问点、底层存储桶和相关资源(如请求的对象)的任何其他访问限制的约束。只能从指定 VPC 访问的访问点的网络起源为 VPC,并且 Amazon S3 会拒绝从该 VPC 之外的来源向访问点发出的任何请求。

重要

您只能在创建访问点时指定访问点的网络起源。创建访问点后,无法更改其网络起源。

要将访问点限制为仅限于 VPC 访问,请在创建访问点的请求中包括 VpcConfiguration 参数。在 VpcConfiguration 参数中,您指定希望能够使用访问点的 VPC ID。然后,Amazon S3 将拒绝通过访问点发出的不是来自该 VPC 的请求。

您可以使用 Amazon CLI、Amazon 开发工具包或 REST API 检索访问点的网络起源。如果访问点指定了 VPC 配置,则其网络起源为 VPC。否则,访问点的网络起源为 Internet

示例:创建仅限 VPC 访问的访问点

以下示例为账户 example-vpc-ap 中的存储桶 example-bucket 创建一个名为 123456789012 的访问点,该访问点仅允许从 VPC vpc-1a2b3c 访问。然后,该示例验证新访问点是否具有 VPC 网络起源。

Amazon CLI
aws s3control create-access-point --name example-vpc-ap --account-id 123456789012 --bucket example-bucket --vpc-configuration VpcId=vpc-1a2b3c
aws s3control get-access-point --name example-vpc-ap --account-id 123456789012 { "Name": "example-vpc-ap", "Bucket": "example-bucket", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "vpc-1a2b3c" }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }, "CreationDate": "2019-11-27T00:00:00Z" }

要将访问点与 VPC 搭配使用,您必须修改 VPC 终端节点的访问策略。VPC 终端节点允许流量从您的 VPC 流向 Amazon S3。它们具有访问控制策略,用于控制如何允许 VPC 内的资源与 S3 交互。仅当 VPC 终端节点策略同时对访问点和底层存储桶授予访问权限时,从 VPC 通过访问点到 S3 的请求才会成功。

以下示例策略语句配置 VPC 终端节点,以允许对名为 GetObject 的存储桶和名为 awsexamplebucket1 的访问点执行 example-vpc-ap 调用。

{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:us-west-2:123456789012:accesspoint/example-vpc-ap/object/*" ] }] }
注意

此示例中的 "Resource" 声明使用 Amazon Resource Name (ARN) 指定访问点。有关访问点 ARN 的更多信息,请参阅使用访问点

有关 VPC 终端节点策略的更多信息,请参阅《Virtual Private Cloud (VPC) 用户指南》中的使用 Amazon S3 的终端节点策略