当前位置: 首页 > 知识库问答 >
问题:

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

钮承恩
2023-03-14

在Google Cloud Platform(GCP)中,您只能通过调用getIamPolicy(在GCCloud中获取IAM策略)来获取特定资源的IAM策略。

是否有方法列出、搜索、列出、搜索或查找跨资源、服务或项目的IAM策略?

这是回答以下问题所必需的:

  • 服务号有什么角色?
  • 哪些资源是公开共享的?
  • 策略是否包含已删除的用户?
  • 用户离开我的公司后,是否仍然出现在任何策略中?
  • 用户是否具有给定角色?

共有1个答案

归浩博
2023-03-14

可以使用search ch-all-iam策略跨服务、资源类型、项目、文件夹或组织中的项目搜索所有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*)"

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

要使用该命令,您必须:

>

  • 启用云资产API,以及

    拥有cloudasset。资产SearchAlleAmpolicies权限范围,包括在以下角色中:

    • 角色/云资产。观众
    • 角色/云资产。所有者
    • 角色/观众
    • 角色/编辑
    • 角色/所有者

    文档:

    • 更多示例:https://cloud.google.com/asset-inventory/docs/searching-iam-policies-samples
    • 指南:https://cloud.google.com/asset-inventory/docs/searching-iam-policies
    • API参考:https://cloud.google.com/asset-inventory/docs/reference/rest/v1p1beta1/iamPolicies/searchAll
    • 可搜索资源类型:https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types

  •  类似资料:
    • null 我的用户应该能够创建只有计算迫害管理和计算网络管理角色的项目吗?

    • 有没有可能重新命名一个谷歌云平台项目?如果是,怎么做? 我不需要更改项目ID或编号。但我确实想更改项目名称(人类用来标识云平台项目的名称)。 谢谢你的提示!

    • 我将为同一个客户端主持多个应用程序。我的想法是每个应用程序的项目,这是一个好主意吗? 还是把所有应用程序分在前端和后端这样的两个项目中更好?

    • 如何为默认的Google App Engine(GAE)服务帐户赋予其他角色: 具体地说,我希望将“Cloud SQL Client”角色赋予默认的app engine服务帐户。当我试图修改角色时,我得到以下消息:

    • 上面写着“Google Cloud Messaging(GCM)是一个免费服务”,但是为了使它能够运行,我需要在Google Cloud平台中创建一个项目,这需要花钱…那怎么免费呢?还是我错过了什么?

    • 如何在谷歌云平台上连接mlab?我正在犯错误。 servlet java.lang.NoClassDefFoundError的未捕获异常:java.lang.Management.ManagementFactory是一个受限类。更多细节请参见Google App Engine开发人员指南。在com.google.apphosting.runtime.security.shared.stub.jav