In questa pagina viene descritto come utilizzare il protocollo Secure Socket Layer (SSL), ora Transport Layer Security (TLS), dalla tua applicazione per criptare alle istanze Cloud SQL.
Panoramica
Cloud SQL supporta la connessione a un'istanza utilizzando il protocollo SSL/TLS. Le connessioni SSL/TLS offrono un livello crittografando i dati in transito tra il client e il database per l'istanza Cloud SQL. Facoltativamente, la connessione SSL/TLS può Eseguire la verifica dell'identità del server convalidando il certificato del server. installato sull'istanza Cloud SQL e sulla verifica dell'identità del client convalidando il certificato client installato sul client.
Certificati server
Quando crei un'istanza, Cloud SQL crea automaticamente installa un certificato del server firmato da un'autorità di certificazione (CA). Puoi scaricare il certificato CA sulla macchina host client e utilizzarlo per verificare l'identità della CA e del server Cloud SQL. Se vuoi, puoi scegliere il tipo di CA utilizzato da Cloud SQL per firmare il certificato del server.
Gerarchie delle autorità di certificazione (CA)
Questa sezione descrive i due tipi di autorità di certificazione (CA) del server che puoi scegliere per le tue istanze Cloud SQL. Sono disponibili due opzioni:
- CA per istanza: con questa opzione, viene utilizzata una CA interna
a ogni istanza Cloud SQL
per quella istanza.
Cloud SQL crea e gestisce queste CA. Per scegliere un CA per istanza,
specifica
GOOGLE_MANAGED_INTERNAL_CA
per l'impostazioneserverCaMode
(API amministrazione Cloud SQL) o il flag--server-ca-mode
(interfaccia a riga di comando gcloud) quando crei l'istanza. Se non specifichi l'impostazione o il flag, questa sarà l'opzione predefinita per l'istanza. CA condivisa: con questa opzione viene utilizzata una gerarchia CA composta da una CA radice e da CA server subordinate. Le CA del server subordinate in una regione firmano i certificati del server e sono condivise tra le istanze della regione. Cloud SQL ospita e gestisce le risorse CA e CA server subordinate su Google Cloud Certificate Authority Service (CA Service). Cloud SQL gestisce anche la rotazione delle CA radice e delle CA del server subordinate e fornisce link disponibili pubblicamente ai bundle di certificati CA da scaricare. Per scegliere la condivisione CA, specifica
GOOGLE_MANAGED_CAS_CA
per l'impostazioneserverCaMode
(API Cloud SQL Admin) o il flag--server-ca-mode
(gcloud CLI) quando crei l'istanza.
Dopo aver creato un'istanza, puoi visualizzare quale gerarchia di CA è configurata
un'istanza Cloud SQL con il comando gcloud sql instances describe
.
Per ulteriori informazioni, vedi Visualizzare le informazioni sulle istanze.
La tabella seguente mette a confronto le due opzioni di gerarchia CA.
Funzionalità | CA per istanza | CA condivisa |
---|---|---|
Struttura CA | CA separata per ogni istanza | CA radice e CA subordinate condivise tra le istanze nella stessa regione |
Attributi crittografici | Chiave RSA a 2048 bit con algoritmo SHA256 | Elliptic Curve Digital Signature Algorithm (ECDSA) con chiave a 256 bit con algoritmo SHA384 |
Periodo di validità della certificazione per la California | 10 anni | 25 anni per la CA radice e 10 anni per le CA subordinate |
Periodo di validità del certificato del server | 10 anni | 1 anno |
Rotazione dell'autorità di certificazione avviata dall'utente? | Sì | No. La rotazione delle CA è gestita da Cloud SQL |
Rotazione del certificato del server avviata dall'utente? | Sì | Sì |
CA trust anchor per connessioni TLS | L'autorità di certificazione univoca per istanza è il trust anchor per l'istanza corrispondente. | La CA radice e le CA secondarie sono le ancore di attendibilità per tutte le istanze in una determinata regione. |
Verifica dell'identità del server | La verifica della CA verifica l'identità del server, poiché ogni istanza ha una CA univoca. | La verifica del nome host e della CA è necessaria per la verifica dell'identità del server, poiché le CA del server sono condivise tra le istanze. |
Campo Subject Alternative Name (SAN) nei certificati del server | Il campo SAN contiene il nome host (nome DNS dell'istanza) solo per abilitate con Private Service Connect. Per l'identità del server è possibile utilizzare il nome host verifica. Se ti connetti a un'istanza Cloud SQL utilizzando il nome DNS come nome host, devi configurare la risoluzione DNS. | Il campo SAN contiene il nome host (nome DNS dell'istanza) per tutti i tipi di istanze. Il nome host può essere utilizzato per la verifica dell'identità del server. Se ti connetti a un'istanza Cloud SQL utilizzando il nome DNS come nome host, devi configurare la risoluzione DNS. |
CA per istanza ospitata da Cloud SQL
Questa gerarchia di CA è la configurazione predefinita della modalità CA del server.
Cloud SQL crea una nuova CA del server autofirmata per ogni
istanza quando la crei.
Per utilizzare questa impostazione:
configura serverCaMode
su GOOGLE_MANAGED_INTERNAL_CA
o lascia
non specificata durante la creazione dell'istanza.
Il seguente diagramma mostra la gerarchia delle CA per istanza.
CA condivise ospitate da CA Service
Questa modalità CA del server è composta da una CA radice e da CA del server subordinate in ogni regione. Le CA del server subordinate rilasciano certificati server e sono condivise tra le istanze della regione. Cloud SQL gestisce la rotazione CA del server regionale condivise e fornisce link disponibili pubblicamente Pacchetti di certificati CA.
Puoi configurare un'istanza in modo che utilizzi una gerarchia CA del server in cui l'emittente
Le CA sono condivise tra le istanze nella stessa regione. Per utilizzare questa impostazione:
configura serverCaMode
su GOOGLE_MANAGED_CAS_CA
quando crei l'istanza.
Il seguente diagramma mostra la gerarchia delle CA condivise.
Come funziona la rotazione dei certificati server
Cloud SQL offre modi per girare il certificato del server, in modo che il nuovo certificato possa essere sostituito senza problemi prima della scadenza del vecchio certificato.
Il comando di rotazione da utilizzare dipende dall'eventuale utilizzo di un certificato del server emesso da un'autorità di certificazione per istanza o da un certificato del server emesso CA condivisa.
Circa tre mesi prima della scadenza del certificato del server per un Cloud SQL Ad esempio, i proprietari del progetto ricevono un'email da Cloud SQL in cui viene indicato il processo di rotazione dei certificati per quell'istanza. L'email fornisce il nome dell'istanza e comunica che Cloud SQL ha aggiunto un nuovo certificato del server al progetto. Il certificato del server esistente continuerà a funzionare normalmente. In effetti, ha due certificati server durante questo periodo.
Prima della scadenza del certificato attuale, scarica il nuovo file server-ca.pem
,
che contiene le informazioni sul certificato sia per la versione corrente che per quella nuova
certificati server. Aggiorna i client SQL Server in modo che utilizzino il nuovo
file copiandolo su tutte le macchine host client SQL Server, sostituendo
il file esistente.
Dopo aver aggiornato tutti i client SQL Server, invia un comando di rotazione (per l'autorità di certificazione per istanza) o un comando di rotazione (per l'autorità di certificazione condivisa) all'istanza Cloud SQL per eseguire la rotazione al nuovo certificato del server. Dopodiché, il vecchio certificato del server non viene più riconosciuto e solo il nuovo server è possibile utilizzare il certificato.
Scadenza del certificato SSL
Per impostazione predefinita, le istanze Cloud SQL utilizzano
impostazione predefinita di GOOGLE_MANAGED_INTERNAL_CA
come serverCaMode
. I certificati SSL hanno una durata di 10 anni. Prima di questi certificati
scadere, eseguire la rotazione CA.
Per le istanze che utilizzano CA condivise
(serverCaMode
è impostata su GOOGLE_MANAGED_CAS_CA
),
la scadenza dei certificati del server è di 1 anno.
Prima della scadenza, esegui la rotazione dei certificati SSL. Il certificato dell'autorità di certificazione (CA) radice ha un periodo di scadenza di 25 anni, mentre il certificato della CA condivisa subordinata ha un periodo di scadenza di 10 anni.
Cloud SQL gestisce la loro rotazione.
Se un client è configurato per verificare l'autorità di certificazione o il nome host nel certificato del server, le connessioni del client alle istanze Cloud SQL con certificati del server scaduti non andranno a buon fine. Per evitare interruzioni delle connessioni client, gira il certificato del server prima della scadenza.
Indipendentemente dall'utilizzo della CA per istanza o della modalità del server CA condiviso, puoi reimpostare la configurazione SSL dell'istanza Cloud SQL in qualsiasi momento.
Passaggi successivi
Configura SSL/TLS sul tuo di Cloud SQL.
Scopri di più su come viene gestita la crittografia in Google Cloud.
- Scopri di più su come SQLServer utilizza le connessioni criptate.
- Gestisci SSL/TLS sulla tua istanza Cloud SQL.