Referencia de los detalles de la transformación

En esta página, se describe el contenido de una tabla de detalles de la transformación y se proporcionan consultas de ejemplo que puedes ejecutar en ella.

Cuando desidentificas los datos en el almacenamiento, puedes configurar el trabajo de inspección para proporcionar detalles sobre cada transformación que realiza. La protección de datos sensibles escribe estos detalles en la tabla de BigQuery que especifiques. En este documento, esa tabla se denomina tabla de detalles de transformación.

Contenido de una tabla de detalles de la transformación

En esta sección, se enumera y describe el contenido de la tabla de detalles de la transformación.

resource_name

El nombre del trabajo de inspección que completó la transformación.

container_name

El archivo que contiene los datos que se transformaron.

transformación

Detalles sobre la transformación Este campo contiene las siguientes propiedades:

tipo

El método de transformación que la protección de datos sensibles aplicó al resultado. Estos son algunos de los valores posibles:

description

Una representación de cadena de la transformación. El valor es el resultado de una llamada a toString() en el mensaje de búfer de protocolo PrimitiveTransformation para todos los tipos de transformaciones, excepto una RecordSuppression. Si el método de transformación es una supresión de registro, este campo estará vacío.

condición

Una representación de cadena de RecordCondition para la transformación. Este campo solo se establece si se usó una condición de registro para determinar si la protección de datos sensibles debe aplicar la transformación. Ejemplos:

  • (age_field <= 18)
  • (zip_field exists)
  • (zip_field == 01234) && (age_field <= 18) && (city_field exists)
infoType

Detalles sobre el tipo de información detectada en el hallazgo. Este campo contiene las siguientes propiedades:

name
Es el nombre del infoType integrado o personalizado.
version
Es la versión de infoType.

status_details

Detalles sobre el estado de la transformación. Si la transformación no tuvo éxito, este campo especifica la causa de la falla. Este campo contiene las siguientes propiedades:

result_status_type

Es un código que representa el estado del intento de transformación. Estos son los valores posibles:

  • STATE_TYPE_UNSPECIFIED: La protección de datos sensibles no pudo determinar el estado de la transformación.
  • INVALID_TRANSFORM: La protección de datos sensibles no pudo transformar el resultado.
  • METADATA_UNRETRIEVABLE: Hay un resultado en los metadatos personalizados de un archivo. Mientras escribía el archivo transformado, la protección de datos sensibles no pudo recuperar los metadatos.
  • SUCCESS: La transformación se realizó correctamente.
detalles

Detalles adicionales del estado. Este campo sigue las especificaciones definidas en Status. Este campo contiene las siguientes propiedades:

código
El código de error.
mensaje,
El mensaje de error.
detalles
Una lista de mensajes que contienen los detalles del error.

transformed_bytes

Es la cantidad de bytes que transformó la protección de datos sensibles. Si la transformación no se realizó correctamente o si no había contenido para transformar, el valor es 0.

transformation_location

Detalles sobre la ubicación de la transformación.

El siguiente es un ejemplo de JSON de una ubicación de transformación, en la que la protección de datos sensibles realizó una transformación de Infotipo:

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

El siguiente es un ejemplo de JSON de una ubicación de transformación, en la que la protección de datos sensibles realizó una transformación de registros:

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

Como se muestra en los ejemplos, la protección de datos sensibles propaga finding_id o record_transformation, según el tipo de transformación que se haya realizado. Los dos campos son mutuamente excluyentes.

finding_id
Este campo se establece si la protección de datos sensibles realizó una transformación de Infotipo. Cada ID de hallazgo se correlaciona con una entrada en la tabla de resultados de resultados. La tabla de resultados de los resultados contiene todos los resultados que la protección de datos sensibles detectó durante la inspección. Esta tabla solo se crea si configuraste el trabajo de inspección para guardar los resultados en BigQuery.
record_transformation

Este campo se establece si la protección de datos sensibles realizó una transformación de registros en datos tabulares. Este campo contiene las siguientes propiedades:

field_id
La columna de la tabla que contiene el resultado.
container_timestamp
Es la marca de tiempo de modificación del archivo.
container_version
Número de generación del archivo que contiene el resultado.
container_type

Información sobre la funcionalidad de los datos que contienen el hallazgo. Los siguientes son los valores posibles:

  • TRANSFORM_UNKNOWN_CONTAINER: La protección de datos sensibles no pudo determinar el tipo de datos que contiene el resultado.
  • TRANSFORM_BODY: La protección de datos sensibles detectó el resultado en el cuerpo de un archivo.
  • TRANSFORM_METADATA: La protección de datos sensibles detectó el resultado en los metadatos de un archivo.
  • TRANSFORM_TABLE: La protección de datos sensibles detectó el resultado en la tabla.

Consultas de ejemplo

Los siguientes son ejemplos de consultas que puedes ejecutar en la tabla de detalles de la transformación. Para obtener información sobre cómo consultar una tabla de BigQuery, lee Ejecuta consultas interactivas.

Seleccionar todas las transformaciones con errores

SELECT *
    FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
    WHERE status_details.result_status_type != "SUCCESS";

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto que contiene la tabla de detalles de la transformación.
  • DATASET_ID: Es el ID del conjunto de datos de BigQuery que contiene la tabla de detalles de la transformación.
  • TABLE_ID: El ID de la tabla de detalles de la transformación.

Contar la cantidad de archivos que tienen errores de transformación

SELECT COUNT(DISTINCT(container_name))
    FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
    WHERE status_details.result_status_type != "SUCCESS";

Selecciona todas las transformaciones que usaron el enmascaramiento de caracteres

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

¿Qué sigue?