使用外部表的授权视图,无需授予对 GCS 的访问权限
Authorized views using external tables without granting access to GCS
我们有 2 个 GCP 项目 project-a
和 project-b
。我们希望使用授权视图向第二个项目中的用户授予对第一个项目中某些外部表的访问权限。
这是我们目前所做的:
- 在
project-a
(私有数据集)中创建几个 BigQuery 表作为来自 GCS parquet 文件的外部表
- 在项目
project-b
中创建数据集(public 数据集),我们在项目 project-a
的外部表上创建了授权视图
但是,如果我们授予项目 project-b
中的用户查询 public 视图的权限,他们会收到此错误:
Access Denied: BigQuery BigQuery: Permission denied while globbing file pattern.
我知道这意味着他们还应该对 project-a
的 GCS 存储桶具有读取权限,但我们无法在 GCS 中授予此权限。
有办法实现吗?或者换一种方式?
AFAIK,您必须有权访问外部数据位置才能访问数据(GCS、Google Sheet 或位于外部数据的任何位置)。没有什么技巧
我们有 2 个 GCP 项目 project-a
和 project-b
。我们希望使用授权视图向第二个项目中的用户授予对第一个项目中某些外部表的访问权限。
这是我们目前所做的:
- 在
project-a
(私有数据集)中创建几个 BigQuery 表作为来自 GCS parquet 文件的外部表 - 在项目
project-b
中创建数据集(public 数据集),我们在项目project-a
的外部表上创建了授权视图
但是,如果我们授予项目 project-b
中的用户查询 public 视图的权限,他们会收到此错误:
Access Denied: BigQuery BigQuery: Permission denied while globbing file pattern.
我知道这意味着他们还应该对 project-a
的 GCS 存储桶具有读取权限,但我们无法在 GCS 中授予此权限。
有办法实现吗?或者换一种方式?
AFAIK,您必须有权访问外部数据位置才能访问数据(GCS、Google Sheet 或位于外部数据的任何位置)。没有什么技巧