【问题标题】:Restricting Amazon S3 access only on VPN connectivity仅在 VPN 连接上限制 Amazon S3 访问
【发布时间】:2021-08-14 23:18:12
【问题描述】:

我在 Amazon S3 存储桶上托管了一个 Web 应用程序,我们正试图在我们的 VPN 中限制对应用程序的访问。因此,我们添加了以下策略以仅在连接到 VPN 时限制访问。我们正在使用 Terraform 软件工具和 Jenkins 来构建应用程序并将其部署到 Amazon S3 存储桶中。

当我们第一次部署应用程序时,它会成功部署,并且只能限制连接到 VPN 的用户。但是现在我面临的问题是,当我第二次尝试部署应用程序时,由于访问限制(禁止访问错误)导致部署失败,原因是我们的 jenkins 服务器不在 VPN 上,并且 terraform 刷新是失败并出现 403 错误。我使用的代码如下。

"Sid": "VPNAccessIP",
  "Action": "s3:GetObject",
  "Effect": "Deny",
  "Resource": [
    "arn:aws:s3::: demo-dev",
    "arn:aws:s3::: demo-dev/*"
  ],
  "Condition": {
    "NotIpAddress": {
      "aws:SourceIp": [
        "130.110.0.0/22"
      ]
    }
  },
  "Principal": "*"

是否有任何其他方法可以实现仅针对 VPN 连接的访问​​限制,并且它应该允许从 Jenkins 部署应用程序?

【问题讨论】:

  • 为什么不能在策略中添加 Jenkins 服务器 IP 和 VPN IP?
  • 这里有几种不同的方法,但这个问题可能更像是Server Fault 问题而不是 Stack Overflow 问题,因为它是关于 AWS 服务而不是编程。话虽如此,一个可能的答案是使用VPC Service Endpoint,以便您的 Jenkins 服务器(可能在 VPC 中运行)可以从私有地址而不是公共地址访问 S3 存储桶。这充当了您的 VPC 网络和 S3 服务之间的某种桥梁。

标签: amazon-web-services amazon-s3 terraform amazon-iam


【解决方案1】:

您需要为 S3 使用 VPC 端点,输入网关。
将 VPC Endpoint 与以下策略一起使用将仅允许从您的本地 IP 范围和 VPCE 进行访问。

VPC Endpoint类型的网关不收费,所以是使用S3的好方法。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Access-from-specific-VPCE-or-IP-only",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::demo-dev",
                "arn:aws:s3:::demo-dev/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": "vpce-abcde12345"
                },
                "NotIpAddress": {
                    "aws:SourceIp": "130.110.0.0/22"
                }
            }
        }
    ]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2015-02-20
    • 2018-09-13
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 2015-09-20
    相关资源
    最近更新 更多