如何使用 JSON 密钥和 google cloud gsutil 来管理多个密钥

如何使用 JSON 密钥和 google cloud gsutil 来管理多个密钥

我们有来自不同环境(例如 DEV、STAGING、..PROD)的多个 GCP 服务帐户密钥。

我想在 Dev 环境中的 jenkins box 中运行一个命令来创建访问 DEV 和 Staging 环境,

我不想跑gcloud 身份验证命令,而我期望的是,

gcloud compute instances list --key-file=dev-sa.json

或者

gsutil ls -l --key-file=dev-sa.json

我们有这样的办法吗?

答案1

以不同的方式解决问题。

不要尝试使用不同的服务帐户,而是使用一个对每个项目具有访问权限(特权)的服务帐户。

创建服务帐户(或使用您创建的帐户)。记下服务帐户电子邮件地址(这是其 ID)。

转到每个项目的 IAM 并将此电子邮件地址添加为成员。为此服务帐户分配所需的角色/权限。对每个项目重复此操作。

现在您可以使用此服务帐户 json 文件来设置 gcloud、软件应用程序等。您需要做的就是在使用凭据时指定项目。

gcloud auth activate-service-account [email protected] --key-file=test_google_account.json

您可以使用 设置默认项目gcloud config set project PROJECT_ID。或者使用环境变量CLOUDSDK_CORE_PROJECT

您可以在命令行中使用以下命令指定项目--project PROJECT_ID

gcloud --project development-123456 compute instances list

相关内容