Accesso a un database con l'autenticazione IAM dei database

Questa pagina descrive come gli utenti e gli account di servizio possono accedere ai database Cloud SQL utilizzando l'autenticazione IAM di Cloud SQL. Per ulteriori informazioni, consulta la panoramica dell'autenticazione IAM dei database Cloud SQL.

Prima di iniziare

  • Configura un'istanza per utilizzare l'autenticazione IAM dei database. Per ulteriori informazioni, consulta Configurazione di nuove istanze per l'autenticazione IAM dei database.
  • Aggiungi un utente IAM o un account di servizio al database. Per ulteriori informazioni, consulta la sezione Aggiungere un account utente o di servizio IAM al database.
  • Aggiungi il ruolo IAM roles/cloudsql.instanceUser sul tuo account utente per eseguire questa attività. Si tratta di un ruolo predefinito che contiene l'autorizzazione IAM di Cloud SQL necessaria cloudsql.instances.login. Per accedere a un'istanza di database è necessaria questa autorizzazione.

Accedi con autenticazione manuale del database IAM

Un utente o un'applicazione può autenticarsi al database utilizzando IAM richiedendo manualmente un token di accesso da Google Cloud e presentandolo al database. Utilizzando gcloud, puoi richiedere esplicitamente un token OAuth 2.0 con l'ambito dell'API Cloud SQL Admin utilizzato per l'accesso al database. Quando accedi come utente del database con autenticazione manuale del database IAM, utilizzi il tuo indirizzo email come nome utente e il token di accesso come password. Puoi utilizzare questo metodo con una connessione diretta al database o con un connettore Cloud SQL.

In questi passaggi, dovrai eseguire l'autenticazione su Google Cloud, richiedere un token di accesso e quindi connetterti al database passando il token come password per l'utente del database IAM. Segui questi passaggi per connetterti senza il proxy Cloud SQL Auth.

Per questi passaggi, devi:

Per utilizzare il tag gcloud per generare questo token e accedere:

gcloud

  1. Autenticazione su Google Cloud.

    User

    Esegui l'autenticazione a IAM utilizzando gcloud auth login. Per ulteriori informazioni, consulta la pagina Autorizzazione con un account utente.

    Account di servizio

    Esegui l'autenticazione a IAM utilizzando gcloud auth activate-service-account. Per ulteriori informazioni, consulta Autorizzazione con un account di servizio.

  2. Richiedi il token di accesso e accedi con un client.

    Sostituisci quanto segue:

    • HOSTNAME: l'indirizzo IP dell'istanza.
    • USERNAME: per un account utente IAM, si tratta dell'indirizzo email dell'utente, senza il nome @ o dominio. Ad esempio, per test-user@gmail.com, inserisci test-user. Per un account di servizio, questo è l'indirizzo email dell'account di servizio senza il suffisso @project-id.iam.gserviceaccount.com.

    MYSQL_PWD=`gcloud sql generate-login-token` mysql --enable-cleartext-plugin 
    --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem --host=HOSTNAME
    --user=USERNAME

Passaggi successivi