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

配置负载均衡后,如何屏蔽API网关自动生成URL以保护Cloud Run服务?

屏蔽API网关自动URL,仅允许负载均衡访问Cloud Run服务的方案

核心逻辑

要实现目标,关键是把API网关的入口流量限制为仅来自负载均衡,同时给Cloud Run服务加层防护,确保它只接受API网关的请求(双重保险)。

具体操作步骤

1. 给API网关加访问限制

API网关本身没有直接的IP白名单功能,但可以这么处理:

  • 在OpenAPI配置里加IP过滤:在你的API定义的OpenAPI YAML/JSON中,添加自定义校验逻辑,只允许负载均衡的出口IP段访问。比如用x-google-filter或者在请求处理前加来源IP检查,不符合的直接返回403。
  • 用VPC防火墙锁流量:如果负载均衡和API网关在同一个VPC内,配置VPC防火墙规则,只允许负载均衡的内部IP访问API网关的端口,外部请求根本碰不到API网关的自动URL。

2. 加固Cloud Run服务的访问权限

别只盯着API网关,Cloud Run这边也得设防:

  • 设置Cloud Run为内部访问:如果负载均衡和Cloud Run在同一VPC,把Cloud Run服务设为仅内部访问,这样只有VPC内的API网关能调用它。
  • 用IAM权限控制:给Cloud Run服务配置IAM,只允许API网关的服务账号有调用权限,其他身份一概拒绝。
  • 代码层加校验:在Cloud Run的服务代码里,检查请求的Host头是不是负载均衡的域名,或者检查请求来源是否是API网关的IP段,不符合的直接拒绝。

3. 把Cloud Armor用在负载均衡上

既然Cloud Armor只能绑定负载均衡,那就把所有外部流量都引到负载均衡,在负载均衡上配置Cloud Armor规则(比如IP白名单、防攻击规则),然后让负载均衡把流量转发到API Gateway NEG。这样所有外部请求必须先过负载均衡和Cloud Armor,才能到API网关,最后到Cloud Run,彻底绕不开负载均衡。

重点提醒

API网关的自动生成URL(比如https://xxx-uc.a.run.app)默认是公开可访问的,必须通过上面的步骤把这个入口封死,不然用户直接访问这个URL就能绕过负载均衡,你的安全配置就白做了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:27:20