谷歌云:如何列出用户或服务帐户已授予的权限?

8

是否可能通过 gcloud 或 Web UI,获取已授予用户或GCP服务帐户的所有权限列表(特定或传递),最好按资源过滤?

3个回答

8
如果我正确理解了你的问题,你可以在“IAM & admin”控制台中看到它们。在“IAM”选项卡中:
  • 使用“按成员查看”选项,您将能够查看所有成员(用户和服务帐户)及其被授予的角色列表。
  • 在“按角色查看”中,有一个列出所有角色以及具有该角色的所有用户/服务账户的列表(如果已展开)。

如果您想了解更多关于这些角色的信息,在“角色”选项卡中(在“IAM & admin”内),您可以单击它们,然后查看每个角色具有的精确权限。

目前没有像此处所示的列出所有授予权限的gcloud命令,因此我代表您提交了一份公共功能请求。最后,这是gcloud iam命令的文档

如果您想了解更多关于IAM的信息,这是该产品的概述和文档


1
谢谢,我需要的是一个特定用户/服务账户被授予的权限列表。从我所看到的,IAM和管理员页面没有列出传递授权。例如,如果我是group1的成员,我可以看到对group1的授权,但我无法通过我的用户名搜索并查看这些授权。此外,如果我没有在那个项目上获得resourcemanager.projects.getIamPolicy的权限,我也无法查看其他项目中的授权。基本上,我想要像https://cloud.google.com/iam/docs/testing-permissions这样的东西,测试所有可能的权限,如果可能的话,通过gcloud进行。 - Andreas Jansson
2
目前这是不可能的,所以我代表你提交了一个功能请求。你可以在那里关注更新。我修改了我的回答以使其更清晰。 - Iñigo
谢谢!暂时将此标记为答案,如果/当此功能可用时,我会更新。 - Andreas Jansson
没问题!如果你觉得我漏掉了什么或者想要补充什么,请在评论区自由添加。 - Iñigo
有人已经解决了吗?@Iñigo,我也在尝试找出如何列出用户/组/服务帐户的权限以及所有项目的权限? - peacefulmember
谢谢 @Iñigo!您在功能请求中提供的正确修复已经链接,多亏了它,我在下面写了我的答案 - https://dev59.com/va_la4cB1Zd3GeqPqUbM#70034341。 - Greg Dubicki

3

2
您可以使用资产搜索来查找用户在给定范围内(即组织、文件夹或项目)直接授予的各种资源上的所有角色(而非权限)。
这使您可以跨项目和资源进行搜索。但是,您必须在范围内拥有cloudasset.assets.searchAllIamPolicies权限。
以下是一个示例命令:
gcloud asset search-all-iam-policies --scope=organizations/123 --query="policy:foo@bar.com" | egrep "role:|resource:"

文档: https://cloud.google.com/asset-inventory/docs/searching-iam-policies

支持的资源类型: https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types

更多详情: 如何在Google Cloud Platform (GCP)中列出、查找或搜索跨服务(APIs)、资源类型和项目的IAM策略?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接