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

私有暂存S3存储桶策略:如何仅允许自身AWS控制台用户私有访问staging.example.org

让暂存站点staging.example.org私有访问(仅你作为AWS控制台登录用户可访问)

当然可以实现!要让你的暂存站点仅对已登录AWS控制台的你私有访问,这里有几种针对性的方案,根据你的部署架构选择最适合的:

方案一:AWS WAF + IAM身份验证(推荐)

这是最直接的基于IAM身份的访问控制方案,适合部署在CloudFront、ALB或API Gateway后的站点:

  • 创建WAF Web ACL并添加IAM访问规则

    1. 进入AWS WAF控制台,创建一个新的Web ACL,关联到你的站点资源(CloudFront分发/ALB等)。
    2. 添加规则:选择AWSManagedRulesIAMAccessControlRuleSet托管规则集,这个规则集会自动验证请求中的AWS SigV4签名是否有效。
    3. 细化规则:在托管规则集的基础上,添加一条自定义规则,仅允许你的IAM用户ARN对应的请求通过。例如,检查请求签名中的用户ARN是否匹配你的用户ARN(格式类似arn:aws:iam::123456789012:user/your-username)。
  • 配置请求签名(访问站点时)
    因为WAF需要验证AWS SigV4签名,你访问站点时需要带上签名的请求头。可以用以下方式:

    • 使用AWS CLI的curl结合签名工具:比如用aws sigv4 sign命令生成签名后的请求,然后用curl访问:
      aws sigv4 sign --service wafv2 --region us-east-1 --request-url https://staging.example.org | curl -K-
      
    • 用浏览器插件(比如AWS SigV4 Signer)自动为请求添加签名头,这样你在浏览器里直接访问站点时,插件会自动用你当前登录AWS控制台的身份生成签名。

方案二:CloudFront Signed Cookies + IAM(仅适用于CloudFront部署的站点)

如果你的站点用CloudFront分发,可以用Signed Cookies结合IAM来限制访问:

  • 配置CloudFront的信任签名者
    在CloudFront控制台,把你的IAM用户设置为信任的签名者,允许该用户生成Signed Cookies。
  • 生成Signed Cookies
    用你的IAM用户身份生成针对staging.example.org的Signed Cookies,然后在你的浏览器中导入这些Cookie。之后只有带有有效Cookie的请求才能通过CloudFront访问站点,而只有你能生成这些Cookie(因为是用你的IAM身份)。

方案三:VPC内部署 + AWS VPN/Direct Connect

如果你的站点部署在AWS VPC的私有子网里,可以通过以下方式让只有你能访问:

  • 配置AWS VPN连接,将你的本地设备连接到VPC的VPN网关。
  • 确保站点的安全组和NACL仅允许VPC内部或VPN连接的IP访问。
  • 作为AWS控制台用户,你可以管理VPN连接的权限,仅给自己授予连接VPN的权限,这样只有你能通过VPN接入VPC访问站点。

注意事项

  • 无论用哪种方案,都要确保你的IAM用户权限最小化:只授予访问该暂存站点所需的权限,不要给不必要的权限。
  • 测试时,用其他IAM用户或匿名请求访问站点,确认无法访问,确保权限配置正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:10:29