Envoyer les résultats de l'inspection à Dataplex Universal Catalog sous forme d'aspects

Ce document explique comment inspecter une table BigQuery pour détecter les données sensibles et envoyer les résultats de l'inspection à Dataplex Universal Catalog. Cette action ajoute automatiquement un aspect à l'entrée Dataplex Universal Catalog associée à votre table BigQuery.

Ce document fournit également des exemples de requêtes que vous pouvez utiliser pour trouver des données dans votre organisation et vos projets avec des valeurs d'aspect spécifiques.

Cette fonctionnalité est utile si vous souhaitez enrichir vos métadonnées dans Dataplex Universal Catalog avec des classifications de données sensibles issues des jobs d'inspection de la protection des données sensibles.

Les aspects générés incluent les informations suivantes :

  • Nom du job d'inspection
  • Types d'informations (infoTypes) détectés dans le tableau

À propos de Dataplex Universal Catalog

Dataplex Universal Catalog fournit un inventaire unifié des ressources Google Cloud .

Dataplex Universal Catalog vous permet d'utiliser des aspects pour ajouter des métadonnées métier et techniques à vos données afin de capturer le contexte et les connaissances sur vos ressources. Vous pouvez ensuite rechercher et découvrir des données dans votre organisation, et activer la gouvernance des données sur vos composants de données. Pour en savoir plus, consultez Aspects.

Fonctionnement

Pour créer automatiquement des aspects Dataplex Universal Catalog en fonction des résultats des jobs d'inspection, suivez ce workflow général :

  1. Créez ou modifiez une tâche d'inspection qui inspecte une table BigQuery. Pour obtenir des instructions, consultez Inspecter une table BigQuery.

  2. À l'étape Ajouter des actions, activez Publier dans Dataplex Universal Catalog.

Sensitive Data Protection ajoute ou met à jour l'aspect Sensitive Data Protection job result de l'entrée Dataplex Universal Catalog associée à la table BigQuery. Vous pouvez ensuite rechercher dans Dataplex Universal Catalog toutes les données de votre organisation ou de votre projet avec des valeurs d'aspect spécifiques. Pour obtenir des exemples de requêtes, consultez la section Exemples de requêtes de recherche de ce document.

L'aspect Dataplex Universal Catalog obtenu est stocké dans le même projet et la même région que la table BigQuery.

Champs d'aspect

L'aspect Sensitive Data Protection job result comporte les champs suivants :

Nom de la tâche
 : nom complet de la ressource du job d'inspection (par exemple, projects/example-project/locations/us/dlpJobs/i-8992079400000000000).
Nombre d'infoTypes
Noms des infoTypes recherchés par le job d'inspection (tels que spécifiés dans la configuration de l'inspection) et nombre de résultats pour chaque infoType. Un infoType sans résultat a un nombre de 0.
Heure de fin
Date et heure de fin du job d'inspection.
Is Full Scan
Indique si le job d'inspection a analysé toutes les lignes de la table. Si l'échantillonnage est activé dans le job d'inspection, par exemple, la valeur de ce champ est False.
Contient des résultats
Indique si la tâche d'inspection a détecté l'un des infoTypes qu'elle a analysés.

Activer l'API Dataplex

L'API Dataplex doit être activée dans chaque projet contenant des données pour lesquelles vous souhaitez ajouter des aspects. Cette section explique comment activer l'API Dataplex dans un seul projet ou dans tous les projets d'une organisation ou d'un dossier.

Activer l'API Dataplex dans un seul projet

  1. Sélectionnez le projet dans lequel vous souhaitez activer l'API Dataplex.

    Accéder au sélecteur de projet

  2. Enable the Dataplex API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Activer l'API Dataplex dans tous les projets d'une organisation ou d'un dossier

Cette section fournit un script qui recherche tous les projets d'une organisation ou d'un dossier, et active l'API Dataplex dans chacun de ces projets.

