Documentation de référence sur les détails des transformations

Cette page décrit le contenu d'un tableau d'informations sur la transformation et fournit des exemples de requêtes que vous pouvez exécuter dessus.

Lorsque vous anonymisez des données stockées, vous pouvez configurer la tâche d'inspection pour fournir des informations sur chaque transformation qu'elle effectue. La protection des données sensibles écrit ces informations dans une table BigQuery que vous spécifiez. Dans ce document, ce tableau est appelé tableau des détails de la transformation.

Contenu d'un tableau des détails de la transformation

Cette section liste et décrit le contenu du tableau des détails de la transformation.

resource_name

Nom de la tâche d'inspection ayant effectué la transformation.

container_name

Fichier contenant les données transformées.

transformation

Informations sur la transformation. Ce champ contient les propriétés suivantes:

type

Méthode de transformation appliquée par la protection des données sensibles à la découverte. Voici quelques valeurs possibles:

description

Représentation de la transformation sous forme de chaîne. La valeur correspond à la sortie d'un appel toString() sur le message de tampon de protocole PrimitiveTransformation pour tous les types de transformations, à l'exception d'un RecordSuppression. Si la méthode de transformation consiste à supprimer des enregistrements, ce champ est vide.

condition

Représentation de la chaîne 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

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

nom
Nom de l'infoType intégré ou personnalisé.
version
Version de l'infoType.

status_details

Informations 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: la protection des données sensibles n'a pas pu transformer le résultat.
  • METADATA_UNRETRIEVABLE: une découverte a été effectuée 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 suit 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 des 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 pas de contenu à transformer, la valeur est 0.

transformation_location

Informations sur l'emplacement de la transformation.

Vous trouverez ci-dessous un exemple JSON d'emplacement de transformation, où la protection des données sensibles a effectué une transformation infoType:

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

Voici un exemple JSON d'emplacement de transformation, où 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, selon le type de transformation qu'elle a effectuée. Les deux champs s'excluent mutuellement.

finding_id
Ce champ est défini si Sensitive Data Protection a effectué une transformation d'infotype. Chaque ID de résultat correspond à une entrée dans le tableau de sortie des résultats. Le tableau 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 Sensitive Data Protection 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 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 la découverte. Voici les valeurs possibles :

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

Exemples de requêtes

Vous trouverez ci-dessous des exemples de requêtes que vous pouvez exécuter sur la table des détails de la transformation. Pour en savoir plus sur l'interrogation d'une table BigQuery, consultez la section 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 des 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 des détails de la transformation.

Compter le nombre de fichiers pour lesquels 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 qui ont utilisé le 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";

Étape suivante