在 Google Cloud Platform (GCP) 中,您只能通过调用 getIamPolicy(gcloud 中的 get-iam-policy)来获取特定资源的 IAM 策略。
是否可以跨资源、服务或项目列出、搜索、列出、搜索或查找 IAM 策略?
这需要回答以下问题:
- 服务帐号有哪些角色?
- 哪些资源是公开共享的?
- 策略是否包含已删除的用户?
- 用户离开我的公司后是否仍会出现在任何政策中?
- 用户是否具有给定的角色?
在 Google Cloud Platform (GCP) 中,您只能通过调用 getIamPolicy(gcloud 中的 get-iam-policy)来获取特定资源的 IAM 策略。
是否可以跨资源、服务或项目列出、搜索、列出、搜索或查找 IAM 策略?
这需要回答以下问题:
您可以使用 search-all-iam-policies 跨服务、资源类型、项目、文件夹或组织中的项目搜索所有 IAM 策略。
要浏览编号为 123 的项目中的策略(请注意,仅支持列出的资源类型的策略):
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*)"
您可以将范围更改为文件夹或项目。
要使用该命令,您必须:
cloudasset.assets.searchAllIamPolicies
对包含在这些角色中的范围具有权限:
文档: