在 Google Cloud gui 控制台中,我进入“ IAM & admin”> “ Service account”,并创建了一个名为“ my-Service-account”的服务帐户,其中包含查看者角色。
然后我运行这个命令:
gcloud iam service-accounts get-iam-policy my-service-account@mydomain.iam.gserviceaccount.com
看到了这个输出:
etag: ACAB
根据文档,这意味着这个服务帐户没有与之相关的策略。所以我给它分配了一个“角色”,这个角色不包括在它的“策略”中。
如何列出与服务帐户关联的角色?
编辑: 由于这个问题的出色的答案,我现在可以循环所有的项目,并得到我想要的。因此,根据您使用的这些 cmd 工具的版本,这里应该列出跨所有项目的单个服务帐户的所有角色绑定:
gcloud projects list | \
awk '{print $1}' | \
xargs -I % sh -c "echo ""; echo project:% && \
gcloud projects get-iam-policy % \
--flatten='bindings[].members' \
--format='table(bindings.role)' \
--filter='bindings.members:YOU-SERVICE-ACCOUNT@blah.com' \
;"