Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Amazon S3 的 VPC 终端节点的示例存储桶策略

您可以使用 Amazon S3 存储桶策略控制从特定 Amazon Virtual Private Cloud (Amazon VPC) 终端节点或特定 VPC 对存储桶的访问。本部分包含可用于从 VPC 终端节点控制 S3 存储桶访问的示例存储桶策略。要了解如何设置 VPC 终端节点,请参阅 Amazon VPC 用户指南 中的 VPC 终端节点主题。

Amazon VPC 允许您在定义的虚拟网络内启动 Amazon Web Services (AWS) 资源。使用 VPC 终端节点可以在您的 VPC 和其他 AWS 服务之间创建私有连接,无需通过 Internet、VPN 连接、NAT 实例或 AWS Direct Connect 进行访问。

Amazon S3 的 VPC 终端节点是 VPC 内的一种逻辑实体,只允许连接到 Amazon S3。VPC 终端节点将请求路由到 Amazon S3 并将响应路由回 VPC。VPC 终端节点仅更改请求的路由方式,Amazon S3 公有终端节点和 DNS 名称将继续在 VPC 终端节点中有效。有关在 Amazon S3 中使用 Amazon VPC 终端节点的重要信息,请参阅 Amazon VPC 用户指南 中的 Amazon S3 的终端节点主题。

Amazon S3 的 VPC 终端节点提供两种方式来控制对 Amazon S3 数据的访问:

  • 您可以控制允许通过特定 VPC 终端节点访问哪些请求、用户或组。有关此类型访问控制的信息,请参阅 Amazon VPC 用户指南 中的 VPC 终端节点 - 控制对服务的访问主题。

  • 可以使用 S3 存储桶策略控制哪些 VPC 或 VPC 终端节点有权访问 S3 存储桶。有关此类型存储桶策略访问控制的示例,请参阅以下有关限制访问的主题。

限制对特定 VPC 终端节点的访问

下面是允许仅从 ID 为 vpce-1a2b3c4d 的 VPC 终端节点访问特定存储桶 examplebucket 的 S3 存储桶策略示例。该策略使用 aws:sourceVpce 条件键来限制对指定 VPC 终端节点的访问。aws:sourceVpce 条件键不需要 VPC 终端节点资源的 ARN,仅需要 VPC 终端节点 ID。有关在策略中使用条件的更多信息,请参阅 在策略中指定条件

Copy
{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws-cn:s3:::examplebucket", "arn:aws-cn:s3:::examplebucket/*"], "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-1a2b3c4d" } }, "Principal": "*" } ] }

限制对特定 VPC 的访问

可以使用 aws:sourceVpc 条件键来创建用于限制对特定 VPC 的访问的存储桶策略。如果在同一 VPC 中配置了多个 VPC 终端节点,并且要管理对所有终端节点的 S3 存储桶的访问,这一点非常有用。下面是允许 VPC vpc-111bbb22 访问 examplebucket 的策略示例。vpc-111bbb22 条件键不需要 VPC 资源 的 ARN,仅需要 VPC ID。

Copy
{ "Version": "2012-10-17", "Id": "Policy1415115909153", "Statement": [ { "Sid": "Access-to-specific-VPC-only", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws-cn:s3:::examplebucket", "arn:aws-cn:s3:::examplebucket/*"], "Condition": { "StringNotEquals": { "aws:sourceVpc": "vpc-111bbb22" } }, "Principal": "*" } ] }