【问题标题】:VPC access policy for S3 bucketsS3 存储桶的 VPC 访问策略
【发布时间】:2019-06-02 11:46:16
【问题描述】:

我有一个 VPC,其 VPC 终端节点与特定路由表相关联,例如 RTB1。 Subnet1 使用 RTB1,而 Subnet2 不使用。

如果我将策略附加到 S3 存储桶,请按照以下策略指定 vpc-ID:

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

这是否允许 Subnet2 中的实例访问 S3 存储桶?即使这些实例没有通过具有 vpc-endpoint 条目的 RBT1 路由?

【问题讨论】:

  • 理论上,Subnet2(通过 Internet 直接到 S3)将不被允许访问存储桶。试一试,让我们知道您发现了什么!
  • 嗨,约翰,你是对的。 Subnet2 流量无法访问存储桶。指定 vpc-id 时,只有 vpc 端点后面的子网才能访问存储桶。谢谢。
  • @NarayananM 如果可以的话,如果你能写下你发现的内容作为你问题的答案,那将会很方便。这样下一个经过这里的人就会知道所有的细节。
  • 嗨@nelsonda,不知道如何格式化评论文本。所以我已经发布了摘要作为答案......
  • @NarayananM 你做对了!仅仅因为你找到了自己问题的答案,并不意味着它就不再是一个答案。 StackOverflow 背后的核心理念之一是提出好的问题有助于回答问题!

标签: amazon-s3


【解决方案1】:

以下是行为摘要:

场景:假设有 - 1 个 VPC,vpc-111bbb22 - 3 个子网 *subnet-1111 在 s3 vpc 端点 vpce-1111 后面, *subnet-2222 在 s3 vpce-2222 和 *subnet-3333 与任何 vpc 端点无关。 - 1 个名为 my_secure_bucket 的 S3 存储桶(注意:此存储桶必须与 VPC/VPC 终端节点位于同一区域) 使用上述存储桶策略,可访问性如下: 子网 1111 - 可以访问 子网 2222 - 可以访问 子网 3333 - 无法访问

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多