Pre*_*han 6 google-oauth google-cloud-platform gcloud
我有一个在 GCE 中使用默认服务帐户 A 运行的服务。该服务使用 gcloud 与各种 GCP 服务进行通信。目前,它使用服务帐户 B 与一些 GCP 服务(使用私钥)对话。但是,我们希望摆脱使用私钥并使用帐户模拟。为此,我已将帐户 A 添加到服务帐户 B 的角色并赋予令牌创建者角色。
我在 go 中编写了一个测试程序,并能够验证模拟工作。但是,我们的服务是用 PHP 编写的,并使用 gcloud SDK。我找不到配置 gcloud 以模拟服务帐户或提供自定义令牌的方法。
一种选择是我重写所有 gcloud 代码以使用 google SDK,但这是很多工作,我宁愿避免这样做。我的问题是,在这种情况下如何使用服务帐户 B 调用 gcloud?有没有办法将访问令牌传递给 gcloud 或指定模拟用户?
gcloud auth login
使用您的 gcp 电子邮件地址运行并登录。export GOOGLE_OAUTH_ACCESS_TOKEN=$(gcloud auth print-access-token --impersonate-service-account=<sa-name>.iam.gserviceaccount.com)
命令从服务帐户生成临时凭据并存储为当前的 OAUTH 令牌。(此 OAUTH 令牌仅持续 1 小时,因此请确保使用此令牌的操作可以在该时间范围内完成。 归档时间: |
|
查看次数: |
6504 次 |
最近记录: |