Pour obtenir les autorisations nécessaires pour activer l'API Dataplex dans tous les projets d'une organisation ou d'un dossier, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour activer l'API Dataplex dans tous les projets d'une organisation ou d'un dossier. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour activer l'API Dataplex dans tous les projets d'une organisation ou d'un dossier :

  • Pour rechercher tous les projets d'une organisation ou d'un dossier : cloudasset.assets.searchAllResources sur l'organisation ou le dossier
  • Pour activer l'API Dataplex : serviceusage.services.use sur chaque projet dans lequel vous souhaitez activer l'API Dataplex

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour activer l'API Dataplex dans tous les projets d'une organisation ou d'un dossier, procédez comme suit :

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Exécutez le script suivant :

    #!/bin/bash
    
    RESOURCE_ID="RESOURCE_ID"
    
    gcloud asset search-all-resources \
        --scope="RESOURCE_TYPE/$RESOURCE_ID" \
        --asset-types="cloudresourcemanager.googleapis.com/Project" \
        --format="value(name)" |
        while read project_name; do
          project_id=$(echo "$project_name" | sed 's|.*/||')
          gcloud services enable "dataplex.googleapis.com" --project="$project_id"
        done
    

    Remplacez les éléments suivants :

    • RESOURCE_ID : numéro de l'organisation ou du dossier de la ressource contenant les projets
    • RESOURCE_TYPE : type de ressource contenant les projets (organizations ou folders)
  3. Rôles et autorisations pour afficher les aspects

    Pour obtenir les autorisations nécessaires pour rechercher les aspects associés à votre table BigQuery, demandez à votre administrateur de vous accorder les rôles IAM suivants sur la table :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Ces rôles prédéfinis contiennent les autorisations requises pour rechercher les aspects associés à votre table BigQuery. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour rechercher des aspects associés à votre table BigQuery :

    • Afficher les entrées Dataplex Universal Catalog :
      • dataplex.entries.list
      • dataplex.entries.get
    • Affichez les ensembles de données et les tables BigQuery :
      • bigquery.datasets.get
      • bigquery.tables.get

    Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Pour en savoir plus sur les autorisations requises pour utiliser Dataplex Universal Catalog, consultez Autorisations IAM de Dataplex Universal Catalog.

    Configurer et exécuter un job d'inspection Sensitive Data Protection

    Vous pouvez configurer et exécuter un job d'inspection Sensitive Data Protection à l'aide de la console Google Cloud ou de l'API DLP.

    Console

    1. Dans la console Google Cloud , accédez à la page Créer un job ou un déclencheur de jobs.

      Accéder à la page Créer un job ou un déclencheur de job

    2. Sélectionnez votre projet.
    3. Saisissez les informations requises sur le job d'inspection et sur la table BigQuery que vous souhaitez inspecter. Pour obtenir des instructions, consultez Inspecter une table BigQuery. Pour obtenir la liste complète des types d'informations que la protection des données sensibles peut inspecter, consultez la documentation de référence sur les détecteurs d'infoTypes.
    4. Pour Ajouter des actions, activez Publier dans Dataplex Universal Catalog.
    5. Cliquez sur Créer. La tâche s'exécute immédiatement.

    REST

    L'exemple suivant envoie une requête projects.locations.dlpJobs.create pour inspecter une table BigQuery et envoyer les résultats à Dataplex Universal Catalog.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud . Les ID de projet sont des chaînes alphanumériques.
    • LOCATION : région ou emplacement multirégional dans lequel vous souhaitez traiter la requête, par exemple europe-west1 ou us. Pour connaître les emplacements disponibles, consultez Emplacements Sensitive Data Protection.
    • BIGQUERY_DATASET_NAME : nom de l'ensemble de données BigQuery contenant la table à inspecter
    • BIGQUERY_TABLE_NAME : nom de la table BigQuery à inspecter

    Méthode HTTP et URL :

    POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/dlpJobs

    Corps JSON de la requête :

    {
                  "inspectJob":
                  {
                    "storageConfig":
                    {
                      "bigQueryOptions":
                      {
                        "tableReference":
                        {
                          "projectId": "PROJECT_ID",
                          "datasetId": "BIGQUERY_DATASET_NAME",
                          "tableId": "BIGQUERY_TABLE_NAME"
                        }
                      }
                    },
                    "inspectConfig":
                    {
                      "infoTypes":
                      [
                        {
                          "name": "EMAIL_ADDRESS"
                        },
                        {
                          "name": "PERSON_NAME"
                        },
                        {
                          "name": "US_SOCIAL_SECURITY_NUMBER"
                        },
                        {
                          "name": "PHONE_NUMBER"
                        }
                      ],
                      "includeQuote": true,
                      "minLikelihood": "UNLIKELY",
                      "limits":
                      {
                        "maxFindingsPerRequest": 100
                      }
                    },
                    "actions":
                    [
                      {
                        "publishFindingsToDataplexCatalog": {}
                      }
                    ]
                  }
                }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/dlpJobs/JOB_ID",
      "type": "INSPECT_JOB",
      "state": "PENDING",
      "inspectDetails": {
        "requestedOptions": {
          "snapshotInspectTemplate": {},
          "jobConfig": {
            "storageConfig": {
              "bigQueryOptions": {
                "tableReference": {
                  "projectId": "PROJECT_ID",
                  "datasetId": "BIGQUERY_DATASET_NAME",
                  "tableId": "BIGQUERY_TABLE_NAME"
                }
              }
            },
            "inspectConfig": {
              "infoTypes": [
                {
                  "name": "EMAIL_ADDRESS"
                },
                {
                  "name": "PERSON_NAME"
                },
                {
                  "name": "US_SOCIAL_SECURITY_NUMBER"
                },
                {
                  "name": "PHONE_NUMBER"
                }
              ],
              "minLikelihood": "UNLIKELY",
              "limits": {
                "maxFindingsPerRequest": 100
              },
              "includeQuote": true
            },
            "actions": [
              {
                "publishFindingsToDataplexCatalog": {}
              }
            ]
          }
        },
        "result": {}
      },
      "createTime": "2025-09-09T00:29:55.951374Z",
      "lastModified": "2025-09-09T00:29:58.022967Z"
    }
    

    Pour savoir comment obtenir les résultats d'un job d'inspection à l'aide de l'API DLP, consultez Obtenir un job.

    Exemples de requêtes de recherche

    Cette section fournit des exemples de requêtes de recherche que vous pouvez utiliser dans Dataplex Universal Catalog pour trouver des données dans votre organisation ou votre projet avec des valeurs d'aspect spécifiques.

    Vous ne pouvez trouver que les données auxquelles vous avez accès. L'accès aux données est contrôlé par des autorisations IAM. Pour en savoir plus, consultez la section Rôles et autorisations pour afficher les aspects de ce document.

    Vous pouvez saisir ces exemples de requêtes dans le champ Rechercher de la page Rechercher de Dataplex Universal Catalog.

    Accéder à la recherche

    Pour savoir comment formuler les requêtes, consultez Syntaxe de recherche pour Dataplex Universal Catalog.

    Recherchez les entrées de toutes les tables qui comportent l'aspect "Résultat du job de protection des données sensibles".

    aspect:sensitive-data-protection-job-result
    

    Rechercher les entrées des tables inspectées qui présentent des résultats

    aspect:sensitive-data-protection-job-result.hasFindings=True
    

    Rechercher les entrées des tables inspectées qui ne présentent aucun résultat

    aspect:sensitive-data-protection-job-result.hasFindings=False
    

    Recherchez les entrées des tables qui ont été entièrement inspectées.

    La requête suivante renvoie les entrées des tables que Sensitive Data Protection a inspectées ligne par ligne.

    aspect:sensitive-data-protection-job-result.isFullScan=True
    

    Rechercher les entrées des tables qui n'ont pas été entièrement inspectées

    La requête suivante renvoie les entrées des tables que Sensitive Data Protection a inspectées par échantillonnage.

    aspect:sensitive-data-protection-job-result.isFullScan=False