You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Direct Connect强制仅私有连接访问S3 Bucket?

可行,以下是两种常用实现方案

方案一:基于源IP的Bucket Policy限制

通过在Bucket Policy中指定允许访问的Direct Connect关联的公网IP前缀,拒绝所有其他来源的访问。示例Policy如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ],
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "x.x.x.x/xx",  // 替换为你的Direct Connect公网IP前缀
            "y.y.y.y/xx"
          ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ],
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": [
            "x.x.x.x/xx",
            "y.y.y.y/xx"
          ]
        }
      }
    }
  ]
}

注意:需要提前确认你的Direct Connect连接对应的公网IP范围,可通过AWS控制台或aws directconnect describe-connections命令获取。

方案二:通过VPC端点+私有虚拟接口实现私有访问

  1. 在与Direct Connect私有虚拟接口关联的VPC中创建S3网关端点(针对S3访问,网关端点更常用且免费)。
  2. 配置Bucket Policy,仅允许通过该VPC端点发起的请求访问:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:sourceVpce": "vpce-xxxxxxxxx"  // 替换为你的S3 VPC端点ID
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:sourceVpce": "vpce-xxxxxxxxx"
        }
      }
    }
  ]
}

这种方式的优势是流量完全走AWS私有网络,不经过公网,安全性更高,也无需依赖公网IP范围。

额外注意事项

  • 确保Bucket的其他权限(如IAM用户/角色权限)不会覆盖上述Bucket Policy的限制,建议遵循最小权限原则。
  • 测试时可通过Direct Connect连接内的主机访问S3,同时尝试从外部公网访问验证是否被拒绝。

内容的提问来源于stack exchange,提问作者Paolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:15:40