Résoudre les problèmes liés au service de découverte

Cette page explique comment résoudre les problèmes liés au service de découverte de Sensitive Data Protection. Pour en savoir plus sur le service de découverte, consultez Profils de données. Pour savoir comment afficher les erreurs associées à la configuration de votre analyse de découverte, consultez Afficher les erreurs de configuration.

L'API DLP n'est pas activée dans le conteneur de l'agent de service

Ce problème se produit lorsque vous créez une configuration d'analyse au niveau de l'organisation et que vous ne disposez pas de l'autorisation serviceusage.services.enable pour le projet que vous avez sélectionné comme conteneur d'agent de service. La protection des données sensibles ne peut pas activer automatiquement l'API DLP dans le projet.

Permission denied to enable service [dlp.googleapis.com]

Pour résoudre ce problème, effectuez l'une des tâches suivantes. Dans les deux cas, vous devez obtenir les autorisations requises. Pour en savoir plus, consultez Rôles requis pour utiliser des profils de données au niveau de l'organisation ou des dossiers.

Créer un conteneur d'agent de service

  1. Demandez à votre administrateur de vous attribuer le rôle Créateur de projet (roles/resourcemanager.projectCreator) dans l'organisation.
  2. Modifiez la configuration d'analyse au niveau de votre organisation.
  3. Dans la section Conteneur de l'agent de service, créez un conteneur d'agent de service en cliquant sur Créer et en suivant les instructions.
  4. Enregistrez votre configuration.

Mettre à jour votre conteneur d'agent de service

  1. Demandez à votre administrateur de vous attribuer un rôle disposant de l'autorisation serviceusage.services.enable sur le projet que vous avez sélectionné comme conteneur d'agent de service.
  2. Affichez les détails de la configuration de l'analyse pour voir les erreurs actives.
  3. Recherchez cette erreur, puis cliquez sur Réparer.

L'agent de service n'est pas autorisé à lire une colonne à accès contrôlé

Ce problème survient lors du profilage d'une table qui applique la sécurité au niveau des colonnes via des tags avec stratégie. Si l'agent de service n'est pas autorisé à accéder à la colonne restreinte, Sensitive Data Protection affiche l'erreur suivante :

Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing a BigQuery table. Access Denied: BigQuery BigQuery: User does
not have permission to access policy tag "POLICY_TAG_ID" on column FIELD_NAME.

Pour résoudre ce problème, sur la page IAM (Identity and Access Management), attribuez à votre agent de service le rôle Lecteur détaillé.

Accéder à IAM

La protection des données sensibles relance régulièrement les données de profilage qu'elle n'a pas pu profiler.

Pour plus d'informations sur l'attribution d'un rôle, consultez la section Attribuer un seul rôle.

L'agent de service ne dispose pas d'un accès au profilage des données

Ce problème se produit après qu'un membre de votre organisation a créé une configuration d'analyse au niveau de l'organisation ou du dossier. Lorsque vous affichez les détails de la configuration de l'analyse, vous constatez que la valeur de l'état de l'analyse est active avec des erreurs. Lorsque vous affichez l'erreur, la protection des données sensibles affiche le message d'erreur suivant :

None of the driver projects (PROJECT_ID) have MISSING_PERMISSION
permission for organizations/ORGANIZATION_ID.

Cette erreur s'est produite, car la protection des données sensibles n'a pas pu attribuer automatiquement le rôle Pilote de profils de données de l'organisation DLP à votre agent de service lors de la création de la configuration d'analyse. Le créateur de la configuration d'analyse ne dispose pas des autorisations permettant d'accorder l'accès au profilage des données, Sensitive Data Protection n'a donc pas pu le faire pour lui.

Pour résoudre ce problème, consultez Accorder l'accès au profilage des données à un agent de service.

Le compte de service n'est pas autorisé à interroger une table

Ce problème survient lorsque Sensitive Data Protection tente de profiler une table que l'agent de service n'est pas autorisé à interroger. La protection des données sensibles affiche l'erreur suivante :

Permission denied error: Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing BigQuery table. Access Denied: Table TABLE: User does not have
permission to query table TABLE. Permission denied for DLP API service account
'SERVICE_AGENT_ID' while accessing BigQuery table. Access Denied: Table TABLE:
User does not have permission to query TABLE. [TIMESTAMP]

