确保只有内部访问App Engine Flexible。

如果我有一个仅供内部使用而不面向任何公共用途的GAE Flex应用程序,那么如何最好地保护它呢?默认情况下,*.appspot.com域公开了一个公共的HTTP/S端点。
如果我将默认的App Engine防火墙规则设置为显式拒绝所有HTTP流量,那么我如何从其他GCE实例或其他项目中的其他GAE Flex应用程序访问该应用程序呢?
起初,我认为通过编辑app.yaml文件将实例启动到具有自己的GCE防火墙规则(默认入站拒绝)的私有VPC中就足够了,但由于请求经过云负载均衡器IP,它仍然允许外部流量。
我考虑的下一个选项是Cloud IAP,它只允许经过身份验证的用户和服务帐户访问我的应用程序。这可能有效,但如果我需要从没有互联网访问权限的私有VPC访问我的应用程序,根据我对该服务的理解,它将无法工作,因为请求仍然必须通过HTTP进行。
那么,我该怎么做才能确保完全禁止对应用引擎的公共访问,同时仍然允许内部资源访问它呢?

你找到你的问题的答案了吗?还有,你是从哪里学到"由于请求通过云负载均衡器的IP地址,它仍然允许外部流量"这个信息的呢?能提供一个参考链接就好了 :) - ahong
1个回答

你的使用案例描述使得使用App Engine防火墙非常合适:

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

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

允许来自你的服务的请求开始,有关如何创建防火墙规则的说明。
在应用引擎中创建防火墙规则时,您可以选择允许或拒绝哪些IP访问您的应用。不必将所有HTTP流量都拒绝给所有IP。请查看示例防火墙,其中创建了一些规则。其中一些规则允许流量访问特定的IP,而其他规则则拒绝对其他IP的流量访问。

enter image description here