首页 > 解决方案 > 如何从 Angular 9 Web 应用服务访问 GCP Secret Manager

问题描述

我有 Angular 服务(完全托管的 Cloud Run),我想通过 HTTP 客户端调用访问“googleapis”Secret Manager API。

问题是我没有找到一种方法来获取当前服务帐户的身份验证令牌,我可以进一步将其用于 Authorization 标头字段。这是一种使用 Secret Manager API 的方法,但我也可以使用其他可能的解决方案来更改它,除非它在 ​​Agular 应用程序中运行。

提前非常感谢。

标签: angularhttpauthorizationgoogle-cloud-rungoogle-secret-manager

解决方案


我找到了问题的概念解决方案。Cloud Run 文档中对此进行了描述。通常,它对元数据服务器进行 API 调用以接收服务帐户(默认或其他特定帐户)的访问令牌,该令牌稍后可用于任何其他谷歌 API 调用的标题字段授权。所描述的解决方案只能在 GCP 内部工作(我已经用 curl 从 Cloud shell 对其进行了测试,它工作正常)。尽管我遇到了网关超时错误,但从我使用 httpClient 的应用程序中,我将为它打开另一个问题。


推荐阅读