【问题标题】:What is the difference between S3 bucket policies and S3 VPC endpoints?S3 存储桶策略和 S3 VPC 终端节点有什么区别?
【发布时间】:2021-02-22 18:46:46
【问题描述】:

我很想知道使用以下存储桶策略创建 S3 存储桶的功能差异是什么:

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

相对于创建 VPC 端点,例如:

{
    "Name": "example-vpc-ap",
    "Bucket": "example-bucket",
    "NetworkOrigin": "VPC",
    "VpcConfiguration": {
        "VpcId": "vpc-111bbb22"
    },
    "CreationDate": "2019-11-27T00:00:00Z"
}

它们在功能上是否相同?是被贬低还是最佳实践?参考后不清楚答案是什么:

谢谢

【问题讨论】:

  • 它们没有任何关系。当私有实例与 S3 交互(通过绕过 NAT 网关)时,VPC 端点只是降低了带宽成本。它对身份验证或授权没有影响。

标签: amazon-web-services amazon-s3 amazon-cloudformation amazon-vpc


【解决方案1】:

我认为aws:sourceVpc 只能与 VPC Endpoint 结合使用。

来自Example Bucket Policies for VPC Endpoints for Amazon S3 - Amazon Simple Storage Service

您可以使用aws:SourceVpc 条件创建限制对特定VPC 访问的存储桶策略。如果您在同一个 VPC 中配置了多个 VPC 终端节点,并且您想要管理对所有终端节点的 Amazon S3 存储桶的访问,这将非常有用。

您的问题中显示的 VPC 终端节点定义只是说终端节点连接到特定 VPC。它确实将存储桶访问限制为仅该端点。用户仍然可以通过 Internet 或其他端点访问存储桶。

然而,我承认所有这些端点和配置都相当混乱!

【讨论】:

  • 从你和@jordanm 所说的......第二个例子不会以任何方式限制访问,而是会创建一种额外的方式来访问存储桶?只有第一个 sn-p 实际上会限制访问。
猜你喜欢
  • 2022-01-09
  • 2018-02-07
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多