3

BigQuery 路线图中是否有任何功能支持动态数据屏蔽?例如,根据用户的角色显示屏蔽数据。我已经探索了 DLP,它有助于在 BigQuery 中存储屏蔽数据,但使用这种方法,必须创建同一个表的两个版本,屏蔽和未屏蔽。请参考以下链接作为示例,以获取我询问的其他上下文。(示例链接

4

4 回答 4

3

正如 Guillaume 所指出的,目前正确的解决方法是使用 BigQuery列级安全性来控制对特定表列的访问。

至于返回但屏蔽列数据的特定数据屏蔽功能,这确实在 BigQuery 路线图上,预计将作为 BigQuery 列级安全性的一部分发布。但是,该版本还没有任何预计到达时间。

您可以参考 Google 的 BigQuery发行说明,以了解最新的 BigQuery 更新和功能版本。

于 2020-08-29T02:42:13.370 回答
1

没有完全相同的功能。而且,确实,您必须存储两种形式的数据,屏蔽和未屏蔽。

但是,您有一个名为CLS 的新功能:列级安全性。使用此功能,您可以允许用户查看或不查看某些列。在您的用例中,您只能向用户显示未屏蔽的列

于 2020-08-28T07:37:49.063 回答
1

对于看到此内容的任何人.. 只需使用授权视图.. 如果您需要确定性的内容,您可以散列数据,或者您可以使用字符串/正则表达式函数来屏蔽数据。

于 2021-05-19T18:28:23.773 回答
1

对于那些正在考虑列级安全性(即使用策略标签)的人来说,仅供参考。我在这里冲浪是因为我们目前遇到了一些策略标签的限制。

我们有无法向最终用户公开的列,这emailAddress是一个很好的例子,因此我们在其上设置了一个策略标签来阻止对其进行访问。但是,对于最终用户来说,emailAddress 仍然是一个非常有用的列,可以回答诸如

有多少不同的用户访问了我们的网站?

出于这个原因,我们考虑将视图放在执行此操作的表之上:

select SHA256("some-pepper-value", emailAddress) AS emailAddressHash

这将使最终用户能够使用混淆标识符(并使他们能够将表连接在一起,emailAddressHash这也是能够做的重要事情)。不幸的是,它不起作用,因为 BigQuery 意识到该列emailAddress仍在被引用,因此阻止访问emailAddressHash. 因此,我一直在谷歌搜索“BigQuery 中的动态数据屏蔽”,这让我来到了这里。

于 2021-07-13T17:00:38.960 回答