问题描述
引用 https://cloud.google.com/load-balancing/docs/https/setting-up-https-serverless#enabling
虽然谷歌云护甲可以配置为使用云中运行(全面管理),云功能,和App Engine后端后端服务,有这个能力,尤其是在云中运行(全面管理)和应用程序引擎相关的某些限制。谁有权访问由谷歌云可以分配给这些服务旁路负载均衡器的默认网址,直接去服务URL,绕过任何配置的谷歌云护甲安全策略的用户。
什么是避免云护甲的旁路攻击者靶向云中运行URL的最佳方式(*.run.app
)?
通常我会做云中运行只能由服务帐户可调用但云负载平衡器不能使用服务帐户调用云环境中运行。另一种方法是配置云负载平衡器使用令牌头,并配置在云上运行运行的应用程序只接受正确的标题调用/令牌,但我不希望有这样做的应用程序。
解决方法
您应该将服务的入口限制为“内部和负载平衡”,以禁用来自默认域的访问并仅允许来自 Cloud Armor 的流量:
gcloud beta run services update SERVICE --ingress internal-and-cloud-load-balancing