本页介绍了转换详情表的内容,并提供了可在该表上运行的示例查询。
去标识存储中的数据时,您可以配置检查作业,以提供其进行的每项转换的详细信息。敏感数据保护功能会将这些详细信息写入您指定的 BigQuery 表中。在本文档中,该表称为“转换详情表”。
转换详情表格的内容
本部分列出了转换详情表的内容并对其进行了说明。
资源名称
完成转换的检查作业的名称。
container_name
包含转换后数据的文件。
转换
转换的详细信息。此字段包含以下属性:
- 类型
Sensitive Data Protection 对相应发现应用的转换方法。以下是一些可能的值:
- 说明
转换的字符串表示法。对于所有类型的转换(
RecordSuppression
除外),此值是PrimitiveTransformation
协议缓冲区消息上的toString()
调用的输出。如果转换方法是记录抑制,则此字段为空。- condition
转换的
RecordCondition
的字符串表示法。只有在使用记录条件来确定敏感数据保护功能是否必须应用转换时,才会设置此字段。示例:(age_field <= 18)
(zip_field exists)
(zip_field == 01234) && (age_field <= 18) && (city_field exists)
- infoType
有关在相应发现结果中检测到的信息类型的详细信息。此字段包含以下属性:
status_details
转换状态的详细信息。如果转换失败,此字段会指明失败的原因。此字段包含以下属性:
- result_status_type
表示转换尝试状态的代码。可能的值如下:
STATE_TYPE_UNSPECIFIED
:Sensitive Data Protection 无法确定转换的状态。INVALID_TRANSFORM
:敏感数据保护无法转换该发现。METADATA_UNRETRIEVABLE
:文件的自定义元数据中存在发现。在写入经过转换的文件时,Sensitive Data Protection 无法检索元数据。SUCCESS
:转换成功。
- 详细信息
其他状态详情。此字段遵循
Status
中定义的规范。此字段包含以下属性:- 代码
- 错误代码。
- 消息
- 错误消息。
- 详细信息
- 包含错误详细信息的消息列表。
transformed_bytes
Sensitive Data Protection 转换的字节数。如果转换失败或没有要转换的内容,则值为 0
。
transformation_location
有关转换位置的详细信息。
以下是转换位置的 JSON 示例,其中 Sensitive Data Protection 执行了 infoType 转换:
{
"finding_id": "2022-05-23T23:51:29.775337Z831678185946560283",
"record_transformation": null,
"container_type": "TRANSFORM_BODY"
}
以下是转换位置的 JSON 示例,其中 Sensitive Data Protection 执行了记录转换:
{
"finding_id": null,
"record_transformation": {
"field_id": {
"name": " \"Name\""
},
"container_timestamp": {
"timestamp": null,
"seconds": "1654796423",
"nanos": "763000000"
},
"container_version": "1654796423733485"
},
"container_type": "TRANSFORM_TABLE"
}
}
如示例所示,Sensitive Data Protection 会根据所执行的转换类型填充 finding_id
或 record_transformation
。这两个字段是互斥的。
- finding_id
- 如果 Sensitive Data Protection 执行了信息类型转换,则会设置此字段。每个发现 ID 都与发现结果输出表中的条目相关联。发现结果输出表包含 Sensitive Data Protection 在检查期间检测到的所有发现结果。只有在您将检查作业配置为将发现结果保存到 BigQuery 时,系统才会创建此表。
- record_transformation
如果 Sensitive Data Protection 对表格数据执行了记录转换,则会设置此字段。此字段包含以下属性:
- field_id
- 包含相应发现的表列。
- container_timestamp
- 文件的修改时间戳。
- container_version
- 包含相应发现结果的文件的生成版本号。
- container_type
包含相应发现的数据的功能相关信息。 可能的值如下:
TRANSFORM_UNKNOWN_CONTAINER
:敏感数据保护功能无法确定包含相应发现的数据类型。TRANSFORM_BODY
:敏感数据保护功能在文件正文中检测到相应问题。TRANSFORM_METADATA
:敏感数据保护在文件的元数据中检测到相应问题。TRANSFORM_TABLE
:敏感数据保护在表格中检测到相应问题。
示例查询
以下是您可对转换详情表运行的查询示例。如需了解如何查询 BigQuery 表,请参阅运行交互式查询。
选择所有失败的转换
SELECT *
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
WHERE status_details.result_status_type != "SUCCESS";
替换以下内容:
PROJECT_ID
:包含转换详情表的项目的 ID。DATASET_ID
:包含转换详情表的 BigQuery 数据集的 ID。TABLE_ID
:转换详情表的 ID。
统计转换失败的文件数量
SELECT COUNT(DISTINCT(container_name))
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
WHERE status_details.result_status_type != "SUCCESS";
选择使用字符遮盖的所有转换
SELECT resource_name, container_name, info_type.name
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`,
UNNEST(transformation) AS tr
WHERE tr.type LIKE "CHARACTER_MASK";
后续步骤
- 详细了解存储中数据的去标识化流程。
- 了解如何使用 Google Cloud 控制台对存储中的数据进行去标识化处理。
- 了解如何使用 DLP API 对存储在 Cloud Storage 中的敏感数据进行去标识化。
- 完成 Creating a De-identified Copy of Data in Cloud Storage Codelab。
- 详细了解去标识化转换。