如何限制 public 访问 google App Engine 柔性环境?

How to restrict public access to google app engine flexible environment?

我在 App Engine 中有许多微服务仅供内部使用。但是,默认情况下,应用引擎将 service-project.appspot.com 域开放给 public,任何人都可以通过 httphttps 访问它们。 有没有办法只限制某些 IP 地址的访问?

我能想到的简单方法是在应用程序代码中检查源 IP 地址。 或者,我可以使用检查源 IP 地址的 nginx 配置创建自定义 docker 图像。但是,这些都不是很干净的解决方案,因为访问控制实际上独立于应用程序,我不想在容器内硬编码静态 IP 地址。

我假设有一种方法可以为 App Engine 设置防火墙规则,但我找不到它。 Identity-Aware Proxy 似乎是另一种选择,但不适用于 App Engine Flex。

我知道这是冷酷的安慰,但我们正在努力为 IAP 重新启用 App Engine 弹性支持。不过,这不仅仅是几天。

https://cloud.google.com/appengine/docs/flexible/java/migrating#users has some options that might be more palatable than hardcoding IPs. You won't be able to use GCE firewall rules because the appspot.com traffic is coming through Cloud HTTP Load Balancer, so the GCE instance firewall only sees the IP of the load balancer. If you do want to verify IPs within your app, use X-Forwarded-For as described at https://cloud.google.com/compute/docs/load-balancing/http/#components .

希望对您有所帮助! --Matthew,Cloud IAP 工程师