Gestione dei certificati SSL/TLS

In questa pagina viene descritto come gestire i certificati CA del client e del server.

Gestisci i certificati client

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

Recupera un certificato client

Puoi recuperare la parte della chiave pubblica di un certificato client. Non puoi recupera la chiave privata. Se hai perso la chiave privata, devi: per 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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. In Gestisci certificati client, fai clic sul nome di un certificato.
  6. Pagina Certificato client SSL si apre e mostra il certificato client (client-cert.pem) con un link per scaricare il certificato.

gcloud

Recupera la chiave pubblica del certificato client con il 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 la fingerprint dell'istanza che desideri recuperare:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato desiderato da recuperare. Non includere le virgolette.

  2. Recupera il certificato:

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

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: lo 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 delle seguenti 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 il le virgolette stesse.

REST v1beta4

  1. Elenca i certificati nell'istanza per ottenere la fingerprint dell'istanza che desideri recuperare:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato desiderato da recuperare. Non includere le virgolette.

  2. Recupera il certificato:

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

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: lo 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 delle seguenti 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 il le virgolette stesse.

Elimina un certificato client

Quando elimini un certificato client, il server del database viene aggiornato e non deve essere riavviato.

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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. In Gestisci i certificati client, trova il certificato da Elimina e fai clic su Elimina..
  6. Nel riquadro Elimina certificato client, fai clic su Ok.

gcloud

Elimina il certificato client utilizzando il comando 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 la fingerprint dell'istanza che desideri eliminare:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato desiderato da eliminare. Non includere le virgolette.

  2. Elimina il certificato:

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

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: lo 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Elenca i certificati nell'istanza per ottenere la fingerprint dell'istanza che desideri eliminare:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Registra il campo sha1Fingerprint per il certificato desiderato da eliminare. Non includere le virgolette.

  2. Elimina il certificato:

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

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • sha1FingerPrint: lo 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Gestisci i certificati CA del server

Ruota i certificati CA del server

Se hai ricevuto un avviso relativo ai tuoi certificati in scadenza o hai avviato una rotazione, per completare rotazione:

  1. Scarica le informazioni del nuovo certificato CA del server.
  2. Aggiorna i client per utilizzare le informazioni del nuovo certificato CA del server.
  3. Completa la rotazione, che sposta il certificato attivo in il "precedente" di slot machine e aggiorna il certificato appena aggiunto 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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. Fai clic per espandere Gestisci certificati.
  6. Seleziona Ruota il certificato CA.

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

  7. Fai clic su Scarica certificati.

Vengono scaricate le informazioni del certificato CA del server, codificate come file PEM al tuo ambiente locale:

  • Aggiorna tutti i tuoi client MySQL per utilizzare le nuove informazioni copiando il file scaricato nei computer host client, sostituendo il server-ca.pem file esistente.

Dopo aver aggiornato i clienti, completa la rotazione:

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

    Se ci sono client non si connettono utilizzando il certificato appena ruotato, puoi selezionare Esegui il rollback del certificato CA esegui 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 beta sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
    
  3. Aggiorna tutti i tuoi clienti per utilizzare le nuove informazioni copiando il file scaricato nei computer host client, sostituendo il nei file server-ca.pem esistenti.
  4. Dopo aver aggiornato i clienti, completa la rotazione:
    gcloud beta sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Verifica che i clienti si connettano correttamente.

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

REST v1

  1. Scarica i certificati CA del server:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti 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, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Completa la rotazione:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Esegui il rollback di un'operazione di rotazione dei certificati

Una volta completata la rotazione dei certificati, i tuoi client devono utilizzare nuovo certificato per la connessione all'istanza Cloud SQL. Se i clienti non vengono aggiornati correttamente per utilizzare le informazioni del nuovo certificato, quindi non possono per connetterti all'istanza tramite SSL/TLS. In questo caso, puoi eseguire il rollback alla configurazione precedente dei certificati.

Un'operazione di rollback sposta il certificato attivo nel "prossimo" (in sostituzione di qualsiasi certificato "imminente"). Il pulsante "precedente" diventa il certificato attivo, restituendo il tuo configurazione del certificato allo stato in cui si trovava prima del completamento la 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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Seleziona la scheda Sicurezza.
  5. Fai clic per espandere Gestisci certificati.
  6. Seleziona Esegui il rollback del certificato CA.

    Se non esistono certificati idonei, l'opzione di rollback non è disponibile. Altrimenti, il rollback viene completata dopo pochi secondi.

gcloud

gcloud beta 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, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint della versione di cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente prima rispetto alla versione con il valore sha1Fingerprint activeVersion.

  3. Esegui il rollback della rotazione:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti 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, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Copia il campo sha1Fingerprint della versione di cui vuoi eseguire il rollback.

    Cerca la versione con un valore createTime immediatamente prima rispetto alla versione con il valore sha1Fingerprint activeVersion.

  3. Esegui il rollback della rotazione:

    Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Avviare 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 viene creato e inserito nel "prossimo" slot machine. Se è già presente un certificato nel "prossimo" dello spazio di archiviazione al momento della richiesta, il certificato viene eliminato. Può esserci 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 Connections (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 certificati.
  7. Seleziona Ruota il certificato CA.

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

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

gcloud

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

REST v1

  1. Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

REST v1beta4

  1. Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

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

Recuperare informazioni su un certificato CA del server

Puoi ottenere informazioni sul certificato CA del server, ad esempio quando scade o il livello di crittografia che offre.

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 Connections (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, utilizza la Comando gcloud beta sql ssl server-ca-certs list --instance=INSTANCE_NAME.

gcloud

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

REST v1

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

Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Quando descrivi la tua istanza, puoi vedere i dettagli sul server Certificato CA:

Prima di utilizzare i dati della richiesta, effettua 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Vai alla sezione Reimposta la 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, effettua 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 delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Crea nuovi certificati client.

Passaggi successivi