从 Angular 个应用访问 Google 个 Secret Manager 机密
Access Google Secret Manager secrets from Angular app
是否可以使用 API 密钥通过简单的 API 调用访问 Google Secret Manager API?
https://secretmanager.googleapis.com/v1/projects/*/secrets/*?key=mykey
抛出 401 未经身份验证。
在支持 Angular 应用程序的 Node.js 服务器上,我使用了客户端库,但 Typescript 没有这样的东西。
没有。 Secret Manager 不支持 API 密钥进行身份验证。
这是可能的,但强烈建议不要这样做。此流程需要向您网站的所有用户公开一个 API 密钥,并且您必须自己实施一些 oauth 舞蹈。强烈建议您将此委托给某些服务器端应用程序,这些应用程序可以:
- 使用支持的客户端库
- 也许执行需要秘密的操作并用结果响应。 (如果您希望公开有关秘密而不是有效负载的元数据,则这不适用。)
因此,如果您仍然完全相信这是要走的路,那么:
您不能使用 API 密钥,但可以使用服务帐户并使用 google.com/
执行 oauth 流程
https://developers.google.com/identity/protocols/oauth2/service-account#httprest documents the steps required. The scope you're looking for is probably https://www.googleapis.com/auth/cloud-platform
https://developers.google.com/identity/protocols/oauth2/scopes#secretmanager
是否可以使用 API 密钥通过简单的 API 调用访问 Google Secret Manager API?
https://secretmanager.googleapis.com/v1/projects/*/secrets/*?key=mykey
抛出 401 未经身份验证。 在支持 Angular 应用程序的 Node.js 服务器上,我使用了客户端库,但 Typescript 没有这样的东西。
没有。 Secret Manager 不支持 API 密钥进行身份验证。
这是可能的,但强烈建议不要这样做。此流程需要向您网站的所有用户公开一个 API 密钥,并且您必须自己实施一些 oauth 舞蹈。强烈建议您将此委托给某些服务器端应用程序,这些应用程序可以:
- 使用支持的客户端库
- 也许执行需要秘密的操作并用结果响应。 (如果您希望公开有关秘密而不是有效负载的元数据,则这不适用。)
因此,如果您仍然完全相信这是要走的路,那么: 您不能使用 API 密钥,但可以使用服务帐户并使用 google.com/
执行 oauth 流程https://developers.google.com/identity/protocols/oauth2/service-account#httprest documents the steps required. The scope you're looking for is probably https://www.googleapis.com/auth/cloud-platform
https://developers.google.com/identity/protocols/oauth2/scopes#secretmanager