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 :
Créez ou modifiez une tâche d'inspection qui inspecte une table BigQuery. Pour obtenir des instructions, consultez Inspecter une table BigQuery.
À 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
Sélectionnez le projet dans lequel vous souhaitez activer l'API Dataplex.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles.
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 :
-
Lecteur d'éléments Cloud (
roles/cloudasset.viewer
) sur l'organisation ou le dossier -
Utilisateur DLP (
roles/dlp.user
) sur chaque projet dans lequel vous souhaitez activer l'API Dataplex
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 :
-
In the Google Cloud console, 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.
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 projetsRESOURCE_TYPE
: type de ressource contenant les projets (organizations
oufolders
)
-
Lecteur du catalogue Dataplex (
roles/dataplex.catalogViewer
) -
Lecteur de données BigQuery (
roles/bigquery.dataViewer
) -
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
-
-
Dans la console Google Cloud , accédez à la page Créer un job ou un déclencheur de jobs.
- Sélectionnez votre projet.
- 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.
- Pour Ajouter des actions, activez Publier dans Dataplex Universal Catalog.
- Cliquez sur Créer. La tâche s'exécute immédiatement.
-
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 exempleeurope-west1
ouus
. 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
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 :
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
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 :
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.
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