问题描述
是否可以使用GOOGLE_APPLICATION_CREDENTIALS env变量并将文件内容传递给它,而不是传递文件路径,实际上我想从NodeJs应用程序中使用服务帐户,但我的条件是我无法通过文件,但我可以通过NodeJS代码传递其内容。
解决方法
如果您使用的是GKE,则应使用工作负载身份,而不要传递服务帐户凭据。这是更安全和首选的方式。
在GKE / GCP之外,您可以构建自定义身份验证客户端:
const creds = JSON.parse(process.env.GOOGLE_CREDS);
this.auth = new GoogleAuth({
scopes: [...],credentials: creds,});