繁体   English   中英

从Google Compute Engine到Appengine标准的HTTP请求

[英]HTTP requests from Google Compute Engine to Appengine Standard

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

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

https://cloud.google.com/appengine/docs/standard/go/config/appref#handlers_element

“注意:对于内部请求,管理员登录限制也得到满足,内部请求为App Engine设置了适当的X-Appengine特殊标头。例如,cron计划任务满足了管理员限制,因为App Engine设置了HTTP标头X-AppEngine-Cron:true但是,由于cron计划的任务不会以任何用户身份运行,因此请求将无法满足所需的登录限制。”

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

“向其他App Engine应用设置身份

如果要确定向App Engine应用程序发出请求的App Engine应用程序的身份,则可以使用请求标头X-Appengine-Inbound-Appid。 此标头是由URLFetch服务添加到请求中的,并且用户无法修改,因此可以安全地指示发出请求的应用程序的ID(如果有)。

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

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

编辑:

  • 网址:/securehandler/.*脚本:_go_app登录:必需安全:始终

如果将登录设置为必填,默认服务帐户将进行身份验证吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM