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

red*_*888 3 service-accounts google-cloud-platform gcloud google-iam google-cloud-iam

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

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

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

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

Joh*_*ley 6

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

谷歌云——通过模拟提高安全性

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

gcloud config set auth/impersonate_service_account [SA_FULL_EMAIL]
Run Code Online (Sandbox Code Playgroud)

清除此设置

gcloud config unset auth/impersonate_service_account
Run Code Online (Sandbox Code Playgroud)