使用DLP从BigQuery中取消识别数据

问题描述

我想用Google DLP取消识别BiqQuery中已经存在的PII数据,并将结果存储在BigQuery的另一个表中。那可能吗 ?以及如何做到这一点?

解决方法

当前的主要建议是使用数据流。

https://github.com/GoogleCloudPlatform/dlp-dataflow-deidentification

,

可以通过API获得DLP中De-Indentifying敏感数据的不同方法,例如,我们可以使用replaceConfig来替换:

我的电子邮件地址是astacko@example.com。

我的电子邮件地址是[电子邮件地址]。

通过使用这样的API请求:

"deidentifyConfig":{
    "infoTypeTransformations":{
      "transformations":[
        {
          "infoTypes":[
            {
              "name":"EMAIL_ADDRESS"
            }
          ],"primitiveTransformation":{
            "replaceConfig":{
              "newValue":{
                "stringValue":"[email-address]"
              }
            }
          }
        }
      ]
    }
  }

因此,对于您的用例,您需要将De-identification API集成到从BigQuery读取的流中,执行De-identification转换并写回到BigQuery。

Cloud DLP in action是有关此问题的Google帖子。它指出了要实现此用例的数据流。请参阅此Reference Architecture,以了解其工作原理,在那里您将找到一些Java classes examples。您可以根据需要对其进行修改,以便将其提取到BigQuery中。

,

作为一种快速的解决方法,我将考虑将具有PII的表移至访问受限的数据集中。然后,在新的数据集中,创建一个不包含敏感列的视图。为用户提供查询访问权限,使其只能访问具有视图的数据集,而不能访问私有数据集。

https://cloud.google.com/bigquery/docs/share-access-views

相关问答

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