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

跨项目用Vertex AI Notebook访问BigQuery表遇403权限问题求助

解决方案:跨项目Vertex AI访问BigQuery表权限问题

问题根源

%%bigquery魔法命令默认使用Vertex AI Notebook关联的项目默认服务账号(而非你代码中手动初始化的bigquery.Client),这就是你加载了目标项目凭证但仍触发403错误的核心原因。


方案1:直接使用自定义Client执行查询

绕过魔法命令,用你已初始化的带凭证的client执行查询,确保权限匹配:

query = """
SELECT * FROM `cloud-billing-XXXX.all_billing_detailed.gcp_billing_export` LIMIT 100
"""
# 用自定义client执行查询
query_job = client.query(query)
# 转换为DataFrame
result_df = query_job.to_dataframe()
display(result_df.head())

方案2:让%%bigquery魔法命令使用自定义Client

%%bigquery支持通过--client参数指定你初始化的client,修改魔法命令即可:

%%bigquery --client client
SELECT * FROM `cloud-billing-XXXX.all_billing_detailed.gcp_billing_export` LIMIT 100

方案3:给Notebook默认服务账号授予跨项目权限

若想继续使用默认魔法命令,需给Notebook所在项目的默认服务账号(格式:[Notebook项目编号]-compute@developer.gserviceaccount.com)授予目标BigQuery资源的权限:

  1. 登录目标数据项目(cloud-billing-XXXX)的BigQuery控制台
  2. 找到目标表all_billing_detailed.gcp_billing_export,进入「权限」设置页
  3. 添加Notebook项目的默认服务账号,至少授予:
    • BigQuery Data Viewer:允许读取表数据
    • BigQuery Job User:允许提交查询作业
  4. 等待1-2分钟让权限生效后重试查询

补充:数据项目服务账号创建Notebook无法打开的解决

若想用目标项目服务账号创建Notebook,需在Notebook所在项目给该服务账号授予以下权限:

  • Vertex AI User:允许创建和管理Vertex AI资源
  • Compute Instance Admin (v1):允许管理Compute Engine实例(Notebook依赖Compute资源)

内容的提问来源于stack exchange,提问作者Serge de Gosson de Varennes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 10:57:21