Google Cloud Data Fusion 无法从另一个项目访问数据,即使已授予访问权限
Google Cloud Data Fusion failing to access data from another project, even though the access is granted
我启用了 Cloud Data Fusion API 并在 BigQuery 的项目 A 中创建了一个实例。项目 A 将包含我们的数据仓库,并从 BigQuery 上的其他项目加载和转换数据。当我尝试使用 table B.X 上项目 B 的源 BigQuery 创建管道时,出现错误 无法获取有关 BigQuery table:Access [=21= 的详细信息] B.X。 table B.X 的权限 bigquery.tables.get 被拒绝(或者它可能不存在)。
我已授予对项目 B 中与数据融合实例(红色框)相关的服务帐户的访问权限,如下所示
BigQuery 数据查看器,
BigQuery 元数据查看器,
BigQuery 读取会话用户,
大查询用户,
浏览器,
存储对象查看器,
查看者
我只需要项目 B 的查看权限来读取数据和写入项目 A,所以我不明白为什么 Cloud Data Fusion 管道无法识别项目 B 上的 table X。可能是什么问题?
我终于找到了解决方案,我将它发布在这里,以供那些可能正在为同样的问题而苦苦挣扎的人。我的服务帐户(红色标记框)类似于 cloud-datafusion-management-sa@project- id.iam.gserviceaccount.com
,根据此 link 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 Data Viewer、BigQuery Metadata Viewer、BigQuery Read Session User 、BigQuery 用户、浏览器、存储对象查看器、查看器。
所以现在我可以访问项目 B 的表了。
我启用了 Cloud Data Fusion API 并在 BigQuery 的项目 A 中创建了一个实例。项目 A 将包含我们的数据仓库,并从 BigQuery 上的其他项目加载和转换数据。当我尝试使用 table B.X 上项目 B 的源 BigQuery 创建管道时,出现错误 无法获取有关 BigQuery table:Access [=21= 的详细信息] B.X。 table B.X 的权限 bigquery.tables.get 被拒绝(或者它可能不存在)。
我已授予对项目 B 中与数据融合实例(红色框)相关的服务帐户的访问权限,如下所示
BigQuery 数据查看器,
BigQuery 元数据查看器,
BigQuery 读取会话用户,
大查询用户,
浏览器,
存储对象查看器,
查看者
我只需要项目 B 的查看权限来读取数据和写入项目 A,所以我不明白为什么 Cloud Data Fusion 管道无法识别项目 B 上的 table X。可能是什么问题?
我终于找到了解决方案,我将它发布在这里,以供那些可能正在为同样的问题而苦苦挣扎的人。我的服务帐户(红色标记框)类似于 cloud-datafusion-management-sa@project- id.iam.gserviceaccount.com
,根据此 link 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 Data Viewer、BigQuery Metadata Viewer、BigQuery Read Session User 、BigQuery 用户、浏览器、存储对象查看器、查看器。
所以现在我可以访问项目 B 的表了。