跨AWS账户访问:为何ServiceB安全组未拦截请求?
问题解析
- 核心原因是内部应用负载均衡器(ALB)转发请求时,后端serviceB看到的源IP是ALB自身的弹性网络接口(ENI)IP,而非accountA中serviceA的真实IP。
- 你的serviceB安全组规则允许accountB的IP,而ALB部署在accountB的VPC内,其ENI IP自然属于accountB的IP范围,所以serviceB的安全组会放行来自ALB的流量,不会拦截。
关于你提到的多安全组规则逻辑:
- 同一资源(比如负载均衡器)绑定多个安全组时,确实是取所有安全组规则的并集(最宽松规则生效),但这只适用于同一层级的安全组,和跨层级的负载均衡器→后端实例安全组规则无关。
补充说明:如果需要让serviceB安全组基于accountA的源IP做控制,无法直接通过安全组实现,得借助ALB的X-Forwarded-For头部,配合WAF或者后端服务的访问控制逻辑来识别原始客户端IP。
内容的提问来源于stack exchange,提问作者Bobert
相关产品推荐
相关产品推荐

