Gérer les connexions à utiliser avec la découverte

Cette page explique comment utiliser les connexions que Sensitive Data Protection crée lorsque vous configurez la découverte pour Cloud SQL.

Obtenir l'ID de l'agent de service

Pour effectuer les procédures décrites sur cette page, vous avez besoin de l'ID de l'agent de service associé à votre configuration d'analyse. Pour obtenir l'ID de l'agent de service, procédez comme suit :

  1. Accédez à la liste des configurations d'analyse de découverte.

    Accéder aux configurations d'analyse de découverte

  2. Dans la barre d'outils, sélectionnez votre organisation.
  3. Sélectionnez votre configuration d'analyse.
  4. Sur la page Détails de la configuration de l'analyse, copiez la valeur du champ Agent de service. L'ID de l'agent de service se présente sous la forme d'une adresse e-mail.

Attribuer les rôles IAM requis à votre agent de service

  1. Assurez-vous que l'agent de service associé à votre configuration d'analyse dispose du rôle de pilote requis :

    • Si le champ d'application de votre opération de découverte est l'ensemble de l'organisation ou un dossier, assurez-vous que l'agent de service dispose du rôle Pilote de profils de données d'organisation DLP (roles/dlp.orgdriver).
    • Si le champ d'application de votre opération de découverte est un seul projet, assurez-vous que l'agent de service dispose du rôle Pilote de profils de données pour les projets DLP (roles/dlp.projectdriver).
  2. Attribuez le rôle Accesseur de secrets Secret Manager (roles/secretmanager.secretAccessor) à l'agent de service.

Pour obtenir l'ID de votre agent de service, consultez la section Obtenir l'ID de l'agent de service sur cette page.

Pour en savoir plus, consultez Attribuer des rôles aux agents de service dans la documentation sur Identity and Access Management.

Créer un utilisateur pour chaque instance Cloud SQL

Pour chaque instance concernée par la découverte, créez un compte utilisateur disposant des droits requis pour profiler vos données.

Vous pouvez utiliser un compte utilisateur existant, mais vous devez vous assurer qu'il dispose des droits d'accès listés dans cette section.

Créer un utilisateur pour une instance Cloud SQL pour MySQL

Cette section explique comment créer un compte utilisateur MySQL à utiliser avec le profilage des données. Que vous créiez un compte utilisateur ou que vous en réutilisiez un, le compte doit disposer du plug-in d'authentification mysql_native_password. Cette section explique comment modifier un compte utilisateur de base de données existant pour utiliser ce plug-in d'authentification.

  1. Connectez-vous à l'instance.
  2. Préparez le compte utilisateur de la base de données.

    • Si vous souhaitez créer un utilisateur de base de données, exécutez la commande suivante à l'invite mysql :

      CREATE USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      Remplacez les éléments suivants :

      • USERNAME : nom d'utilisateur du compte utilisateur
      • PASSWORD : mot de passe du compte utilisateur

      Pour en savoir plus, consultez la section CREATE USER Statement (Instruction CREATE USER) dans la documentation MySQL.

    • Si vous souhaitez utiliser un compte utilisateur de base de données existant qui n'utilise pas le plug-in d'authentification mysql_native_password, exécutez la commande ALTER USER pour modifier le plug-in d'authentification de ce compte :

      ALTER USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      Pour en savoir plus, consultez la section Instruction ALTER USER dans la documentation MySQL.

  3. Accordez les droits SELECT et SHOW VIEW à l'utilisateur.

    GRANT SELECT, SHOW VIEW ON *.* TO 'USERNAME'@'%';
    

    Le résultat ressemble à ce qui suit :

    Query OK, 0 rows affected (0.00 sec)

    Pour en savoir plus, consultez la section GRANT Statement dans la documentation MySQL.

  4. Facultatif : Si vous souhaitez que performance_schema.log_status soit profilé, accordez le droit BACKUP_ADMIN à l'utilisateur. Pour en savoir plus, consultez Schéma de performances MySQL dans la documentation MySQL.

    GRANT BACKUP_ADMIN ON *.* TO 'USERNAME'@'%';
    
  5. Dans Secret Manager, créez un secret pour stocker le mot de passe. Créez le secret dans le projet contenant l'instance Cloud SQL.

    Notez le nom de ressource du secret.

Créer un utilisateur pour une instance Cloud SQL pour PostgreSQL

Pour les instances Cloud SQL pour PostgreSQL, Sensitive Data Protection est compatible avec deux types de comptes utilisateur :

  • Compte utilisateur intégré créé via PostgreSQL.
  • Une entité principale IAM, plus précisément l'agent de service associé à votre configuration d'analyse.

Option 1 : Créer un compte utilisateur intégré dans PostgreSQL

Cette section explique comment créer un compte utilisateur intégré via PostgreSQL.

  1. Connectez-vous à l'instance.
  2. À l'invite postgres, exécutez la commande suivante pour créer l'utilisateur :

    CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
    

    Remplacez les éléments suivants :

    • USERNAME : nom d'utilisateur du compte utilisateur
    • PASSWORD : mot de passe du compte utilisateur

    Le résultat ressemble à ce qui suit :

    CREATE ROLE

    Pour en savoir plus, consultez CREATE USER dans la documentation PostgreSQL.

  3. Accordez le rôle pg_read_all_data à l'utilisateur :

    GRANT pg_read_all_data TO USERNAME;
    

    Le résultat ressemble à ce qui suit :

    GRANT ROLE

    Pour en savoir plus, consultez GRANT dans la documentation PostgreSQL.

  4. Dans Secret Manager, créez un secret pour stocker le mot de passe. Créez le secret dans le projet contenant l'instance Cloud SQL.

    Notez le nom de ressource du secret.

