在google cloud gui控制台中,我转到“IAM&admin”>“服务帐户”,并创建了一个具有查看者角色的服务帐户“my-service-account”。
然后,我运行以下命令:
gcloud iam service-accounts get-iam-policy [email protected]
并看到以下输出:
etag: ACAB
根据文档,这意味着此服务帐户没有与之关联的策略。因此,我为其分配了一个“角色”,该角色未包含在其“策略”中。
如何列出与服务帐户关联的角色?
编辑:
多亏了对这个问题的出色回答,我现在可以遍历所有项目并得到我想要的东西。因此,根据这些cmd工具的版本,这应列出所有项目中单个服务帐户的所有角色绑定(bind):
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:[email protected]' \
;"
最佳答案
要过滤特定的服务帐户,请使用以下gcloud命令来完成:
gcloud projects get-iam-policy <YOUR GCLOUD PROJECT> \
--flatten="bindings[].members" \
--format='table(bindings.role)' \
--filter="bindings.members:<YOUR SERVICE ACCOUNT>"
给出不错的输出:
ROLE
roles/cloudtrace.agent
roles/servicemanagement.serviceController
roles/viewer
当然,可以对格式参数进行调整以满足您的特定需求。
关于google-cloud-platform - 如何列出与gcp服务帐户关联的角色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47006062/