如何获取BigQuery服务账号凭证?非管理员用户权限配置咨询
解决方案:获取服务账号凭证所需的最小IAM权限
要让USER B能获取服务账号凭证(用于Python访问BigQuery),BigQuery相关角色(BigQuery User、BigQuery Data Viewer)并不涵盖服务账号密钥的管理权限,你需要配置以下权限/角色:
- 核心权限需求:要生成或下载服务账号的密钥凭证,需要拥有针对目标服务账号的
iam.serviceAccountKeys.create权限(创建新密钥)或iam.serviceAccountKeys.get权限(获取已有密钥)。 - 推荐的最小角色:直接给USER B赋予特定服务账号的
Service Account Key Admin(roles/iam.serviceAccountKeyAdmin)角色,而非项目级的管理员/编辑角色。这种配置方式权限更收敛,仅允许USER B管理指定服务账号的密钥,不会过度授权。
操作要点
- 进入Google Cloud控制台的IAM与管理 > 服务账号页面
- 找到你要让USER B操作的目标服务账号,进入其详情页
- 在该服务账号的IAM权限设置中,添加USER B,并分配
Service Account Key Admin角色
验证方法
USER B可以通过gcloud命令测试权限是否生效:
gcloud iam service-accounts keys create key.json --iam-account=目标服务账号邮箱@你的项目ID.iam.gserviceaccount.com
如果能成功生成key.json文件,说明权限配置正确,之后就可以用这个凭证在Python代码中访问BigQuery了。
内容的提问来源于stack exchange,提问作者ben
相关产品推荐
相关产品推荐

