如何确保不同GAE之间的连接安全



由于某些原因,我需要使用项目A和项目B:创建两个GAE

  • A(flex-env)是一个以Endpoint为边界并使用API密钥限制访问的代理服务器
  • B(标准env)是真正的服务器,它做真正的工作。(B无法应用Endpoint框架)
  • 仅客户端通知代理服务器地址并将所有请求发送到A

现在我想保护A和B之间的连接。换句话说,B只能从A访问。有什么方法可以实现吗?(此处防火墙不起作用,因为GAE没有静态IP范围。)

如果您想确定向你的应用引擎应用程序发出请求,你可以使用该请求header X-Appengine-Inbound-Appid。此标头已添加到请求中由URLFetch服务提供,并且不可由用户修改,因此它是安全的指示请求应用程序的ID(如果存在)。

在应用程序处理程序中,您可以通过读取X-Appengine-Inbound-Appid标头,并将其与ID列表进行比较允许提出请求。

注意:只有当调用为创建到appspot.com域。如果应用程序具有自定义域,则将不会设置标头。

https://cloud.google.com/appengine/docs/standard/go/appidentity/#asserting_identity_to_other_app_engine_apps

这对于所有应用程序引擎标准环境都应该是一样的。

最新更新