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 necessariacloudsql.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:
- Utilizza l'opzione
--enable-cleartext-plugin
mysql
. - Connettiti tramite SSL. Per ulteriori informazioni sulla creazione e il download dei file dei certificati SSL, consulta l'articolo Eseguire la connessione all'istanza Cloud SQL tramite SSL.
Autorizza l'indirizzo IP della tua macchina per l'IP pubblico.
Esegui i comandi all'interno del VPC per l'IP privato.
Per utilizzare il tag gcloud per generare questo token e accedere:
gcloud
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.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, pertest-user@gmail.com
, inseriscitest-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
- Scopri di più sull'autenticazione del database IAM.
- Scopri come attivare e visualizzare le informazioni di accesso nei log di controllo.
- Scopri come creare utenti e account di servizio che utilizzano l'autenticazione IAM di Cloud SQL.
- Scopri come aggiungere un'associazione di criteri IAM a un account utente o di servizio.
- Scopri come gestire utenti e account di servizio per l'autenticazione IAM dei database.