Referencia de los detalles de la transformación

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

Cuando anulas la identificación de los datos en el almacenamiento, puedes configurar el trabajo de inspección para que proporcione detalles sobre cada transformación que realiza. Sensitive Data Protection escribe estos detalles en una tabla de BigQuery que especificas. 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

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

container_name

Es 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 Sensitive Data Protection aplicó al hallazgo. Estos son algunos de los valores posibles:

descripción

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

de transición

Es una representación de cadena de RecordCondition para la transformación. Este campo solo se configura 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)
Infotipo

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

name
Nombre del infoType integrado o personalizado.
version
Versión de infoType.

status_details

Detalles sobre el estado de la transformación. Si la transformación no se realizó correctamente, este campo especifica qué causó el error. Este campo contiene las siguientes propiedades:

result_status_type

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

  • STATE_TYPE_UNSPECIFIED: Sensitive Data Protection no pudo determinar el estado de la transformación.
  • INVALID_TRANSFORM: Sensitive Data Protection no pudo transformar el hallazgo.
  • METADATA_UNRETRIEVABLE: Hay un hallazgo en los metadatos personalizados de un archivo. Mientras se escribía el archivo transformado, Sensitive Data Protection 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
Es 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 Sensitive Data Protection transformó. 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 JSON de una ubicación de transformación, en la que Sensitive Data Protection realizó una transformación de infoType:

{
    "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 Sensitive Data Protection realizó una transformación de registro:

{
    "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 muestran los ejemplos, Sensitive Data Protection propaga finding_id o record_transformation, según el tipo de transformación que realizó. Los dos campos son mutuamente excluyentes.

finding_id
Este campo se establece si Sensitive Data Protection realizó una transformación de tipo de información. Cada ID de hallazgo se correlaciona con una entrada en la tabla de resultados de hallazgos. La tabla de resultados de los hallazgos contiene todos los hallazgos que Sensitive Data Protection detectó durante la inspección. Esta tabla solo se crea si configuraste tu trabajo de inspección para guardar los resultados en BigQuery.
record_transformation

Este campo se establece si Sensitive Data Protection realizó una transformación de registro en datos tabulares. Este campo contiene las siguientes propiedades:

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

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

  • TRANSFORM_UNKNOWN_CONTAINER: Sensitive Data Protection no pudo determinar el tipo de datos que contiene el hallazgo.
  • TRANSFORM_BODY: Sensitive Data Protection detectó el hallazgo en el cuerpo de un archivo.
  • TRANSFORM_METADATA: Sensitive Data Protection detectó el hallazgo en los metadatos de un archivo.
  • TRANSFORM_TABLE: Sensitive Data Protection detectó el resultado en la tabla.

Consultas de ejemplo

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

Seleccionar todas las transformaciones que fallaron

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: 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.

Cuenta la cantidad de archivos que tienen fallas 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 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?