如何在 Google bigquery 中为多个动态表创建授权视图?

Posted

技术标签:

【中文标题】如何在 Google bigquery 中为多个动态表创建授权视图?【英文标题】:How to create authorized view in Google bigquery for multiple dynamic tables? 【发布时间】:2019-06-11 17:52:07 【问题描述】:

我希望在 GCP 中实现行级安全性,尽管授权视图是一种处理此问题的方法,但我的用例有多个动态创建的表。这里如何实现访问控制,是否需要为每个表创建一个单独的视图并保存在不同的数据集中?

【问题讨论】:

不清楚您的用例到底是什么!请给我们更多细节 在我的用例中,我的数据集中有 1000 多个表,这些表是通过工作流动态创建的。我想为应该能够查看与其权限相关的数据或说出某些数据子集的用户实现行级安全性。我该如何实现? 【参考方案1】:

按照procedure of creating authorize views,您可以:

    创建源数据集(动态表所在的位置)。

    为具有相同权限的每一组用户创建一个数据集(用于存储视图),例如一个数据集供开发人员使用,另一个供分析师使用,另一个供测试人员使用,等等。

    为您的用户分配项目级 Cloud IAM 角色(以便他们能够创建 BigQuery 查询作业)。

    为每个用户分配对数据集的访问控制,该数据集将包含视图并对应于他们的组(从步骤 2 开始)。

    动态创建表格。

    为每个数据集动态创建一个视图(从第 2 步开始),查询该组应该有权访问的信息(请注意,您不能预先创建视图,因为引用表应该存在)。

    动态授权视图。

对于第 3 步和第 4 步,或者,您可以将您的用户分配给 Google Groups(每个组将有一个数据集)。

还要注意these limits。

【讨论】:

以上是关于如何在 Google bigquery 中为多个动态表创建授权视图?的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中为 Google BigQuery 使用 IN 运算符

Google BigQuery,在准备好的语句中为空值引发异常

如何从 BigQuery 下拉列表中绘制多个日期到 Google Data Studio

如何在Google BigQuery Composer和Cloud Shell中提交多个查询

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

BigQuery 提取昨天的数据,其中日期在表名中为 filename20181203