如何查找包含BigQuery指定权限的IAM角色以分配给主体
BigQuery Admin Resource Charts访问权限报错解决
报错信息
访问BigQuery监控仪表盘时触发权限报错:Permission denied. Please get bigquery.jobs.listExecutionMetadata or bigquery.jobs.listAll permission at organisation level to access Admin Resource Charts.
查询包含指定权限的IAM角色的方法
方法1:通过gcloud命令行查询
执行以下命令可以直接列出所有包含对应权限的IAM角色,支持查询预定义角色和组织自定义角色:
- 查询包含
bigquery.jobs.listAll的角色:gcloud iam roles list --filter="permissions:bigquery.jobs.listAll" --format="value(name, title)" --organization=你的组织ID - 查询包含
bigquery.jobs.listExecutionMetadata的角色:gcloud iam roles list --filter="permissions:bigquery.jobs.listExecutionMetadata" --format="value(name, title)" --organization=你的组织ID
如果不加--organization参数,默认只会返回系统预定义角色。
方法2:通过云控制台查询
进入IAM角色管理页面,在筛选栏的「权限」筛选框中分别输入上述两个权限名称,页面会自动过滤出所有包含该权限的预定义角色、组织自定义角色。
常用可直接使用的预定义角色
以下默认预定义角色同时包含所需的两个权限,可直接在组织层级绑定给对应主体:
roles/bigquery.admin(BigQuery管理员)roles/bigquery.resourceAdmin(BigQuery资源管理员)roles/owner(组织/项目所有者,默认拥有所有权限)
绑定注意事项
- 报错明确要求权限作用域为组织层级,仅在项目层级绑定对应角色无法解决问题,需要进入组织节点的IAM管理页完成角色绑定。
- 遵循最小权限原则的场景下,也可以新建组织级自定义角色,仅添加
bigquery.jobs.listExecutionMetadata、bigquery.jobs.listAll两个权限后绑定,无需授予宽泛的管理员权限。
内容的提问来源于stack exchange,提问作者Dinesh
相关产品推荐
相关产品推荐

