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, consultez la page Présentation de l'authentification IAM pour les bases de données Cloud SQL.

Avant de commencer

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

Un utilisateur ou une application peut s'authentifier auprès de la base de données à l'aide d'IAM en demandant manuellement un jeton d'accès à Google Cloud et en le présentant à la base de données. À l'aide du SDK Cloud, vous pouvez explicitement demander un jeton OAuth 2.0 avec le champ d'application de l'API Cloud SQL servant à vous connecter à la base de données. Lorsque vous vous connectez en tant qu'utilisateur de la base de données avec l'authentification IAM manuelle pour les bases de données, vous utilisez votre adresse e-mail comme nom d'utilisateur et le jeton d'accès comme mot de passe. Vous pouvez utiliser cette méthode avec une connexion directe à la base de données ou à travers un connecteur Cloud SQL.

Dans ces étapes, vous vous authentifiez auprès de Google Cloud, demandez un jeton d'accès, puis vous vous connectez à la base de données en transmettant le jeton en tant que mot de passe pour l'utilisateur IAM de la base de données.

Pour réaliser ces étapes, vous devez :

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

gcloud

  1. Authentifiez-vous sur Google Cloud.

    Utilisateur

    Authentifiez-vous auprès d'IAM en utilisant gcloud auth login. Pour en savoir plus, consultez la section Autoriser avec un compte utilisateur.

    Compte de service

    Authentifiez-vous auprès d'IAM en utilisant gcloud auth activate-service-account. Pour en savoir plus, consultez la section Autoriser avec un compte de service.

  2. Demandez le jeton d'accès et connectez-vous avec un client.

    Remplacez les éléments suivants :

    • HOSTNAME : adresse IP de l'instance.
    • 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