Vérifiez que la table existe toujours. Si la table existe, 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. Obtenez la stratégie IAM actuelle pour la table et imprimez-la dans stdout :

    bq get-iam-policy TABLE
    

    Remplacez TABLE par le nom complet de la ressource BigQuery, au format PROJECT_ID:DATASET_ID.TABLE_ID (par exemple, project-id:dataset-id.table-id).

  3. Attribuez le rôle Agent de service de l'API DLP (roles/dlp.serviceAgent) à l'agent de service :

    bq add-iam-policy-binding --member=serviceAccount:SERVICE_AGENT_ID \
        --role=roles/dlp.serviceAgent TABLE
    

    Remplacez les éléments suivants :

    • SERVICE_AGENT_ID : ID de l'agent de service qui doit interroger la table (par exemple, service-0123456789@dlp-api.iam.gserviceaccount.com)
    • TABLE : nom complet de la ressource de la table BigQuery, au format PROJECT_ID:DATASET_ID.TABLE_ID par exemple, project-id:dataset-id.table-id.

      Le résultat ressemble à ce qui suit :

    Successfully added member 'SERVICE_AGENT_ID' to role 'roles/dlp.serviceAgent' in IAM policy for table 'TABLE':
    
    {
     "bindings": [
       {
         "members": [
           "serviceAccount:SERVICE_AGENT_ID"
         ],
         "role": "roles/dlp.serviceAgent"
       }
     ],
     "etag": "BwXNAPbVq+A=",
     "version": 1
    }
    

    La protection des données sensibles relance régulièrement les données de profilage qu'elle n'a pas pu profiler.

  4. Le compte de service n'est pas autorisé à publier sur un sujet Pub/Sub

    Ce problème se produit lorsque Sensitive Data Protection tente de publier des notifications dans un sujet Pub/Sub auquel l'agent de service n'a pas accès pour la publication. La protection des données sensibles affiche l'erreur suivante :

    Permission missing to publish notifications on Cloud Pub/Sub topic 'TOPIC_NAME'.
    The DLP API service account 'SERVICE_AGENT_ID' must must have at least the Pub/Sub Publisher role.
    

    Pour résoudre ce problème, accordez l'accès à la publication à votre agent de service au niveau du projet ou du thème. Le rôle Éditeur Pub/Sub est un exemple de rôle disposant d'un accès à la publication.

    En cas de problème de configuration ou d'autorisation avec le sujet Pub/Sub, la protection des données sensibles tente d'envoyer la notification Pub/Sub pendant deux semaines maximum. Au bout de deux semaines, la notification est supprimée.

    Le modèle d'inspection ne peut pas être utilisé pour profiler des données dans une région différente

    Ce problème survient lorsque la protection des données sensibles tente de profiler les données qui ne résident pas dans la même région que le modèle d'inspection. La protection des données sensibles affiche l'erreur suivante :

    Data in region DATA_REGION cannot be profiled using template in region
    TEMPLATE_REGION. Regional template can only be used to profile data
    in the same region. If profiling data in multiple regions, use a global template.
    

    Dans ce message d'erreur, DATA_REGION correspond à la région où se trouvent les données, et TEMPLATE_REGION à la région où se trouve le modèle d'inspection.

    Pour résoudre ce problème, vous pouvez copier le modèle spécifique à la région dans la région global :

    1. Copiez le modèle d'inspection dans la région global.

    2. Sur la page Détails du modèle d'inspection, copiez le nom complet de la ressource du modèle. Il a le format suivant :

      projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
    3. Modifiez la configuration d'analyse et saisissez le nom de ressource complet du nouveau modèle d'inspection.

    4. Cliquez sur Enregistrer.

    La protection des données sensibles relance régulièrement les données de profilage qu'elle n'a pas pu profiler.

    Sensitive Data Protection a tenté de profiler une table non compatible

    Ce problème survient lorsque Sensitive Data Protection tente de profiler une table non compatible. Pour cette table, vous obtenez toujours un profil partiel contenant les métadonnées de la table. Toutefois, le profil partiel affiche l'erreur suivante :

    Unimplemented error: Table of type `TABLE_TYPE` is not currently supported for inspection. [DATE_TIME].
    

    Si vous ne souhaitez pas obtenir de profils partiels ni d'erreurs pour les tables non compatibles, procédez comme suit :

    1. Modifiez la configuration de l'analyse.
    2. À l'étape Gérer les plannings, cliquez sur Modifier le planning.
    3. Dans le volet qui s'affiche, cliquez sur l'onglet Conditions.
    4. Dans la section Tables à profiler, cliquez sur Profiler les tables compatibles.

    Pour en savoir plus, consultez Gérer les plannings.

    Le rapport Looker prédéfini ne se charge pas correctement

    Consultez Résoudre les erreurs avec le rapport prédéfini.

    Consultez la section Résoudre les erreurs de la documentation sur le contrôle des accès IAM aux ressources en fonction de la sensibilité des données.

    Étapes suivantes