我正在尝试设置以下权限:
我按照教程如何在https://cloud.google.com/bigquery/docs/share-access-views设置了授权视图,并在[Project X]上给了分析师权限bigquery.jobUser,我和他们共享了数据集[Project X]:[Dataset A]作为观众。
此设置失败,并显示错误消息,指出用户无法访问[Project Y]中的基础表:[数据集B]。如果我共享数据集[Project Y]:[Dataset B]作为查看器,它可以工作。由于授权视图,我认为这不是必要的。
感谢您澄清这一点。
答案 0 :(得分:4)
我有双重检查和"交叉项目"不是问题 - 你应该再试一次 - 也许是从头开始
同时,我可以分享我如何处理这个 - 我有额外的层,所以不仅用户不能访问基础表,但你也可以设置这些用户甚至不知道涉及哪些表 - 这是一个上述情况"简单"设置用户仍然可以访问View并可以查看基础表的位置
所以,"技巧"是要引入另一个数据集 - ProjectX:Dataset0
,您可以在其中创建如下所示的简单视图 - 让它命名为ProxyView
SELECT *
FROM [ProjectX:DatasetA.YourInitialView]
现在,
1.您为用户提供对ProjectX的访问权限:数据集0
2.您授权ProjectX:Dataset0.ProxyView with View访问ProjectX:DatasetA
3.最后你授权ProjectX:DatasetA.YourInitialView with View访问ProjectY:DatasetB
对我有用
答案 1 :(得分:0)
您需要做的是转到旧的Bigquery UI,单击[Project Y]:[Dataset B]旁边的三角形按钮,然后选择共享数据集。添加具有授权视图的共享,在对话框中选择[Project X]:[Dataset A]。[View 1],然后添加并保存共享设置。
这将允许[Project X]:[Dataset A]。[View 1]访问[Project Y]:[Dataset B]中的下划线数据。如果在[Project X]:[Dataset A]中有很多视图,添加所有视图将是一个痛苦的过程。