如何在 google 云平台 (GCP) 中跨服务 (API)、资源类型和项目列出、查找或搜索 iam 策略?

How to list, find, or search iam policies across services (APIs), resource types, and projects in google cloud platform (GCP)?

在Google云平台(GCP)中,您只能通过调用getIamPolicy(gcloud中的get-iam-policy)获取特定资源的IAM策略。

是否可以跨资源、服务或项目列出、搜索、列出、搜索或查找 IAM 策略?

需要回答以下问题:

您可以使用 search-all-iam-policies 跨服务、资源类型、项目、文件夹或组织中的项目搜索所有 IAM 策略。

要浏览编号为 123 的项目中的策略(请注意,仅支持 listed resource types 的策略):

gcloud asset search-all-iam-policies --scope=projects/123

谁在我的组织中拥有所有者角色?

gcloud asset search-all-iam-policies --scope=organizations/456 --query="policy:roles/owner"

谁可以更改我组织中的项目 IAM 策略?

--query='policy.role.permissions:resourcemanager.projects.setIamPolicy'

账户有哪些角色?

--query="policy:123-compute@developer.gserviceaccount.com"

哪些资源是公开共享的?

--query="policy:(allUsers OR allAuthenticatedUsers)"

策略中是否有删除的帐户?

--query="policy:deleted"

amy@bar.com 是否出现在任何政策中?

--query="policy:amy@bar.com"

amy@bar.com 是否拥有所有者角色?

--query="policy:(roles/owner amy@bar.com)"

如何找到给定资源类型(例如项目)的所有 IAM 策略?

--query="policy:roles/owner resource://cloudresourcemanager.googleapis.com/projects"

是否有具有所有者角色的 gmail 帐户?

`--query="policy:(roles/owner *gmail*)"

您可以将范围更改为文件夹或项目。

要使用该命令,您必须:

  • 启用Cloud Asset API,并且

  • 对范围具有 cloudasset.assets.searchAllIamPolicies 权限,包括在这些角色中:

    • roles/cloudasset.观众
    • roles/cloudasset.所有者
    • roles/viewer
    • roles/editor
    • roles/owner

文档: