BigQuery 多个项目的授权查看

jim*_*mmy 1 google-bigquery

我正在尝试设置以下权限:

  • 所有分析师都可以访问 [项目 X]:[数据集 A],其中包含指向 [项目 Y]:[数据集 B] 的视图。

我遵循了如何在此处设置授权视图的教程https://cloud.google.com/bigquery/docs/share-access-views并向分析师授予了 [Project X] 上的 bigquery.jobUser 权限,并且我共享了数据集[项目 X]:[数据集 A],他们作为查看者。

此设置失败,并显示错误消息:用户无权访问 [项目 Y]:[数据集 B] 中的基础表。如果我将数据集 [Project Y]:[Dataset B] 作为查看器共享,它就可以工作。我认为由于授权视图,这并不是真正必要的。

感谢您澄清这一点。

Mik*_*ant 5

我进行了双重检查,“跨项目”不是问题 - 你应该再试一次 - 也许从头开始

同时,我可以分享我如何处理这个问题 - 我有额外的层,因此不仅用户无权访问基础表,而且您还可以设置这些用户甚至不知道涉及哪些表 - 这是上面的情况提到“简单”设置,其中用户仍然可以访问视图并可以查看基础表

因此,“技巧”是引入另一个数据集 -ProjectX:Dataset0您可以在其中创建如下所示的简单视图 - 让我们命名它ProxyView

SELECT *
FROM [ProjectX:DatasetA.YourInitialView]
Run Code Online (Sandbox Code Playgroud)

现在,
1. 您授予用户对 ProjectX:Dataset0 的查看访问权限
2. 您授权 ProjectX:Dataset0.ProxyView 具有对 ProjectX:DatasetA 的查看访问权限
3. 最后,您授权 ProjectX:DatasetA.YourInitialView 具有对 ProjectY:DatasetB 的查看访问权限

自从引入授权视图以来,我一直在为之工作