我可以将 gcloud activate-service-account 与模拟(不是静态密钥)一起使用吗?

Can I use gcloud activate-service-account with impersonation (not static keys)?

gcloud 有一个 --impersonate-service-account 标志
gsutil 有一个 -i 标志

但我想在当前会话中配置一次模拟,然后知道所有未来的命令都在使用该服务帐户。所以我想要的是 gcloud activate-service-account some-service-account-to-impersonate 没有静态密钥。这可能吗? gcloud 可以像这样为我的当前会话设置模拟而不必为每个命令指定 --impersonate-service-account 吗?

此外,我想在本地开发 运行 我的应用程序在本地 作为 使用模拟的服务帐户。如果我将应用程序配置为使用隐式信用(google SDK 应该寻找 GOOGLE_APPLICATION_CREDENTIALS 或默认使用用户的誓言信用)我认为可以 运行 gcloud activate-service-account 使用模拟然后 运行 我的应用程序在同一会话中,它将 运行 使用模拟帐户。

编辑:根据评论看起来这就是我想要的:gcloud config set auth/impersonate_service_account [SA_FULL_EMAIL]

我写了一篇文章,详细介绍了如何设置和使用服务帐户模拟。

Google Cloud – Improving Security with Impersonation

要将 CLI 配置为默认使用模拟:

gcloud config set auth/impersonate_service_account [SA_FULL_EMAIL]

清除此设置

gcloud config unset auth/impersonate_service_account