转换详情参考文档

本页介绍了转换详情表的内容,并提供了可在该表上运行的示例查询。

去标识存储中的数据时,您可以配置检查作业,以提供其进行的每项转换的详细信息。敏感数据保护功能会将这些详细信息写入您指定的 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

有关在相应发现结果中检测到的信息类型的详细信息。此字段包含以下属性:

name
内置自定义 infoType 的名称。
version
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_idrecord_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";

后续步骤