BigQuery 数据连接器:如何按字段值限制可访问数据

Posted

技术标签:

【中文标题】BigQuery 数据连接器:如何按字段值限制可访问数据【英文标题】:BigQuery Data Connectors: How to limit the accessible data by field value 【发布时间】:2017-03-27 11:48:44 【问题描述】:

我有一个大型 BigQuery 表,其中存储了多个不同的客户分析数据。客户希望将表连接到与 Google 合作的data visualization tools 之一。我担心的是客户数据混合的可能性。是否有可靠的方法确保提供给每个客户的数据被过滤为只包含他们自己的数据?

客户数据都有一个关联的 account_id。我可以使用此字段进行过滤吗?如果过滤的答案是否定的,那么最好的方法是将大型 BigQuery 表过滤为每个客户端的较小表吗?

【问题讨论】:

看看这里:***.com/questions/29683423/… 注意,标准SQL的相关函数是SESSION_USER(),然而。 【参考方案1】:

您可以创建一个按特定 account_id 过滤数据的视图,并与您的客户共享视图。客户将只能通过此视图查询您的数据,并且无法绕过 account_id 上的过滤器。 https://cloud.google.com/bigquery/docs/views 特别注意“创建授权视图”部分。 还要注意,即使客户只访问他们的数据,他们仍然需要为扫描整个表格付费。 这个问题可以通过几种方式解决: 1. 运行查询,读取特定客户的数据并将其写入客户的数据集。不幸的是,我们还没有提供方便的调度机制来定期运行这样的查询。 2. 通常写你的数据,以便每个客户去一个单独的表。 请注意,授权视图是目前最可行的方法。选项 1 应该很快就会成为 BigQuery 数据传输服务的数据源之一。

【讨论】:

以上是关于BigQuery 数据连接器:如何按字段值限制可访问数据的主要内容,如果未能解决你的问题,请参考以下文章

用于读取记录数组的 BigQuery Java API:“不支持按名称检索字段值”异常

如何在 bigquery 中使用 rowid 按日期获取数据集的第一个值,并将给定日期的所有其他值设为 0

按最近日期加入 BigQuery 中具有重复记录的表

在 Google 表格中使用 BigQuery,如何授予其他用户按“刷新”的权限?

如何使用 Google Analytics 数据在 Bigquery 中获取可用的日期时间字段

Google BigQuery Spark 连接器:如何在追加时忽略未知值