"Could not load default credentials" google cloud secrets manager - 使用 CLI 授权用户

"Could not load default credentials" google cloud secrets manager - use CLI authorized user

我想让我的 nodeJS 应用程序使用我的 IAM 凭据在本地进行身份验证,但是当我 运行 下面的基本 secrets manager 功能时:

// config/secret_manager.js
const { SecretManagerServiceClient } = require('@google-cloud/secret-manager')

const client = new SecretManagerServiceClient()

async function getSecret(name) {
  const [version] = await client.accessSecretVersion({ name })
  const secretValue = JSON.parse(version.payload.data.toString())

  return secretValue
}

module.exports = getSecret

我收到错误:

Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. at GoogleAuth.getApplicationDefaultAsync

我似乎找不到任何关于如何在本地使用我的 CLI 登录凭据的文档,有什么想法?

(我不想使用 JSON 服务帐户配置)

即使您使用 gcloud CLI 进行身份验证,您也需要设置默认应用程序登录名。这是通过 运行 gcloud auth application-default login

解决的

来源: