Questa pagina fornisce una panoramica dei modi in cui puoi connetterti all'istanza Cloud SQL e descrive le opzioni disponibili di autenticazione e autorizzazione.
Panoramica
Quando valuti come connetterti all'istanza Cloud SQL, ci sono molte opzioni da tenere a mente, tra cui:
- Vuoi che l'istanza Cloud SQL sia accessibile da internet, che sia privata all'interno di una rete Virtual Private Cloud (VPC) o che sia accessibile sia pubblicamente che privatamente?
- Hai intenzione di scrivere il tuo codice di connessione o di connetterti utilizzando strumenti disponibili pubblicamente come il proxy di autenticazione Cloud SQL o un client mysql?
- Vuoi richiedere la crittografia tramite SSL/TLS o consentire il traffico non criptato?
Nelle sezioni seguenti illustreremo le opzioni offerte da Cloud SQL per la connessione, l'autorizzazione e l'autenticazione del database.
- Come connettersi: il percorso di rete che utilizzi per raggiungere l'istanza:
- Un indirizzo IP interno, solo VPC (privato).
- Un indirizzo IP esterno accessibile da internet (pubblico).
- Come autorizzare le connessioni autorizzate e autorizzate a
connettersi alla tua istanza Cloud SQL:
- Le librerie del connettore di autenticazione Cloud SQL e del connettore Cloud SQL per Java e Python forniscono l'accesso basato su IAM.
- Certificati SSL/TLS autogestiti: consentono solo connessioni basate su chiavi pubbliche specifiche.
- Reti autorizzate: un elenco di indirizzi IP autorizzati a connettersi.
- Modalità di autenticazione: il metodo per accedere al database.
- Autenticazione del database integrata: accedi con un nome utente e una password impostati nel motore del database.
Utilizza le informazioni seguenti per decidere quali opzioni di connessione, autorizzazione e autenticazione funzionano meglio per te.
Prima di iniziare
La concessione dell'accesso a un'applicazione non abilita automaticamente un account utente del database per la connessione all'istanza. Prima di poterti connettere a un'istanza, devi avere un account utente del database a cui puoi connetterti. Per le nuove istanze, devi aver configurato l'account utente predefinito. Per saperne di più, vedi Gestire gli utenti con l'autenticazione integrata.
Come connettersi a Cloud SQL
Le connessioni al database consumano risorse sul server e nell'applicazione che si connette. Utilizza sempre buone pratiche di gestione delle connessioni per ridurre al minimo il carico della tua applicazione e ridurre la probabilità di superare i limiti di connessioni di Cloud SQL. Per ulteriori informazioni, consulta Gestione delle connessioni di database.
IP pubblico e privato
In Cloud SQL, IP pubblico indica che l'istanza è accessibile tramite la rete internet pubblica. Al contrario, le istanze che utilizzano solo IP privato non sono accessibili tramite la rete internet pubblica, ma sono accessibili tramite un Virtual Private Cloud (VPC). Le istanze Cloud SQL possono avere un indirizzo IP pubblico e uno privato.
IP privato
Un IP privato è un indirizzo IPv4 accessibile su un Virtual Private Cloud (VPC).
Puoi utilizzare questo indirizzo per connetterti da altre risorse con accesso al VPC. Le connessioni su IP privato in genere forniscono una latenza più bassa e vettori d'attacco limitati, perché non richiedono il passaggio di internet. Facoltativamente, puoi richiedere che tutte le connessioni utilizzino il proxy Cloud SQL o i certificati SSL autogestiti.
È preferibile configurare l'istanza con un IP privato quando ti connetti da un client su una risorsa con accesso a un VPC. Per ulteriori informazioni su quali risorse possono utilizzare l'IP privato, consulta Requisiti per l'IP privato.
Per i percorsi IP privati, i seguenti servizi e applicazioni si connettono direttamente all'istanza tramite l'accesso VPC serverless:
- Ambiente standard di App Engine
- Ambiente flessibile di App Engine
- Cloud Functions
- Cloud Run
Scopri di più sull'utilizzo dell'IP privato con Cloud SQL
Per istruzioni sull'aggiunta di un IP privato all'istanza, consulta una delle seguenti pagine:
- Configurazione della connettività IP privato.
- Connettiti a un'istanza utilizzando Private Service Connect
IP pubblico
Un IP pubblico è un indirizzo IPv4 disponibile esternamente sulla rete internet pubblica. Questo indirizzo può ricevere connessioni da dispositivi sia all'interno che all'esterno della rete Google, inclusi luoghi come casa o ufficio.
Per proteggere l'istanza, qualsiasi connessione a un'istanza Cloud SQL che utilizza un IP pubblico deve essere autorizzata utilizzando il proxy di autenticazione Cloud SQL o le reti autorizzate.
Configurare l'istanza con un IP pubblico è l'ideale quando ti connetti da un client che non soddisfa i requisiti per un VPC.
Per istruzioni sull'aggiunta di un IP pubblico all'istanza, consulta Configurazione della connettività IP pubblico.
Per informazioni sulla connessione di un client MySQL a un'istanza Cloud SQL tramite IP pubblico, consulta Connessione tramite un client di database.
Indirizzi IP assegnati dinamicamente
Alcune applicazioni devono connettersi all'istanza Cloud SQL utilizzando un indirizzo IP temporaneo o assegnato dinamicamente. Questo è il caso, tra le altre, delle applicazioni Platform as a Service (PaaS).
La soluzione migliore per queste applicazioni è connettersi utilizzando il proxy di autenticazione Cloud SQL. Questa soluzione offre il miglior controllo dell'accesso all'istanza.
Come autorizzare in Cloud SQL
Connettori di linguaggio Cloud SQL
I connettori di linguaggio Cloud SQL sono librerie client che forniscono crittografia e autorizzazione IAM durante la connessione a un'istanza Cloud SQL. Cloud SQL consiglia di utilizzare i connettori di linguaggio Cloud SQL per connettersi all'istanza Cloud SQL anziché altre opzioni di connessione.
Puoi utilizzare queste librerie direttamente dal relativo linguaggio di programmazione supportato. Forniscono la stessa autenticazione del proxy di autenticazione Cloud SQL senza richiedere un processo esterno. Ciò fornisce una sicurezza migliorata e requisiti di configurazione ridotti per la connessione a Cloud SQL. I connettori di linguaggio Cloud SQL utilizzano lo stesso codice anche quando si connettono tramite un indirizzo IP pubblico o privato.
Per iniziare, consulta Informazioni sui connettori di linguaggio Cloud SQL.
Proxy di autenticazione Cloud SQL
Il proxy di autenticazione Cloud SQL consente di autorizzare e proteggere le connessioni utilizzando le autorizzazioni Identity and Access Management (IAM). Il proxy di autenticazione Cloud SQL convalida le connessioni utilizzando le credenziali di un account utente o di servizio e racchiude la connessione in un livello SSL/TLS autorizzato per un'istanza Cloud SQL. Per ulteriori dettagli sul funzionamento del proxy di autenticazione Cloud SQL, consulta Informazioni sul proxy di autenticazione Cloud SQL.
Il proxy di autenticazione Cloud SQL è il metodo consigliato per autenticare le connessioni a un'istanza di Cloud SQL, in quanto è il metodo più sicuro.
Il proxy di autenticazione Cloud SQL è una libreria open source distribuita come programma binario eseguibile. Il proxy di autenticazione Cloud SQL funge da server intermedio che rimane in ascolto delle connessioni in entrata, le aggrega in SSL/TLS e le passa a un'istanza Cloud SQL.
Alcuni ambienti forniscono un meccanismo che si connette utilizzando il proxy di autenticazione Cloud SQL. Per istruzioni sulla connessione utilizzando questi ambienti, consulta una delle seguenti pagine:
- Connessione da Cloud Run
- Connessione da Cloud Functions
- Connessione dall'ambiente standard di App Engine
- Connessione dall'ambiente flessibile di App Engine
- Connessione da Google Kubernetes Engine
Certificati SSL/TLS autogestiti
Anziché utilizzare il proxy di autenticazione Cloud SQL per criptare le connessioni, puoi configurare certificati SSL/TLS client/server specifici per un'istanza Cloud SQL. Questi certificati vengono utilizzati per convalidare il client e il server l'uno con l'altro e per criptare le connessioni tra di loro.
Ti consigliamo vivamente di utilizzare i certificati SSL/TLS autogestiti per fornire la crittografia quando non utilizzi il proxy di autenticazione Cloud SQL. Se non lo fai, i tuoi dati vengono trasmessi in modo non sicuro e potrebbero essere intercettati o ispezionati da una terza parte.
Per iniziare a utilizzare i certificati SSL/TLS autogestiti, consulta Autorizzazione con certificati SSL/TLS.
Reti autorizzate
A meno che non utilizzi il proxy di autenticazione Cloud SQL, le connessioni all'indirizzo IP pubblico di un'istanza sono consentite solo se la connessione proviene da una rete autorizzata. Le reti autorizzate sono indirizzi o intervalli IP che l'utente ha specificato come autorizzati a connettersi.
Per iniziare a utilizzare le reti autorizzate, consulta Autorizzazione con reti autorizzate.
Come eseguire l'autenticazione in Cloud SQL
L'autenticazione fornisce il controllo dell'accesso verificando l'identità di un utente. Per gli utenti finali, l'autenticazione viene ottenuta quando l'utente inserisce le credenziali (nome utente e password). Per le applicazioni, l'autenticazione si ottiene assegnando le credenziali di un utente a un account di servizio.
Cloud SQL utilizza l'autenticazione integrata del database che autentica tramite nome utente e password. Per ulteriori informazioni, consulta Creazione e gestione degli utenti MySQL.
Strumenti per la connessione a Cloud SQL
La tabella seguente contiene alcune opzioni per la connessione a Cloud SQL:
Opzione di connessione | Ulteriori informazioni |
---|---|
Proxy di autenticazione Cloud SQL | |
gcloud CLI | |
Connettori dei linguaggi Cloud SQL | |
Cloud Shell | |
Apps Script | |
Cloud Code | |
Connettiti utilizzando strumenti di amministrazione di database di terze parti | |
MySQL Workbench | |
Toad per MySQL | |
SQL squirrel | |
phpMyAdmin |
Esempi di codice
Puoi connetterti al proxy di autenticazione Cloud SQL da qualsiasi linguaggio che consenta di connetterti a un socket Unix o TCP. Di seguito sono riportati alcuni snippet di codice di esempi completi su GitHub per aiutarti a capire come funzionano insieme nella tua applicazione.
Risolvere i problemi
Se hai problemi di connessione, consulta le seguenti pagine per ricevere assistenza per il debug o la ricerca di soluzioni a problemi noti:
- Debug dei problemi di connessione
- Errori di connettività noti
- Risoluzione dei problemi di connessione al proxy di autenticazione Cloud SQL
- Problemi di connessione comuni
Passaggi successivi
- Scopri come connetterti alla Guida rapida per Cloud SQL per mysql.
- Scopri le best practice per la gestione delle connessioni ai database.
- Scopri di più sull'autenticazione dei database IAM.
- Scopri di più sulla connessione tramite un client mysql da una macchina locale o Compute Engine.
- Scopri di più sulla configurazione della connettività IP.
- Scopri di più sulla connessione ad altri strumenti MySQL.
- Scopri di più sui connettori MySQL.
- Scopri di più sul proxy di autenticazione Cloud SQL.
- Scopri le opzioni di assistenza.