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

Cette page explique comment utiliser les connexions créées par la protection des données sensibles lorsque vous configurez la découverte pour Cloud SQL.

Obtenir l'ID de l'agent de service

Pour effectuer les procédures de 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. Sélectionnez votre configuration d'analyse.
  3. Sur la page de détails qui s'affiche, copiez l'ID de l'agent de service. Cet ID est au format 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 la portée de votre opération de découverte couvre 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 la portée de votre opération de découverte ne concerne qu'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 au service agent le rôle Accesseur de secrets Secret Manager (roles/secretmanager.secretAccessor).

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 la section 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 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 de données. Que vous créiez un compte utilisateur ou que vous réutilisiez un compte existant, 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 qu'il utilise 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 l'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, utilisez 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 l'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 Instruction GRANT dans la documentation MySQL.

  4. Facultatif: Si vous souhaitez que performance_schema.log_status soit profilé, accordez à l'utilisateur le droit BACKUP_ADMIN. Pour en savoir plus, consultez le 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 la ressource du secret.

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

Pour les instances Cloud SQL pour PostgreSQL, Sensitive Data Protection prend en charge deux types de comptes utilisateur:

  • Compte utilisateur intégré créé via PostgreSQL.
  • Une entité principale IAM, en particulier 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 la section 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 la section 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 la ressource du secret.

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

Suivez ces étapes uniquement 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 la section 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 que vous avez créé la configuration d'analyse, 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 mettre à jour, cliquez sur Actions > Modifier la connexion.

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

Une fois que vous avez mis à jour une connexion, Sensitive Data Protection 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 la section 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 en tant que 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 la section Connexions simultanées maximales 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 mettre à jour, 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 comporte une erreur, une icône d'erreur s'affiche.

  2. Pour la connexion présentant 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 ayant demandé la connexion.

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

    • Modifier les identifiants que vous avez fournis
    • Mettre à jour le mot de passe stocké dans Secret Manager
    • Se connecter à la base de données et accorder à l'utilisateur de la base de données les droits requis.
    • Attribuer 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 connecter à l'instance. Si une tentative de reconnexion aboutit, 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 qui ne possède pas d'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 :

Étape suivante