问题描述
我想使用 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 来管理列级标签。