如何列出与gcp服务帐户关联的角色?

时间:2017-10-29 22:50:11

标签: google-cloud-platform gcloud google-cloud-iam

在google cloud gui控制台中,我去了" IAM&管理员" > "服务帐户"并创建了一个名为" my-service-account"的服务帐户;与观众角色。

然后我运行了这个命令:

gcloud iam service-accounts get-iam-policy my-service-account@mydomain.iam.gserviceaccount.com

并看到了这个输出:

etag: ACAB

根据文档,这意味着此服务帐户没有与之关联的政策。所以我给它分配了一个"角色"这不包含在其政策中#34;。

如何列出与服务帐户关联的角色?

2 个答案:

答案 0 :(得分:11)

在Google Cloud中,您拥有项目和服务帐户的IAM政策。

通过项目的IAM政策,您可以定义谁可以对您的Google Cloud项目中的资源执行特定操作。 将“查看者”角色添加到您修改项目策略的服务帐户(即您的服务帐户可以在项目中执行的操作)

另一方面,服务帐户的IAM策略用于控制谁拥有所有权以及谁可以访问服务帐户及其设置。 这是您使用您发布的命令检索的内容,但是您没有获得任何内容,因为您获得了服务帐户的策略而不是项目的策略。

为了获得包含成员及其相应角色的项目的IAM策略,您可以运行the following command

gcloud projects get-iam-policy PROJECT_ID

您可以在以下链接中找到有关服务帐户的更多信息:

https://cloud.google.com/iam/docs/service-accounts

https://cloud.google.com/iam/docs/granting-roles-to-service-accounts

答案 1 :(得分:0)

您可以使用此命令列出分配给服务帐户的资源和角色:

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:456@cloudservices.gserviceaccount.com" | egrep "role:|resource:|gserviceaccount"

只要您对范围拥有cloudasset.assets.searchAllIamPolicies权限,就可以将范围更改为文件夹或项目。

更多详细信息:How to list, find, or search iam policies across services (APIs), resource types, and projects in google cloud platform (GCP)?