Google Cloud Data Fusion 无法访问其他项目的数据,即使已授予访问权限

Posted

技术标签:

【中文标题】Google Cloud Data Fusion 无法访问其他项目的数据,即使已授予访问权限【英文标题】:Google Cloud Data Fusion failing to access data from another project, even though the access is granted 【发布时间】:2021-11-26 10:28:10 【问题描述】:

我已启用 Cloud Data Fusion API 并在 BigQuery 的项目 A 中创建了一个实例。项目 A 将包含我们的数据仓库,并从 BigQuery 上的其他项目加载和转换数据。当我尝试在表 B.X 上使用来自项目 B 的源 BigQuery 创建管道时,我收到错误 Unable to get details about the BigQuery table:Access Denied:Table B.X。表 B.X 上的权限 bigquery.tables.get 被拒绝(或者它可能不存在)。 我已授予对项目 B 中与数据融合实例(红色框)相关的服务帐户的访问权限 BigQuery 数据查看器, BigQuery 元数据查看器, BigQuery 读取会话用户, BigQuery 用户, 浏览器, 存储对象查看器, 查看者

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

【问题讨论】:

那个项目A是从项目B访问表吗? 没错,就是这样 【参考方案1】:

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

【讨论】:

以上是关于Google Cloud Data Fusion 无法访问其他项目的数据,即使已授予访问权限的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Data Fusion 连接 Cloud SQL mySql 实例。异常“无法创建套接字工厂 'com.google.cloud.sql.mysql.SocketFactory”

Google Cloud Data Fusion,如何在一个管道中将多个表加载到 bigquery

无法从 Data Fusion 连接 Cloud SQL mySql / postgreSQL 实例

Google Cloud 发起“Data Cloud Alliance”新联盟

无法在 Spring Data Cloud Spanner 中将 java.sql.Timestamp 转换为 com.google.cloud.Timestamp

关于 Google Fusion Table 和 Google Maps 的一些问题