确保仅内部访问 App Engine Flexible

确保仅内部访问 App Engine Flexible

如果我有一个仅供内部使用而不打算供公众使用的 GAE Flex 应用程序,那么保护它的最佳方法是什么?默认情况下,*.appspot.com 域会公开一个公共 HTTP/S 端点。

如果我将默认的 App Engine 防火墙规则设置为明确拒绝所有 HTTP 流量,那么我如何从其他 GCE 实例或其他项目中的其他 GAE Flex 应用程序访问该应用程序?

我原本认为编辑app.yaml文件以将实例启动到具有其自己的 GCE 防火墙规则(具有默认入口拒绝)的私有 VPC 中就足够了,但由于请求通过云负载均衡器 IP,它仍然允许外部流量。

我考虑的下一个选项是 Cloud IAP,它只允许经过身份验证的用户和服务帐户访问我的应用程序。这可能有效,但如果我需要从没有互联网访问权限的私有 VPC 访问我的应用程序,如果我正确理解了该服务,它将不起作用,因为请求仍然必须通过 HTTP 发送。

那么我该怎么做才能确保绝对没有公共访问应用引擎,同时仍允许内部资源访问它?

答案1

您的用例描述使其适合使用App Engine 防火墙

仅允许来自特定网络内的流量确保只有特定网络的特定范围的 IP 地址可以访问您的应用。例如,在应用测试阶段,创建规则以仅允许公司私有网络内的 IP 地址范围...

仅允许来自特定服务的流量确保到 App Engine 应用的所有流量都首先通过特定服务代理。

开始于允许来自您的服务的请求有关于如何创建防火墙规则的说明。

在应用引擎中创建防火墙规则时,您可以选择允许或拒绝哪些 IP 访问您的应用。不强制拒绝所有 IP 的所有 HTTP 流量。请查看防火墙示例创建了一些规​​则。其中一些规则允许流量到特定 IP,而另一些则拒绝流量到其他 IP:

在此处输入图片描述

相关内容