Se connecter à une base de données à l'aide de l'authentification IAM pour les bases de données

Cette page explique comment les utilisateurs et les comptes de service peuvent se connecter aux bases de données Cloud SQL à l'aide de l'authentification IAM pour les bases de données Cloud SQL. Pour en savoir plus sur l'intégration IAM dans Cloud SQL, consultez la page Présentation de l'authentification IAM pour les bases de données Cloud SQL.

Avant de commencer

Se connecter avec l'authentification IAM pour les bases de données sans le proxy d'authentification Cloud SQL

À l'aide du SDK Cloud, vous pouvez explicitement demander un jeton OAuth 2.0 avec le champ d'application de l'API Cloud SQL pour MySQL que vous utilisez pour vous connecter à la base de données via le client mysql. Lorsque vous vous connectez en tant qu'utilisateur de base de données avec l'authentification IAM pour les bases de données, vous utilisez votre adresse e-mail et le jeton d'accès comme mot de passe.

Pour cette procédure, vous devez :

Pour utiliser le SDK Cloud pour générer ce jeton et vous connecter, procédez comme suit :

  1. Authentifiez-vous et créez le jeton.

    Utilisateur

    Il s'authentifie auprès d'IAM avec gcloud auth login.

    Pour en savoir plus, consultez la section Autoriser avec un compte utilisateur.

    Compte de service

    Il s'authentifie auprès d'IAM avec gcloud auth activate-service-account.

    Pour en savoir plus, consultez la section Autoriser avec un compte de service.

  2. Connectez-vous avec un client à l'aide du jeton d'accès enregistré.

    Remplacez l'élément suivant :

    • HOSTNAME : adresse IP de l'instance, ou 127.0.0.1 si vous utilisez le proxy Cloud SQL
    • USERNAME : pour un compte utilisateur IAM, il s'agit de l'adresse e-mail de l'utilisateur, sans le @ ni le nom de domaine. Par exemple, pour test-user@gmail.com, saisissez test-user. Pour un compte de service, il s'agit de l'adresse e-mail du compte de service sans le suffixe @project-id.iam.gserviceaccount.com.
   MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin 
--ssl-ca=server-ca.pem
--ssl-cert=client-cert.pem
--ssl-key=client-key.pem
--host=HOSTNAME
--user=USERNAME

Étape suivante