如何为Cloud Run配置Cloud Armor规则,按客户端主机名限制访问?
能否将Cloud Armor规则应用于Cloud Run?
可以,但无法直接将Cloud Armor规则绑定到Cloud Run服务,必须通过Cloud Load Balancer(CLB)作为中间层来实现,具体操作逻辑如下:
- 先创建外部HTTP(S)负载均衡器,将Cloud Run服务配置为负载均衡的后端服务(选择「Serverless network endpoint group」类型,关联目标Cloud Run服务)
- 为该负载均衡器配置Cloud Armor安全策略,此时就能添加你示例中的规则:
request.headers['host'].lower().contains('test.example.com') - 后续所有对Cloud Run API的请求都需通过负载均衡器的入口地址访问,Cloud Armor会在请求抵达Cloud Run前完成规则校验
额外注意点:
- Cloud Run自带的默认域名无法直接关联Cloud Armor,必须使用负载均衡器提供的自定义域名或其默认域名
- 通过SDK或gcloud命令管理Cloud Armor规则时,操作对象是负载均衡的后端服务,而非Cloud Run服务本身
内容的提问来源于stack exchange,提问作者Adam Hopkinson
相关产品推荐
相关产品推荐

