GCP资源组内Virtual Machines访问BigQuery的权限配置问题咨询
GCP VM访问BigQuery权限配置问题解答
1. 资源组下多台VM访问BigQuery的权限配置要求
GCP中VM访问平台托管服务默认通过其关联的服务账号(Service Account)完成鉴权,你需要在IAM策略中给VM关联的服务账号授予BigQuery对应访问权限,常用预定义角色可按需选择:
- 仅需查询BigQuery数据:授予
roles/bigquery.dataViewer(数据查看权限) +roles/bigquery.jobUser(任务提交权限) - 需写入/编辑BigQuery数据:额外追加
roles/bigquery.dataEditor(数据编辑权限) - 全量管理BigQuery资源:可授予
roles/bigquery.admin(不建议非必要场景使用该高权限角色)
2. 批量VM的授权方案
完全不需要逐台配置权限,GCP IAM体系原生支持批量授权,常用方案如下:
- 统一服务账号方案:给资源组内所有100台VM挂载同一个自定义服务账号,只需给该服务账号绑定第一步提到的BigQuery相关权限,所有使用该服务账号启动的VM都会自动继承对应访问权限
- 资源层级绑定方案:如果所有VM都归属同一个项目/文件夹层级,可直接在该资源层级给Compute Engine默认服务账号(格式为
[项目ID]-compute@developer.gserviceaccount.com)绑定BigQuery权限,该资源范围内所有使用默认服务账号的VM无需额外配置即可访问BigQuery - 权限模板方案:如果需要跨多个资源范围统一管控权限,可把所需的BigQuery权限封装为自定义IAM权限模板,在组织/文件夹层级关联到VM所属的资源范围,后续新增同组VM也会自动获取权限,无需重复配置
内容的提问来源于stack exchange,提问作者Randy Shu
相关产品推荐
相关产品推荐