Option 2 : Ajouter l'agent de service en tant qu'utilisateur dans l'instance (PostgreSQL uniquement)

Ne suivez ces étapes que si vous configurez une instance Cloud SQL pour PostgreSQL.

  1. Suivez les instructions pour ajouter un compte de service IAM à une base de données dans la documentation Cloud SQL pour PostgreSQL.

    Le compte de service que vous fournissez doit être l'agent de service associé à la configuration d'analyse. Pour obtenir l'ID de l'agent de service, consultez Obtenir l'ID de l'agent de service sur cette page.

  2. Dans PostgreSQL, attribuez le rôle pg_read_all_data à l'agent de service :

    GRANT pg_read_all_data TO "TRUNCATED_SERVICE_AGENT_ID";
    

    Remplacez TRUNCATED_SERVICE_AGENT_ID par l'ID de l'agent de service sans le suffixe .gserviceaccount.com (par exemple, service-1234567890@dlp-api.iam).

    Le résultat ressemble à ce qui suit :

    GRANT ROLE

Accorder l'accès à vos instances Cloud SQL

Une fois la configuration d'analyse créée, la protection des données sensibles crée automatiquement des connexions de service par défaut pour chaque instance concernée par la découverte. Avant de pouvoir commencer le profilage, vous devez modifier chaque connexion de service pour fournir les identifiants de chaque instance Cloud SQL.

Pour mettre à jour une connexion, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Connexions de service.

    Accéder à "Connexions de service"

    Vos connexions s'affichent dans une liste.

  2. Pour la connexion que vous souhaitez modifier, cliquez sur Actions > Modifier la connexion.

  3. Effectuez l'une des opérations suivantes :

Une fois que vous avez mis à jour une connexion, la protection des données sensibles tente de se connecter à l'instance avec les identifiants que vous avez fournis. En cas d'erreur de connexion, Sensitive Data Protection tente automatiquement de se reconnecter à l'instance. Pour en savoir plus, consultez Afficher les erreurs de connexion sur cette page.

Fournir les identifiants du compte utilisateur

Saisissez le nom d'utilisateur et la ressource Secret Manager contenant le mot de passe. La ressource Secret Manager doit être au format suivant :

projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/VERSION_NUMBER

Remplacez les éléments suivants :

  • PROJECT_NUMBER : ID numérique de votre projet.
  • SECRET_NAME : nom du secret contenant le mot de passe.
  • VERSION_NUMBER : numéro de version du secret. Pour fournir la dernière version, utilisez latest.

Utiliser l'agent de service comme compte utilisateur

Cette option n'est disponible que pour les instances Cloud SQL pour PostgreSQL.

Pour utiliser l'agent de service comme compte utilisateur, sélectionnez Authentification IAM pour les bases de données Cloud SQL.

Mettre à jour le nombre maximal de connexions simultanées à une instance

Par défaut, Sensitive Data Protection utilise un maximum de deux connexions simultanées pour minimiser l'impact de la découverte sur vos instances Cloud SQL. Nous vous recommandons d'augmenter ce nombre à une valeur appropriée en fonction de la taille et de l'utilisation de l'instance.

Pour en savoir plus, consultez Nombre maximal de connexions simultanées dans la documentation Cloud SQL.

Pour modifier la limite de connexion maximale du service de découverte, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Connexions de service.

    Accéder à "Connexions de service"

    Vos connexions s'affichent dans une liste.

  2. Pour la connexion que vous souhaitez modifier, cliquez sur Actions > Modifier la connexion.

  3. Dans le champ Nombre maximal de connexions, saisissez la nouvelle limite.

  4. Cliquez sur OK.

Afficher les erreurs de connexion

  1. Dans la console Google Cloud , accédez à la page Connexions de service.

    Accéder à "Connexions de service"

    Vos connexions sont listées. Si une connexion présente une erreur, elle s'affiche avec une icône d'erreur.

  2. Pour la connexion qui présente une erreur, cliquez sur Actions > Afficher les erreurs. Les messages d'erreur associés sont listés. Chaque message inclut le nom de la configuration d'analyse qui a demandé la connexion.

  3. Corrigez l'erreur si nécessaire. Selon l'erreur, la résolution peut impliquer l'une des actions suivantes :

    • Modifier les identifiants que vous avez fournis
    • Mettre à jour le mot de passe stocké dans Secret Manager.
    • Connectez-vous à la base de données et accordez à l'utilisateur de la base de données les droits requis.
    • Attribue le rôle IAM spécifié à l'agent de service associé à la configuration d'analyse spécifiée.

La protection des données sensibles tente automatiquement de se reconnecter à l'instance. Si une tentative de reconnexion réussit, les messages d'erreur sont effacés.

Autoriser la découverte des instances sans adresse IP publique

Pour exécuter la découverte sur une instance Cloud SQL sans adresse IP publique, sélectionnez l'option Activer le chemin d'accès privé pour cette instance. Cette option permet aux services Google Cloud d'accéder aux données d'une instance Cloud SQL via une connexion IP privée.

Pour en savoir plus, consultez les ressources suivantes :

Étapes suivantes