如何在Google Cloud中列出组已获访问权限的所有资源?
快速列出Google Cloud中指定组有权限的所有资源
不用逐个遍历项目,推荐以下几种高效方法:
方法一:使用Cloud Asset Inventory命令行工具
Cloud Asset Inventory提供跨资源层级(项目、文件夹、组织)的IAM策略搜索能力,直接基于GCP的资产索引查询,速度远快于逐个项目遍历。
执行以下gcloud命令,替换your-group@example.com为目标组的邮箱:
gcloud asset search-all-iam-policies --query="policy:bindings.members:group:your-group@example.com" --format="table(resource, bindings.role)"
--query参数精准定位包含目标组的IAM绑定--format指定输出格式,默认显示资源路径和对应角色,也可按需调整为JSON等格式
方法二:使用IAM Access Analyzer
IAM Access Analyzer可分析指定主体(目标组)能访问的所有资源,支持跨层级检索:
执行命令:
gcloud access-analyzer analyze-access --principal=group:your-group@example.com --format="table(resource, permission)"
该命令会返回组拥有的具体权限及对应资源,适合需要细粒度权限信息的场景。
方法三:控制台可视化操作
如果偏好图形界面,可直接通过Google Cloud控制台操作:
- 打开Cloud Asset Inventory控制台,进入「搜索IAM策略」页面
- 在搜索框输入
policy.bindings.members:group:your-group@example.com,执行搜索后即可查看所有关联资源 - 或者打开IAM Access Analyzer控制台,选择「分析主体的访问权限」,输入目标组邮箱,即可查看所有可访问资源列表
权限要求
使用上述方法前,确保你的账号拥有以下至少一种角色:
roles/cloudasset.viewer(Cloud Asset Inventory访问权限)roles/accessanalyzer.viewer(IAM Access Analyzer访问权限)
内容的提问来源于stack exchange,提问作者user1074593
相关产品推荐
相关产品推荐

