Documentation de référence sur les détails de la transformation

Cette page décrit le contenu d'une table de détails des transformations et fournit des exemples de requêtes que vous pouvez exécuter sur celle-ci.

Lorsque vous anonymisez des données dans un espace de stockage, vous pouvez configurer la tâche d'inspection pour qu'elle fournisse des détails sur chaque transformation effectuée. La protection des données sensibles écrit ces informations dans une table BigQuery que vous spécifiez. Dans ce document, il s'agit d'un tableau des détails de la transformation.

Contenu d'une table de détails des transformations

Cette section liste et décrit le contenu de la table de détails de la transformation.

resource_name

Nom de la tâche d'inspection qui a terminé la transformation.

container_name

Fichier contenant les données transformées.

transformation

Détails sur la transformation Ce champ contient les propriétés suivantes:

type

Méthode de transformation que la protection des données sensibles a appliquée au résultat. Voici quelques-unes des valeurs possibles:

description

Représentation de la transformation sous forme de chaîne. Cette valeur est le résultat d'un appel toString() dans le message de tampon de protocole PrimitiveTransformation pour tous les types de transformations, à l'exception de RecordSuppression. Si la méthode de transformation est une suppression d'enregistrements, ce champ est vide.

condition

Représentation sous forme de chaîne de la méthode RecordCondition pour la transformation. Ce champ n'est défini que si une condition d'enregistrement a été utilisée pour déterminer si la protection des données sensibles doit appliquer la transformation. Exemples :

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

Détails sur le type d'informations détectées dans le résultat. Ce champ contient les propriétés suivantes:

name
Nom du infoType intégré ou personnalisé.
version
Version de infoType.

status_details

Détails sur l'état de la transformation. Si la transformation a échoué, ce champ indique la cause de l'échec. Ce champ contient les propriétés suivantes:

result_status_type

Code représentant l'état de la tentative de transformation. Voici les valeurs possibles:

  • STATE_TYPE_UNSPECIFIED: la protection des données sensibles n'a pas pu déterminer l'état de la transformation.
  • INVALID_TRANSFORM: le service de protection des données sensibles n'a pas pu transformer le résultat.
  • METADATA_UNRETRIEVABLE: il y a un résultat dans les métadonnées personnalisées d'un fichier. Lors de l'écriture du fichier transformé, la protection des données sensibles n'a pas pu récupérer les métadonnées.
  • SUCCESS: la transformation a réussi.
détails

Informations supplémentaires sur l'état. Ce champ respecte les spécifications définies dans Status. Ce champ contient les propriétés suivantes:

code
Code d'erreur.
Message
Message d'erreur.
détails
Liste de messages contenant les détails de l'erreur.

transformed_bytes

Nombre d'octets transformés par la protection des données sensibles. Si la transformation a échoué ou s'il n'y avait aucun contenu à transformer, la valeur est 0.

transformation_location

Détails sur l'emplacement de la transformation.

Voici un exemple JSON d'emplacement de transformation dans lequel la protection des données sensibles a effectué une transformation d'infoType:

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

Voici un exemple JSON d'emplacement de transformation dans lequel la protection des données sensibles a effectué une transformation d'enregistrement:

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

Comme le montrent les exemples, la protection des données sensibles renseigne finding_id ou record_transformation, en fonction du type de transformation effectuée. Ces deux champs s'excluent mutuellement.

finding_id
Ce champ est défini si la protection des données sensibles a effectué une transformation d'infoType. Chaque ID de résultat est associé à une entrée de la table de sortie des résultats. La table de sortie des résultats contient tous les résultats que la protection des données sensibles a détectés lors de l'inspection. Cette table n'est créée que si vous avez configuré votre tâche d'inspection pour enregistrer les résultats dans BigQuery.
record_transformation

Ce champ est défini si la protection des données sensibles a effectué une transformation d'enregistrement sur des données tabulaires. Ce champ contient les propriétés suivantes:

field_id
Colonne de la table contenant le résultat.
container_timestamp
Code temporel de la modification du fichier.
container_version
Numéro de génération du fichier contenant le résultat.
container_type

Informations sur la fonctionnalité des données contenant le résultat. Voici les valeurs possibles :

  • TRANSFORM_UNKNOWN_CONTAINER: la protection des données sensibles n'a pas pu déterminer le type des données contenant le résultat.
  • TRANSFORM_BODY: la protection des données sensibles a détecté le résultat dans le corps d'un fichier.
  • TRANSFORM_METADATA: la protection des données sensibles a détecté le résultat dans les métadonnées d'un fichier.
  • TRANSFORM_TABLE: la protection des données sensibles a détecté le résultat dans la table.

Exemples de requêtes

Voici des exemples de requêtes que vous pouvez exécuter sur la table de détails de la transformation. Pour savoir comment interroger une table BigQuery, consultez la page Exécuter des requêtes interactives.

Sélectionner toutes les transformations ayant échoué

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet contenant la table contenant les détails de la transformation.
  • DATASET_ID: ID de l'ensemble de données BigQuery contenant la table des détails de la transformation.
  • TABLE_ID: ID de la table de détails de la transformation.

Compter le nombre de fichiers dont la transformation a échoué

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

Sélectionner toutes les transformations utilisant un masquage de caractères

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

Étapes suivantes