配置多区域访问点以便与 Amazon PrivateLink 共同使用
使用虚拟私有云(VPC)中的私有 IP 地址,Amazon PrivateLink 为您提供与 Amazon S3 的私有连接。您可以在 VPC 内预置一个或多个接口端点,连接到 Amazon S3 多区域访问点。
通过 Amazon Web Services Management Console、Amazon CLI 或 Amazon 开发工具包,您可以创建多区域访问点的 com.amazonaws.s3-global.accesspoint 端点。要了解有关如何为多区域访问点配置接口端点的更多信息,请参阅 VPC 用户指南中的接口 VPC 端点。
要通过接口端点向多区域访问点发出请求,请按照以下步骤配置 VPC 和多区域访问点。
配置多区域访问点与 Amazon PrivateLink 一起使用
-
创建或拥有可连接到多区域访问点的适当 VPC 端点。有关创建 VPC 端点的更多信息,请参阅 VPC 用户指南中的接口 VPC 端点。
重要 请确保创建 com.amazonaws.s3-global.accesspoint 端点。其他端点类型无法访问多区域访问点。
创建此 VPC 端点后,如果为端点启用了私有 DNS,则 VPC 中的所有多区域访问点请求都会通过此端点路由。默认为启用状态。
-
如果多区域访问点策略不支持来自 VPC 端点的连接,需要对其进行更新。
-
验证各个存储桶策略是否允许访问多区域访问点的用户。
请记住,多区域访问点的工作方式是将请求路由到存储桶,而不是自行完成请求。重要的是要牢记,因为请求的发起人必须具有对多区域访问点的权限,并允许访问多区域访问点中的各个存储桶。否则,请求可能会被路由到发起方没有执行请求的权限的存储桶。多区域访问点和存储桶必须由同一 Amazon 账户拥有。但是,如果权限配置正确,来自不同帐户的 VPC 可以使用多区域访问点。
因此,VPC 端点策略必须允许访问多区域访问点和您希望能够满足请求的每个底层存储桶。例如,假设您有一个别名为 mfzwi23gnjvgw.mrap
的多区域访问点。它由存储桶 doc-examplebucket1
和 doc-examplebucket2
提供支持,所有这些都归 AWS 账户 123456789012
所有。在这种情况下,下列 VPCE 策略允许 GetObject
任一备份存储桶完成来自 VPC 发出的请求到 mfzwi23gnjvgw.mrap
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Read-buckets-and-MRAP-VPCE-policy", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::doc-examplebucket1/*", "arn:aws:s3:::doc-examplebucket2/*", "arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/*" ] }] }
如前所述,您还必须确保将多区域访问点策略配置为支持通过 VPC 端点进行访问。您无需指定正在请求访问的 VPC 端点。以下示例策略将授予任何试图使用多区域访问点的请求者访问权限 GetObject
请求。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Open-read-MRAP-policy", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/*" }] }
当然,每个存储桶都需要一个策略来支持通过 VPC 端点提交请求的访问。以下示例策略向任何匿名用户授予读取权限,其中包括通过 VPC 端点发出的请求。
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Public-read", "Effect":"Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::doc-examplebucket1", "arn:aws:s3:::doc-examplebucket2/*"] }] }
有关编辑 VPCE 策略的更多信息,请参阅 VPC 用户指南中的使用 VPC 端点控制对服务的访问。
从 VPC 端点删除对多区域访问点的访问
如果您拥有多区域访问点,并希望从接口端点删除对该访问点的访问,则必须向多区域访问点提供新的访问策略,防止访问通过 VPC 端点的请求。请记住,如果您的多区域访问点中的存储桶支持通过 VPC 端点的请求,将继续支持这些请求。如果想阻止该支持,还必须更新存储桶的策略。向多区域访问点提供新的访问策略只会阻止访问多区域访问点。
您无法删除多区域访问点的访问策略。要删除对多区域访问点的访问权限,必须提供一个新的访问策略,其中包含所需的修改访问权限。
作为替代方案,您可以更新存储桶策略防止通过 VPC 端点发出请求。在这种情况下,用户仍然可以通过 VPC 端点访问多区域访问点。但是,如果请求路由到存储桶策略阻止访问的存储桶,将生成错误消息。