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

red*_*888 21 google-cloud-platform gcloud google-cloud-iam

在google cloud gui控制台中,我访问了"IAM&admin">"服务帐户",并使用查看者角色创建了一个名为"my-service-account"的服务帐户.

然后我运行了这个命令:

gcloud iam service-accounts get-iam-policy my-service-account@mydomain.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)

并看到了这个输出:

etag: ACAB
Run Code Online (Sandbox Code Playgroud)

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

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

pol*_*lve 36

要过滤特定的服务帐户,以下gcloud命令可以解决这个问题:

gcloud projects get-iam-policy <YOUR GCLOUD PROJECT>  \
--flatten="bindings[].members" \
--format='table(bindings.role)' \
--filter="bindings.members:<YOUR SERVICE ACCOUNT>"
Run Code Online (Sandbox Code Playgroud)

给出了不错的输出:

ROLE
roles/cloudtrace.agent
roles/servicemanagement.serviceController
roles/viewer
Run Code Online (Sandbox Code Playgroud)

格式参数当然可以调整,以满足您的特定需求.

  • 超级有帮助!我修改了它以列出具有特定角色的服务帐户:`gcloud projects get-iam-policy $ PROJECT --flatten =“ bindings []。members” --format =“ table(bindings.members)” --filter =“ bindings.role:$ ROLE“` (3认同)

Gal*_*one 19

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

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

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

为了获得包含成员及其相应角色的项目的IAM策略,您可以运行以下命令:

gcloud projects get-iam-policy PROJECT_ID
Run Code Online (Sandbox Code Playgroud)

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

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

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


Cir*_*rcy 10

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

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:456@cloudservices.gserviceaccount.com" | egrep "role:|resource:|gserviceaccount"
Run Code Online (Sandbox Code Playgroud)

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

更多详细信息:如何在 Google 云平台 (GCP) 中跨服务 (API)、资源类型和项目列出、查找或搜索 iam 策略?


小智 5

要在控制台中查看每个服务帐户的角色:

  1. 复制您的服务帐户的电子邮件(从 IAM 和管理 -> 服务帐户 - 详细信息);
  2. 转至:IAM 和管理 -> 策略分析器 -> 自定义查询;
  3. 将参数 1 设置为主体。将电子邮件粘贴到“主体”字段中;
  4. 单击“继续”,然后单击“运行查询”。

您将获得给定服务帐户的角色列表。