转换详情参考文档

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

对存储空间中的数据进行去标识化处理时,您可以配置检查作业,以提供有关其执行的每项转换的详细信息。敏感数据保护会将这些详细信息写入您指定的 BigQuery 表中。在本文档中,该表称为“转换详情表”。

转换详情表的内容

本部分列出并描述了转换详情表的内容。

resource_name

完成转换的检查作业的名称。

container_name

包含转换后的数据的文件。

转换

转换的相关详细信息。此字段包含以下属性:

类型

敏感数据保护应用于发现结果的转换方法。以下是一些可能的值:

说明

转换的字符串表示。该值是对所有类型的转换(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:敏感数据保护无法确定转换的状态。
  • INVALID_TRANSFORM:敏感数据保护无法转换发现结果。
  • METADATA_UNRETRIEVABLE:文件的自定义元数据中有发现结果。在写入转换后的文件时,敏感数据保护无法检索元数据。
  • SUCCESS:转换成功。
明细

其他状态详情。此字段遵循 Status 中定义的规范。此字段包含以下属性:

代码
错误代码。
消息
错误消息。
明细
包含错误详情的消息列表。

transformed_bytes

敏感数据保护转换的字节数。如果转换失败,或者没有要转换的内容,则值为 0

transformation_location

有关转换位置的详细信息。

以下是一个转换位置的 JSON 示例,敏感数据保护在该位置执行了 infoType 转换

{
    "finding_id": "2022-05-23T23:51:29.775337Z831678185946560283",
    "record_transformation": null,
    "container_type": "TRANSFORM_BODY"
}

以下是一个转换位置的 JSON 示例,敏感数据保护在该位置执行了记录转换

{
    "finding_id": null,
    "record_transformation": {
      "field_id": {
        "name": " \"Name\""
      },
      "container_timestamp": {
        "timestamp": null,
        "seconds": "1654796423",
        "nanos": "763000000"
      },
      "container_version": "1654796423733485"
    },
    "container_type": "TRANSFORM_TABLE"
  }
}

如示例所示,敏感数据保护会填充 finding_idrecord_transformation,具体取决于所执行的转换类型。这两个字段是互斥的。

finding_id
如果敏感数据保护执行了 infoType 转换,则系统会设置此字段。每个发现结果 ID 均与发现结果输出表中的一个条目相关联。发现结果输出表包含敏感数据保护在检查期间检测到的所有发现结果。只有当您将检查作业配置为将发现结果保存到 BigQuery 时,系统才会创建此表格。
record_transformation

如果敏感数据保护对表格数据执行了记录转换,则系统会设置此字段。此字段包含以下属性:

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";

后续步骤