【问题标题】:How to pass contents in GOOGLE_APPLICATION_CREDENTIALS rather than file path?如何传递 GOOGLE_APPLICATION_CREDENTIALS 中的内容而不是文件路径?
【发布时间】:2020-12-08 09:04:53
【问题描述】:

有什么方法可以使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量并将文件的内容而不是文件路径传递给它,实际上我想从我的 NodeJs 应用程序中使用服务帐户,但我的条件是我不能通过文件,但我可以通过我的 NodeJS 代码传递它的内容。

【问题讨论】:

  • 你希望你的 NodeJS 代码在 Pod 中作为 GOOGLE_APPLICATION_CREDENTIALS 环境变量的内容可用吗?
  • 是的,我想在 GOOGLE_APPLICATION_CREDENTIALS 中使用我的 NodeJS 代码生成的内容
  • 这个内容是在哪里生成的?在 Pod 启动之前是否可用?

标签: google-kubernetes-engine gcloud google-iam google-secret-manager


【解决方案1】:

如果您使用 GKE,则应使用工作负载身份,而不是传入服务帐号凭据。这是更安全和首选的方式。

在 GKE/GCP 之外,您可以构建自定义身份验证客户端:

const creds = JSON.parse(process.env.GOOGLE_CREDS);
this.auth = new GoogleAuth({
  scopes: [...],
  credentials: creds,
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 2019-12-11
    • 2021-07-21
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多