通过使用 Cloud Data Loss Prevention 检查 BigQuery 数据来创建数据目录列标签

问题描述

我想使用 DLP 在 BigQuery 中检查我的表,然后将结果写入表列上的策略标记。例如,我有一个(测试)表,其中包含个人的电子邮件地址和电话号码等数据。我可以使用 DLP 来查找这些字段并将它们标识为电子邮件和电话号码,我可以在控制台中或通过 API 执行此操作(我使用的是 NodeJS)。创建此检查作业时,我知道我可以将其配置为自动将结果写入数据目录,但这会在 生成一个标记,而不是在列上。我想用已识别的特定 PII 类型标记列。

我发现 this 教程似乎完全可以实现这一点 - 但教程是一个强有力的词;它是一个用 Java 编写的脚本以及对该脚本功能的基本解释,唯一的实际指令是克隆 git repo 并运行一些命令。没有关于正在进行哪些 API 调用的信息,代码中没有很多注释,也没有指向相关文档的链接。我对 Java 的经验为零,因此我无法计算出该过程并将其转换为 NodeJS 以用于我自己的目的。

我还发现了 this 类似的教程,它也使用了 Dataflow,并且说明同样只是“克隆这个 repo,运行这个脚本”。我包含了该链接,因为它的屏幕截图显示了我想要实现的目标:tagging columns with PII data found by DLP

所以,我想做的事情似乎是可能的,但我在任何地方都找不到有用的文档。我已经阅读了 DLP 和数据目录文档,以及 NodeJS 的 API 参考。如果有人能帮我弄清楚如何做到这一点,我将不胜感激。

更新:我取得了一些进展并因此改变了我的方法

DLP 提供了两种检查数据的方法dlp.inspectContent()dlp.createDlpJob()。后者需要一个 storageItem,它可以是 BigQuery 表,但它不返回有关结果中列的任何信息,所以我不相信我可以使用它。

inspectContent() 不能在 BigQuery 表上运行;它可以检查 structured text,这是我上面链接的 Java 脚本所使用的;该脚本正在查询 BigQuery 表,并根据结果构造一个 Table,然后将该表传递给 inspectContent(),然后返回一个包含字段名称Findings 对象。我想做到这一点,但在 NodeJS 中。我正在努力将 BigQuery 结果转换为表的格式,因为 NodeJS 似乎没有该类型的构造函数,就像 Java 那样。

解决方法

我找不到实现列级标签的 node.js 文档。

但是,您可能会发现 Policy Tags official documentation 有助于为您指明正确的方向。具体来说,您可以lack some roles 来管理列级标签。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...