1

我正在谷歌应用引擎标准环境中实现微服务。我需要使用 URLfetch 从另一个微服务调用一个微服务。为此,我必须有一些身份验证机制,以便只有同一个项目中的微服务才能调用这个 api。

它可以使用任务队列来实现,但这对我的场景没有用。

我点击了这个链接(How to secure connection between different GAEs?),如果我们验证 X-Appengine-Inbound-Appid 标头,那么可以实现。我很好奇我们是否使用服务帐户使其更加安全。

下面的链接有参考做它https://cloud.google.com/appengine/docs/standard/python/communicating-between-services https://cloud.google.com/docs/authentication/production

但没有找到实现它的明确说明。有人在使用这种方法进行身份验证吗?

4

2 回答 2

0

您提到的此链接 [1] 具有明确的说明以及 Python 中的代码示例(单击 Python 选项卡)以实现您的目标。该文档展示了如何创建服务帐户、为其分配具有相关权限的角色以及向您的应用程序提供凭据。

代码示例展示了如何让 App 与 Cloud Storage 微服务交互。如果您在执行示例时遇到错误,请提供错误详细信息。

[1] https://cloud.google.com/docs/authentication/production

于 2019-08-26T02:02:25.503 回答
0

一种选择是为您的 App Engine 应用程序启用Cloud Identity-Aware Proxy (IAP) 。然后,您可以使用服务帐户以编程方式进行身份验证。这将允许一个 App Engine 应用程序以经过身份验证的方式调用另一个受 IAP 保护的应用程序。

于 2019-09-19T17:03:34.447 回答