Google app engine 从Google计算引擎到Appengine标准的HTTP请求

Google app engine 从Google计算引擎到Appengine标准的HTTP请求,google-app-engine,google-compute-engine,Google App Engine,Google Compute Engine,是否可以在不使用服务帐户和启用GAE服务上的端点服务(代理)的情况下,从Google Compute Engine GCE向Google AppEngine GAE发出安全HTTP请求?我们的大多数后端HTTP处理程序不需要启用端点服务代理,因为请求都是内部的,而不是来自公共的。我们的公共API使用计算引擎端点服务 handlers: - url: /securehandler/.* script: main.app login: admin “注意:对于应用程序引擎为其设置适当的X

是否可以在不使用服务帐户和启用GAE服务上的端点服务(代理)的情况下,从Google Compute Engine GCE向Google AppEngine GAE发出安全HTTP请求?我们的大多数后端HTTP处理程序不需要启用端点服务代理,因为请求都是内部的,而不是来自公共的。我们的公共API使用计算引擎端点服务

handlers:
- url: /securehandler/.*
  script: main.app
  login: admin

“注意:对于应用程序引擎为其设置适当的X-Appengine特殊头的内部请求,也满足管理员登录限制。例如,cron调度的任务满足管理限制,因为AppEngine在相应的请求上设置了HTTP头X-AppEngine-cron:true。但是,这些请求不会满足所需的登录限制,因为cron计划的任务不会以任何用户的身份运行。”

“向其他应用程序引擎应用程序断言身份

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

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

显然,在GCE中使用Go客户端发出HTTP请求时,没有设置X-AppEngine和X-AppEngine-Inbound-Appid头

编辑:

  • url:/securehandler/* 脚本:_go_应用程序 登录:必需 安全:总是

如果login设置为required,默认服务帐户会进行身份验证吗?

如果您从GCE发出HTTP请求,它将不包括任何凭据,因此不会显示为已登录。GAE不提供API调用传递login:required的机制


GAE确实提供身份验证作为的一部分。您可以使用它来验证来自GCE的请求。

我们可能必须启用IAP。我们使用的是Go,它在GAE标准中不支持云端点。谢谢。不确定如果没有IAP tho google.DefaultClient(ctx),这是否可以工作