首页 > 解决方案 > 如何保护不同 GAE 之间的连接?

问题描述

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

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

标签: google-app-enginegoogle-cloud-platform

解决方案


如果您想确定向您的 App Engine 应用发出请求的 App Engine 应用的身份,您可以使用请求标头 X-Appengine-Inbound-Appid。此标头由 URLFetch 服务添加到请求中,用户不可修改,因此它安全地指示请求应用程序的 ID(如果存在)。

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

注意: X-Appengine-Inbound-Appid 标头仅在调用appspot.com 域时设置。如果应用程序有自定义域,则不会设置此标头。

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

这应该对所有 App Engine 标准环境都有效。


推荐阅读