Gestione dei certificati SSL/TLS

Questa pagina descrive come gestire i certificati CA client e server.

Gestisci i certificati client

Utilizza le seguenti procedure per gestire i certificati client in Cloud SQL.

Recuperare un certificato client

Puoi recuperare la parte della chiave pubblica di un certificato client. Tuttavia, non puoi recuperare la chiave privata. Se hai perso la chiave privata, devi creare un nuovo certificato.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. In Gestisci i certificati client, fai clic sul nome di un certificato.
  6. Viene visualizzata la pagina Certificato client SSL, che mostra il certificato client (client-cert.pem) con un link per scaricarlo.

gcloud

Recupera la chiave pubblica del certificato client con il comando ssl client-certs describe:

gcloud sql ssl client-certs describe CERT_NAME \
--instance=INSTANCE_NAME \
--format="value(cert)" > client-cert.pem

REST v1

  1. Elenca i certificati nell'istanza per ottenere l'impronta del certificato che vuoi recuperare:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato che vuoi recuperare. Non includere le virgolette.

  2. Recupera il certificato:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: l'attributo sha1FingerPrint del certificato

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Copia tutti i dati del certificato contenuti tra virgolette in un file, ad esempio client-cert.pem. Non copiare le virgolette stesse.

REST v1beta4

  1. Elenca i certificati nell'istanza per ottenere l'impronta del certificato che vuoi recuperare:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato che vuoi recuperare. Non includere le virgolette.

  2. Recupera il certificato:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: l'attributo sha1FingerPrint del certificato

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Copia tutti i dati del certificato contenuti tra virgolette in un file, ad esempio client-cert.pem. Non copiare le virgolette stesse.

Eliminare un certificato client

Quando elimini un certificato client, il server di database viene aggiornato e non è necessario riavviarlo.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. In Gestisci i certificati client, trova il certificato da eliminare e fai clic su Elimina..
  6. Nel riquadro Elimina certificato client, fai clic su Ok.

gcloud

Elimina il certificato client utilizzando il comando ssl client-certs delete:

gcloud sql ssl client-certs delete CERT_NAME \
--instance=INSTANCE_NAME

REST v1

  1. Elenca i certificati nell'istanza per ottenere l'impronta del certificato che vuoi eliminare:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato che vuoi eliminare. Non includere le virgolette.

  2. Elimina il certificato:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: l'attributo sha1FingerPrint del certificato

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Elenca i certificati nell'istanza per ottenere l'impronta del certificato che vuoi eliminare:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato che vuoi eliminare. Non includere le virgolette.

  2. Elimina il certificato:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: l'attributo sha1FingerPrint del certificato

    Metodo HTTP e URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Gestisci i certificati CA del server (CA per istanza)

Questa sezione descrive come gestire i certificati CA del server creati internamente da Cloud SQL. Questa è la modalità CA del server predefinita in Cloud SQL. In questa gerarchia di autorità di certificazione, Cloud SQL crea un'autorità di certificazione del server per ogni istanza.

Ruota i certificati CA del server

Se hai ricevuto una notifica relativa alla scadenza dei tuoi certificati o vuoi avviare una rotazione, segui i passaggi che seguono per completarla. Prima di iniziare la rotazione, devi avere una nuova CA del server sull'istanza. Se è già stata creata una nuova CA del server, puoi saltare il primo passaggio della procedura che segue.

  1. Crea una nuova CA del server.
  2. Scarica le informazioni del nuovo certificato CA del server.
  3. Aggiorna i client in modo che utilizzino le informazioni del nuovo certificato CA del server.
  4. Completa la rotazione, che sposta il certificato attivo nell'apposito spazio "precedente" e aggiorna il certificato appena aggiunto in modo che sia attivo.

Console

Scarica le informazioni del nuovo certificato CA del server:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. Fai clic per espandere Gestisci i certificati.
  6. Seleziona Ruota il certificato CA.

    Se non sono presenti certificati idonei, l'opzione di rotazione non è disponibile.

  7. Fai clic su Scarica certificati.

Le informazioni del certificato CA del server, codificate come file PEM, vengono scaricate nell'ambiente locale:

  • Aggiorna tutti i client MySQL in modo che utilizzino le nuove informazioni copiando il file scaricato sulle macchine host dei client, sostituendo il file server-ca.pem esistente.

Dopo aver aggiornato i client, completa la rotazione:

  1. Torna alla scheda Sicurezza.
  2. Fai clic per espandere Gestisci i certificati.
  3. Seleziona Ruota il certificato CA.
  4. Verifica che i clienti si connettano correttamente.

    Se i client non si connettono utilizzando il certificato appena ruotato, puoi selezionare Esegui il rollback del certificato CA per eseguire il rollback alla configurazione precedente.

gcloud

  1. Crea un certificato CA del server:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. Scarica le informazioni del certificato in un file PEM locale:
    gcloud sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
  3. Aggiorna tutti i client in modo che utilizzino le nuove informazioni copiando il file scaricato sulle macchine host dei client, sostituendo i file server-ca.pem esistenti.
  4. Dopo aver aggiornato i client, completa la rotazione:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Verifica che i clienti si connettano correttamente.

    Se alcuni client non si connettono utilizzando il certificato appena ruotato, puoi eseguire il rollback alla configurazione precedente.

REST v1

  1. Scarica i certificati CA del server:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/listServerCas

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Scarica i certificati CA del server:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Eseguire il rollback di un'operazione di rotazione dei certificati

Dopo aver completato una rotazione dei certificati, tutti i client devono utilizzare il nuovo certificato per connettersi all'istanza Cloud SQL. Se i client non vengono aggiornati correttamente per utilizzare le informazioni del nuovo certificato, non possono connettersi all'istanza utilizzando SSL/TLS. In questo caso, puoi eseguire il rollback alla configurazione del certificato precedente.

Un'operazione di rollback sposta il certificato attivo nello slot "upcoming" (sostituendo eventuali certificati "upcoming"). Il certificato "precedente" diventa quello attivo e la configurazione del certificato torna allo stato precedente al completamento della rotazione.

Per eseguire il rollback alla configurazione del certificato precedente:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. Fai clic per espandere Gestisci i certificati.
  6. Seleziona Esegui il rollback del certificato CA.

    Se non sono presenti certificati idonei, l'opzione di rollback non è disponibile. In caso contrario, l'azione di rollback viene completata dopo alcuni secondi.

gcloud

gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

  1. Scarica i certificati CA del server:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/listServerCas

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint per la versione a cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente precedente rispetto alla versione con il valore sha1Fingerprint visualizzato come activeVersion.

  3. Esegui il rollback della rotazione:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Corpo JSON della richiesta:

    {
      "rotateServerCaContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Scarica i certificati CA del server:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint per la versione a cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente precedente rispetto alla versione con il valore sha1Fingerprint visualizzato come activeVersion.

  3. Esegui il rollback della rotazione:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Corpo JSON della richiesta:

    {
      "rotateServerCaContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Avvia una rotazione

Non è necessario attendere l'email di Cloud SQL per avviare una rotazione. Puoi avviarne una in qualsiasi momento. Quando avvii una rotazione, viene creato un nuovo certificato e inserito nello spazio "In programma". Se al momento della richiesta è già presente un certificato nella sezione "In programma", questo viene eliminato. Può essere presente un solo certificato imminente.

Per avviare una rotazione:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. Fai clic su Crea nuovo certificato CA.
  6. Fai clic per espandere Gestisci i certificati.
  7. Seleziona Ruota il certificato CA.

    Se non sono presenti certificati idonei, l'opzione di rotazione non è disponibile.

  8. Completa la rotazione come descritto in Ruotare i certificati CA del server.

gcloud

  1. Avvia la rotazione:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Completa la rotazione come descritto in Ruotare i certificati CA del server.

REST v1

  1. Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rotateServerCa

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione come descritto in Ruotare i certificati CA del server.

REST v1beta4

  1. Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione come descritto in Ruotare i certificati CA del server.

Ottenere informazioni su un certificato CA del server

Puoi ottenere informazioni sul certificato CA del server, ad esempio la data di scadenza o il livello di crittografia fornito.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.

    In Gestisci i certificati CA del server, puoi vedere la data di scadenza del certificato CA del server nella tabella.

    Per visualizzare il tipo di certificato, usa il comando gcloud sql ssl server-ca-certs list --instance=INSTANCE_NAME.

gcloud

gcloud sql ssl server-ca-certs list \
--instance=INSTANCE_NAME

REST v1

Quando descrivi l'istanza, puoi vedere i dettagli del certificato CA del server:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=serverCaCert

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Quando descrivi l'istanza, puoi vedere i dettagli del certificato CA del server:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=serverCaCert

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Visualizzare i contenuti dei certificati CA

Puoi utilizzare openssl storeutl per visualizzare i contenuti dei certificati CA.

Quando esegui il comando beta sql ssl server-ca-certs list, potresti ricevere più certificati CA da operazioni precedenti relative alla rotazione.

gcloud

  1. Esegui questo comando:
    gcloud beta sql ssl server-ca-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Sostituisci INSTANCE_NAME con il nome dell'istanza.

  2. Usa openssl per esaminare i contenuti dei certificati CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Visualizzare i contenuti di un certificato del server

Puoi utilizzare openssl s_client per visualizzare i contenuti dei certificati del server.

gcloud

Per visualizzare i contenuti del certificato del server, esegui il seguente comando:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Sostituisci INSTANCE_IP_ADDRESS con l'indirizzo IP dell'istanza.

Gestire i certificati del server (CA condivisa)

Questa sezione descrive come gestire i certificati del server nelle istanze che utilizzano CA condivise. Puoi attivare l'utilizzo delle CA condivise come modalità CA del server per la tua istanza specificando GOOGLE_MANAGED_CAS_CA per l'impostazione serverCaMode (API Cloud SQL Admin) o il flag --server-ca-mode (gcloud CLI) quando crei l'istanza.

Ruota i certificati del server

Se hai ricevuto una notifica relativa alla scadenza dei tuoi certificati o vuoi avviare una rotazione, segui i passaggi riportati di seguito per completarla. Prima di iniziare la rotazione, devi creare un nuovo certificato server per la rotazione imminente. Se è già stato creato un nuovo certificato server per la rotazione imminente, puoi saltare il primo passaggio della procedura che segue.

Per ruotare il certificato del server nell'istanza:

  1. Se hai bisogno di un nuovo certificato server, creane uno.

  2. Se i tuoi clienti già considerano attendibile la CA principale, questo passaggio è facoltativo. Tuttavia, se devi aggiornare i tuoi client con le informazioni della CA del server, segui questi passaggi:

    1. Scarica le informazioni più recenti sulla CA del server.
    2. Aggiorna i client in modo che utilizzino le informazioni CA del server più recenti.
  3. Completa la rotazione spostando il certificato attivo nello slot precedente e aggiornando il nuovo certificato in modo che sia quello attivo.

Console

Non puoi utilizzare la console Google Cloud per ruotare i certificati del server sulle istanze che utilizzano il servizio CA durante la preview. Utilizza il comando gcloud beta sql ssl server-certs rotate o i comandi dell'API Cloud SQL Admin.

gcloud

  1. Per creare un certificato del server, utilizza il seguente comando:
    gcloud beta sql ssl server-certs create \
    --instance=INSTANCE
  2. Sostituisci INSTANCE con il nome dell'istanza.
  3. Assicurati di utilizzare il bundle CA più recente. Se non utilizzi il bundle CA più recente, esegui il seguente comando per scaricare le informazioni CA del server più recenti per l' istanza in un file PEM locale:
    gcloud beta sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    In alternativa, scarica i bundle CA dalla tabella dei bundle di certificati CA radice e regionali in questa pagina.

    Aggiorna quindi tutti i client in modo che utilizzino le nuove informazioni della CA del server copiando il file scaricato sulle macchine host dei client, sostituendo i file server-ca.pem esistenti.

  4. Dopo aver aggiornato tutti i client (se sono necessari aggiornamenti), completa la rotazione:
    gcloud beta sql ssl server-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Verifica che i clienti si connettano correttamente.

    Se alcuni client non si connettono utilizzando il certificato del server appena ruotato, esegui il rollback alla configurazione precedente.

REST v1

  1. Crea un certificato server.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Se devi scaricare le informazioni del certificato CA del server, puoi utilizzare il seguente comando.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Completa la rotazione.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Crea un certificato server.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Se devi scaricare le informazioni del certificato CA del server, puoi utilizzare il seguente comando.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Completa la rotazione.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Eseguire il rollback di una rotazione dei certificati

Dopo aver completato una rotazione del certificato del server, tutti i client devono utilizzare il nuovo certificato per connettersi all'istanza Cloud SQL. Se i client non vengono aggiornati correttamente per utilizzare le informazioni del nuovo certificato, non possono connettersi all'istanza utilizzando SSL/TLS. In questo caso, puoi eseguire il rollback alla configurazione del certificato precedente.

Un'operazione di rollback sposta il certificato attivo nello spazio "in programma", che sostituisce qualsiasi certificato "in programma". Il certificato "precedente" diventa attivo e la configurazione del certificato viene ripristinata allo stato precedente prima del completamento della rotazione.

Console

Non puoi utilizzare la console Google Cloud per eseguire il rollback dei certificati del server sulle istanze che utilizzano il servizio CA durante la preview. Utilizza il comando gcloud beta sql ssl server-certs rollback o i comandi dell'API Cloud SQL Admin.

gcloud

gcloud beta sql ssl server-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

  1. Elenca i certificati del server.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint per la versione a cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente precedente rispetto alla versione con il valore sha1Fingerprint visualizzato come activeVersion.

  3. Esegui il rollback della rotazione.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Corpo JSON della richiesta:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Elenca i certificati del server.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint per la versione a cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente precedente rispetto alla versione con il valore sha1Fingerprint visualizzato come activeVersion.

  3. Esegui il rollback della rotazione.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID progetto
    • INSTANCE_ID: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Corpo JSON della richiesta:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Visualizzare i contenuti dei certificati CA

Puoi utilizzare l'utilità openssl storeutl per visualizzare i contenuti dei certificati CA.

Quando esegui il comando beta sql ssl server-certs list, ricevi sempre più certificati CA a causa della catena di attendibilità. Potresti anche ricevere più certificati CA da operazioni precedenti relative alla rotazione.

gcloud

  1. Esegui questo comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Sostituisci INSTANCE_NAME con il nome dell'istanza.

  2. Usa openssl per esaminare i contenuti dei certificati CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Visualizzare i contenuti di un certificato del server

Puoi utilizzare le utilità openssl e il comando beta sql ssl server-certs list per visualizzare i contenuti di un certificato del server.

Quando esegui il comando gcloud CLI, ricevi sempre più certificati CA a causa della catena di attendibilità. Inoltre, potresti ricevere più certificati CA da operazioni precedenti relative alla rotazione.

gcloud

Utilizzo solo di openssl s_client:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Sostituisci INSTANCE_IP_ADDRESS con l'indirizzo IP dell'istanza.

Utilizzo di gcloud CLI e openssl storeutl:

  1. Esegui questo comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(ssl_cert.cert)' > temp_cert.pem

    Sostituisci INSTANCE_NAME con il nome dell'istanza.

  2. Usa openssl per esaminare i contenuti dei certificati del server.
  3. openssl storeutl -noout -text temp_cert.pem
       

Scaricare i bundle di certificati CA radice e regionali

Puoi scaricare i bundle di certificati CA radice e regionali dalla tabella riportata di seguito.

Nome regione Località Pacchetto di certificati
Global
CA per tutte le regioni Tutte le località global.pem
Asia
asia-east1 Taiwan asia-east1.pem
asia-east2 Hong Kong asia-east2.pem
asia-northeast1 Tokyo asia-northeast1.pem
asia-northeast2 Osaka asia-northeast2.pem
asia-northeast3 Seul asia-northeast3.pem
asia-south1 Mumbai asia-south1.pem
asia-south2 Delhi asia-south2.pem
asia-southeast1 Singapore asia-southeast1.pem
asia-southeast2 Giacarta asia-southeast2.pem
Africa
africa-south1 Johannesburg africa-south1.pem
Australia
australia-southeast1 Sydney australia-southeast1.pem
australia-southeast2 Melbourne australia-southeast2.pem
Europa
europe-central2 Varsavia europe-central2.pem
europe-north1 Finlandia europe-north1.pem
europe-southwest1 Madrid europe-southwest1.pem
europe-west1 Belgio europe-west1.pem
europe-west2 Londra europe-west2.pem
europe-west3 Francoforte europe-west3.pem
europe-west4 Paesi Bassi europe-west4.pem
europe-west6 Zurigo europe-west6.pem
europe-west8 Milano europe-west8.pem
europe-west9 Parigi europe-west9.pem
europe-west10 Berlino europe-west10.pem
europe-west12 Torino europe-west12.pem
Medio Oriente
me-central1 Doha me-central1.pem
me-central2 Dammam me-central2.pem
me-west1 Tel Aviv me-west1.pem
Nord America
northamerica-northeast1 Montréal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 Messico northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 Carolina del Sud us-east1.pem
us-east4 Virginia del Nord us-east4.pem
us-east5 Columbus us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregon us-west1.pem
us-west2 Los Angeles us-west2.pem
us-west3 Salt Lake City us-west3.pem
us-west4 Las Vegas us-west4.pem
Sud America
southamerica-east1 San Paolo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

Reimposta la configurazione SSL/TLS

Puoi reimpostare completamente la configurazione SSL/TLS.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Connessioni dal menu di navigazione SQL.
  4. Vai alla sezione Reimposta configurazione SSL.
  5. Fai clic su Reimposta configurazione SSL.

gcloud

  1. Aggiorna il certificato:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
  2. gcloud sql instances restart INSTANCE_NAME
  3. Crea nuovi certificati client.

REST v1beta4

  1. Aggiorna il certificato:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/resetSslConfig

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Crea nuovi certificati client.

Passaggi successivi