首页 > 解决方案 > Google Cloud Data Fusion 无法访问来自其他项目的数据,即使已授予访问权限

问题描述

我已启用 Cloud Data Fusion API 并在 BigQuery 的项目 A 中创建了一个实例。项目 A 将包含我们的数据仓库,并从 BigQuery 上的其他项目加载和转换数据。当我尝试在表 BX 上使用来自项目 B 的源 BigQuery 创建管道时,我收到错误无法获取有关 BigQuery 表的详细信息:访问被拒绝:表 BX 权限 bigquery.tables.get 在表 BX 上被拒绝(或者它可能不会存在)。我已授予对项目 B 中与数据融合实例(红色框)相关的服务帐户的访问权限,即 BigQuery 数据查看器、BigQuery 元数据查看器、BigQuery 读取会话用户、BigQuery 用户、浏览器、存储对象查看器、查看器 在此处输入图像描述

我只需要对项目 B 的查看访问权限即可在项目 A 上读取数据和写入数据,所以我不明白为什么 Cloud Data Fusion 管道无法识别项目 B 上的表 X。可能是什么问题?

标签: google-cloud-platformgoogle-bigqueryaccess-controlgoogle-cloud-data-fusion

解决方案


我终于找到了解决方案,我将其发布在这里,以供可能遇到相同问题的人使用。我的服务帐户(红色标记框)类似于cloud-datafusion-management-sa@project- id.iam.gserviceaccount.com此链接https://cloud.google.com/data-fusion/docs/concepts/service-accounts#service_account_table,它已被弃用。那么我们如何修复它,是通过检查项目 A 中的项目编号(假设它是 1234566)并将作为BigQuery 数据查看器、BigQuery 元数据查看器、BigQuery 读取会话用户、BigQuery 用户、浏览器、存储对象查看器service-1234566@gcp-sa- datafusion.iam.gserviceaccount.com添加到项目 B ,查看器。所以现在我可以访问项目 B 的表了。


推荐阅读