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

多区域Active-Active架构下CloudFront访问API Gateway被WAF拦截的优雅方案咨询

解决方案

1. 使用CloudFront Origin Access Control (OAC) + API Gateway资源策略

这是AWS原生推荐的无密钥认证方案,比自定义标头/API密钥更安全且易维护:

  • 给CloudFront分发配置Origin Access Control (OAC),选择适配API Gateway的类型
  • 在API Gateway的资源策略中添加允许规则,仅接受来自该OAC的请求
  • 配合WAF规则,只放行OAC签名验证通过的请求(或直接依赖API Gateway资源策略拦截非法请求,WAF专注前端防护)
    优势:无需手动管理密钥/标头,AWS自动处理请求签名,避免密钥泄露风险,配置后长期稳定。

2. 将WAF迁移至CloudFront层

既然已用CloudFront作为统一入口,把WAF从API Gateway转移到CloudFront是更合理的架构:

  • 在CloudFront分发上关联Web ACL,所有外部请求先经过CloudFront WAF校验
  • API Gateway的WAF可保留或禁用,若保留则仅配置内部防护规则(比如只允许CloudFront的IP段请求)
  • 配合CloudFront地理路由功能,直接将请求路由到对应区域的API Gateway,实现Active-Active模式
    优势:统一防护入口,减少API Gateway层的WAF重复配置,降低跨区域请求的WAF校验开销,架构更简洁。

3. 基于IAM角色的请求认证

利用AWS IAM身份验证机制,让CloudFront以IAM角色身份调用API Gateway:

  • 创建IAM角色,赋予execute-api:Invoke权限,信任实体设置为CloudFront服务
  • 在CloudFront分发的源配置中,启用Origin Custom Headers,并配置使用该IAM角色进行请求签名
  • API Gateway启用IAM认证,仅允许该IAM角色的请求通过;WAF可添加规则检查请求中的IAM签名有效性
    优势:完全基于AWS IAM生态,无需额外管理认证凭证,权限可通过IAM策略精细控制,适合复杂权限场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:04:58