You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP跨项目权限配置:K8s+Cloud Run访问跨项目BigQuery

各账号权限配置方案

1. Kubernetes服务账号(KSA,project-1内)

无需额外配置权限,仅需确保工作负载身份绑定关系正确:已在IAM中将roles/iam.workloadIdentityUser角色授予对应的IAM服务账号,成员设置为serviceAccount:project-1.svc.id.goog[<KSA所在命名空间>/<KSA名称>]。当前流程已能触发Cloud Run,说明该绑定已生效。

2. 与KSA绑定的IAM服务账号(project-1内)

需在project-1的IAM中为该账号添加:

  • roles/run.invoker:授予调用project-1内Cloud Run Gen2函数的权限,确保Pod内应用可成功触发函数。

3. Cloud Run函数服务账号(project-1内)

需在project-2的IAM中为该账号添加:

  • roles/bigquery.dataViewer:该预定义角色包含查询BigQuery表数据的必要权限,可解决当前的403访问拒绝问题;
  • 若需更精细化权限,可单独授予bigquery.tables.getData(读取表数据)和bigquery.tables.list(查看表元数据)权限,但推荐使用预定义角色以简化配置。

额外注意事项

  • 若project-2的BigQuery数据集启用了权限隔离(未继承项目IAM权限),需直接在数据集或目标表的权限设置中添加该Cloud Run服务账号;
  • IAM权限变更通常需要1-5分钟生效,配置后需等待一段时间再测试;
  • 确认Cloud Run函数使用的服务账号为你配置的目标账号(可在Cloud Run控制台的"修订版本详情"中查看)。

内容的提问来源于stack exchange,提问作者Evil Toad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:20:00