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

ALB+Fargate架构下如何按URL路径配置访问来源限制

答案

这个需求完全可以实现,但单独靠ALB Resource Policy或者SecurityGroup都没法直接达成效果,需要结合ALB的7层路径转发能力做配置,具体说明如下:


为什么单独用ALB Resource Policy不行

ALB的Resource Policy是资源级别的权限控制,生效维度是整个ALB实例,不支持和7层路径转发规则做联动,你没法给同个ALB下的不同路径配置差异化的访问权限:如果配了只允许EventBridge访问的Resource Policy,整个ALB的所有路径都会对公网拦截,满足不了其他路径公网开放的要求。

为什么单独用SecurityGroup不行

SecurityGroup工作在传输层,只能基于源IP、端口、协议做流量拦截,根本识别不了HTTP请求的路径信息,没法区分流量是访问/api/还是其他路径。另外EventBridge公网调用的出口IP是动态变化的AWS服务地址段,既没法维护准确的白名单,直接放通整个段也会导致同区域其他AWS用户的EventBridge也能访问你的接口,安全风险很高。


可落地的实现方案

你可以根据自己的安全要求二选一:

方案1:ALB路径规则+自定义鉴权头(最快落地,无额外成本)

配置步骤非常简单:

  1. 生成一个足够长的随机字符串作为专属鉴权密钥,比如32位以上的大小写字母+数字组合。
  2. 在EventBridge的API Destination配置里,给所有发往/api/的请求加自定义请求头,比如X-Internal-Call: 你生成的密钥。
  3. 到公网ALB的对应监听器(80/443)上配置转发规则,优先级设为最高:
    • 匹配路径/api/*
    • 增加HTTP头匹配条件,只有X-Internal-Call头的值和你预设的密钥完全一致时,才把请求转发到后端Fargate目标组
    • 不满足头匹配条件的/api/*请求,直接返回403状态码
  4. 配置默认转发规则:所有不匹配/api/*的路径,正常转发到后端目标组,不做额外限制,对公网全开放。

这个方案不需要新增任何云资源,配置10分钟内就能搞定,只要密钥不泄露就能满足访问控制要求,适合快速上线的场景。

方案2:私网ALB+Resource Policy(最高安全等级,成本极低)

如果不想维护自定义密钥,要走AWS原生的身份鉴权,可以用这个方案:

  1. 新建一个内部(私网)ALB,和你现有Fargate服务的目标组关联,这个私网ALB不需要绑定公网IP,只在VPC内部可达。
  2. 给这个私网ALB配置Resource Policy,只允许events.amazonaws.com的服务主体调用,拒绝其他所有来源的访问。
  3. 配置EventBridge走VPC端点访问这个私网ALB的/api/路径,完全不走公网。
  4. 在原来的公网ALB上新增最高优先级转发规则:所有匹配/api/*的请求直接返回403,其他路径保持原有公网开放配置不变。

这个方案下/api/路径完全不暴露在公网,鉴权走AWS原生的IAM体系,不需要维护自定义密钥,安全性最高,额外的私网ALB成本每个月只有几美元,几乎可以忽略。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 00:54:44