Questa pagina descrive come gestire i certificati dell'autorità di certificazione (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. Tuttavia, non puoi recuperare la chiave privata. Se hai perso la chiave privata, devi
creare un nuovo certificato.
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
In Gestisci certificati client , fai clic sul nome di un certificato.
Si apre la pagina Certificato client SSL
che mostra il certificato client (client-cert.pem
) con
un link per scaricare il certificato.
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
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCertsList",
"items": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
]
}
Registra il campo sha1Fingerprint
per il certificato che vuoi recuperare. Non includere le virgolette.
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 : The cert's sha1FingerPrint
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
Copia tutti i dati del certificato contenuti tra le virgolette
in un file, ad esempio client-cert.pem
. Non copiare le
virgolette.
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCertsList",
"items": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
]
}
Registra il campo sha1Fingerprint
per il certificato che vuoi recuperare. Non includere le virgolette.
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 : The cert's sha1FingerPrint
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
Copia tutti i dati del certificato contenuti tra le virgolette
in un file, ad esempio client-cert.pem
. Non copiare le
virgolette.
Elimina un certificato client
Quando elimini un certificato client, il server di database viene aggiornato e non deve essere riavviato.
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
In Gestisci i certificati client , trova il certificato da
eliminare e fai clic su .
Nel riquadro Elimina certificato client , fai clic su Ok .
REST v1
Elenca i certificati sull'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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCertsList",
"items": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
]
}
Registra il campo sha1Fingerprint
per il certificato che vuoi eliminare. Non includere le virgolette.
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 : The cert's sha1FingerPrint
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Elenca i certificati sull'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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#sslCertsList",
"items": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint "
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ",
"createTime": "2020-02-13T00:10:20.595Z",
"expirationTime": "2030-02-10T00:11:20.595Z"
}
]
}
Registra il campo sha1Fingerprint
per il certificato che vuoi eliminare. Non includere le virgolette.
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 : The cert's sha1FingerPrint
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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 server predefinita in
Cloud SQL. In questa gerarchia di autorità di certificazione, Cloud SQL crea una CA server per ogni istanza.
Ruota i certificati CA del server
Se hai ricevuto una notifica relativa alla scadenza dei certificati o vuoi
avviare una rotazione, segui questi passaggi per completarla. Prima di iniziare la rotazione, devi avere una nuova CA server
sull'istanza. Se è già stata
creata una nuova CA server, puoi saltare il primo passaggio della procedura seguente.
Crea una nuova CA server.
Scarica le informazioni sul nuovo certificato CA del server.
Aggiorna i client in modo che utilizzino le nuove informazioni del certificato CA del server.
Completa la rotazione, che sposta il certificato attivo nello slot "precedente" e aggiorna il certificato appena aggiunto in modo che diventi il certificato attivo.
Dopo la rotazione del certificato SSL, le connessioni App Engine e
Cloud SQL Auth Proxy riceveranno automaticamente un nuovo certificato
quando si connettono.
Console
Scarica il nuovo certificato CA del server, codificato come file PEM,
nel tuo ambiente locale:
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Seleziona Ruota il certificato CA .
Se non sono presenti certificati idonei, l'opzione di rotazione non è disponibile. Devi creare un nuovo certificato CA del server .
Fai clic su Scarica certificati .
Aggiorna tutti i client PostgreSQL in modo che utilizzino le nuove informazioni copiando il file scaricato nelle macchine host client e sostituendo il file server-ca.pem
esistente.
Dopo aver aggiornato i client, completa la rotazione:
Torna alla scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Seleziona Ruota il certificato CA .
Verifica che i client si connettano correttamente.
Se alcuni client non si connettono utilizzando il certificato appena ruotato,
puoi selezionare Rollback CA certificate per
eseguire il rollback alla configurazione precedente.
gcloud
Crea un certificato CA server:
gcloud sql ssl server-ca-certs create \
--instance=INSTANCE
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
Aggiorna tutti i tuoi client in modo che utilizzino le nuove informazioni copiando il file scaricato nelle macchine host client e sostituendo i file server-ca.pem esistenti.
Dopo aver aggiornato i client, completa la rotazione:
gcloud sql ssl server-ca-certs rotate \
--instance=INSTANCE_NAME
Verifica che i client si connettano correttamente.
Se alcuni client non si connettono utilizzando il certificato appena ruotato,
puoi eseguire il rollback alla configurazione precedente.
REST v1
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"certs": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2019-11-14T22:43:56.458Z",
"expirationTime": "2029-11-11T22:44:56.458Z"
}
],
"activeVersion": "active-version ",
"kind": "sql#instancesListServerCas"
}
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"certs": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2019-11-14T22:43:56.458Z",
"expirationTime": "2029-11-11T22:44:56.458Z"
}
],
"activeVersion": "active-version ",
"kind": "sql#instancesListServerCas"
}
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Se ricevi un errore quando tenti di ruotare un certificato che indica
No upcoming/previous Server CA Certificate exists
, verifica di
eseguire il comando su un'istanza che utilizza la gerarchia CA per istanza.
Puoi visualizzare la gerarchia CA configurata per un'istanza Cloud SQL utilizzando il comando gcloud sql instances describe
.
Per saperne di più, consulta Visualizzare le informazioni sull'istanza .
Eseguire il rollback di un'operazione di rotazione del certificato
Dopo aver completato la rotazione di un certificato, tutti i client devono utilizzare il nuovo certificato per connettersi all'istanza Cloud SQL. Se i client
non vengono aggiornati correttamente per utilizzare le nuove informazioni del certificato, non possono
connettersi utilizzando SSL/TLS alla tua istanza. In questo caso, puoi
rollbacke la configurazione precedente del certificato.
Un'operazione di rollback sposta il certificato attivo nello spazio "in arrivo"
(sostituendo qualsiasi certificato "in arrivo"). Il certificato "precedente"
diventa il certificato attivo, riportando la
configurazione del certificato allo stato in cui si trovava prima del completamento
della rotazione.
Nota: il rollback del certificato è disponibile solo fino alla scadenza del vecchio certificato.
Per eseguire il rollback alla configurazione del certificato precedente:
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Seleziona Esegui il rollback del certificato CA . Se non sono presenti certificati idonei,
l'opzione di rollback non è disponibile. In caso contrario, il rollback
viene completato dopo pochi secondi.
gcloud
gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
REST v1
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"certs": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2019-11-14T22:43:56.458Z",
"expirationTime": "2029-11-11T22:44:56.458Z"
}
],
"activeVersion": "active-version ",
"kind": "sql#instancesListServerCas"
}
Copia il campo sha1Fingerprint
per la versione a cui vuoi eseguire il rollback.
Cerca la versione con un valore createTime immediatamente precedente
alla versione con il valore sha1Fingerprint mostrato come
activeVersion
.
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"certs": [
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
certSerialNumber": "cert-serial-number ",
"cert": "cert-value ",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2019-11-14T22:43:56.458Z",
"expirationTime": "2029-11-11T22:44:56.458Z"
}
],
"activeVersion": "active-version ",
"kind": "sql#instancesListServerCas"
}
Copia il campo sha1Fingerprint
per la versione a cui vuoi eseguire il rollback.
Cerca la versione con un valore createTime immediatamente precedente
alla versione con il valore sha1Fingerprint mostrato come
activeVersion
.
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Se ricevi un errore quando tenti di eseguire il rollback di una rotazione della CA certificato che indica
No upcoming/previous Server CA Certificate exists
, verifica che
stai eseguendo il comando su un'istanza che utilizza la gerarchia CA per istanza.
Puoi visualizzare la gerarchia CA configurata per un'istanza Cloud SQL utilizzando il comando gcloud sql instances describe
.
Per saperne di più, consulta Visualizzare le informazioni sull'istanza .
Avviare una rotazione
Non è necessario attendere l'email di Cloud SQL per avviare una rotazione.
Puoi avviarne uno in qualsiasi momento. Quando avvii una rotazione, viene creato un nuovo certificato
e inserito nello slot "In arrivo". Se al momento della richiesta è già presente un certificato
nello spazio "In arrivo", questo viene eliminato.
Può esserci un solo certificato in scadenza.
Per avviare una rotazione:
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Fai clic su Crea nuovo certificato CA .
Seleziona Ruota il certificato CA .
Se non sono presenti certificati idonei,
l'opzione di rotazione non è disponibile.
Completa la rotazione come descritto in
Ruota i certificati CA del server .
gcloud
Avvia la rotazione:
gcloud sql ssl server-ca-certs create \
--instance=INSTANCE_NAME
Completa la rotazione come descritto in
Ruota i certificati CA del server .
REST v1
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Completa la rotazione come descritto in
Ruota i certificati CA del server .
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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 la data di scadenza o il livello di crittografia che fornisce.
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
In Gestisci i certificati CA del server , puoi visualizzare la data di scadenza
del certificato CA del server nella tabella.
Per visualizzare il tipo di certificato, utilizza 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 visualizzare 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"serverCaCert":
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value -",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
}
}
REST v1beta4
Quando descrivi l'istanza, puoi visualizzare 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"serverCaCert":
{
"kind": "sql#sslCert",
"certSerialNumber": "cert-serial-number ",
"cert": "cert-value -",
"commonName": "ca-server-name ",
"sha1Fingerprint": "sha1Fingerprint ",
"instance": "instance-id ",
"createTime": "2020-02-10T17:18:54.935Z",
"expirationTime": "2030-02-07T17:19:54.935Z"
}
}
Visualizzare i contenuti dei certificati CA
Puoi utilizzare openssl storeutl
per visualizzare i contenuti dei certificati CA.
Quando esegui il comando sql ssl server-ca-certs list , potresti ottenere più certificati CA da operazioni precedenti correlate alla rotazione.
gcloud
Esegui questo comando:
gcloud sql ssl server-ca-certs list \
--instance= INSTANCE_NAME \
--format= 'value(cert)' > temp_cert.pem
Sostituisci INSTANCE_NAME con il nome dell'istanza.
Utilizza openssl
per esaminare i contenuti dei certificati CA.
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 questo comando:
openssl s_client -starttls postgres -connect INSTANCE_IP_ADDRESS :5432
Sostituisci INSTANCE_IP_ADDRESS con l'indirizzo IP dell'istanza.
Notifica di scadenza SSL del server esterno
Se il certificato CA del server esterno sta per scadere, ruota i certificati SSL ,
incluso il certificato CA del server nell'istanza on-premise. Questo passaggio
dipende da come viene gestita l'istanza on-premise. I passaggi possono variare se, ad esempio, utilizzi un certificato CA server RDS, un certificato CA server Cloud SQL o un certificato CA server generico per il database.
Se il certificato client sta per scadere, devi generare un nuovo
certificato e una nuova chiave. Ciò vale sia per i certificati SSL gestiti da Google Cloudsia per i certificati autofirmati.
Aggiorna l'istanza di rappresentazione dell'origine Cloud SQL con i nuovi certificati SSL.
Gestisci i certificati server (CA condivisa)
Questa sezione descrive come gestire i certificati server sulle istanze che utilizzano CA condivise o CA gestite dal cliente.
Puoi attivare l'utilizzo di CA condivise come modalità CA 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 .
Per utilizzare la CA gestita dal cliente come modalità CA server per l'istanza, devi specificare CUSTOMER_MANAGED_CAS_CA
per l'impostazione serverCaMode
(API Cloud SQL Admin) o il flag --server-ca-mode
(gcloud CLI ) quando crei l'istanza e devi disporre di un pool di CA e di una CA validi. Per ulteriori informazioni, vedi
Utilizzare l'autorità di certificazione gestita dal cliente .
Ruota i certificati server
Se hai ricevuto una notifica relativa alla scadenza dei certificati del server o vuoi
avviare una rotazione, segui questi passaggi per completarla.
Prima di iniziare la rotazione, deve essere creato 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 seguente.
Per ruotare il certificato del server sull'istanza, svolgi i seguenti passaggi:
Se hai bisogno di un nuovo certificato server, creane uno .
Se i tuoi clienti si fidano già della CA radice, questo passaggio è facoltativo. Tuttavia, se devi aggiornare i tuoi client con
le informazioni sulla CA del server, procedi nel seguente modo:
Scarica le informazioni più recenti sulla CA del server.
Aggiorna i client in modo che utilizzino le informazioni più recenti sulla CA del server.
Completa la rotazione spostando il certificato attivo nello slot precedente e aggiornando il nuovo certificato in modo che diventi quello attivo.
Console
Scarica le informazioni sul certificato CA del server, codificate come file PEM, nel tuo ambiente locale:
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Verifica che l'opzione Ruota certificato server venga visualizzata
come opzione disponibile, ma non selezionarla ancora.
Se non sono presenti certificati idonei, l'opzione di rotazione non è disponibile. Devi creare un nuovo certificato server .
Fai clic su Scarica certificati .
Aggiorna tutti i tuoi client PostgreSQL in modo che utilizzino le nuove informazioni copiando il file scaricato nelle macchine host client e sostituendo il file server-ca.pem
esistente.
Dopo aver aggiornato i client, completa la rotazione:
Torna alla scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Seleziona Ruota certificato .
Nella finestra di dialogo Conferma rotazione del certificato , fai clic su Ruota .
Verifica che i client si connettano correttamente.
Se alcuni client non si connettono utilizzando il certificato appena ruotato,
puoi selezionare Rollback certificato per
eseguire il rollback alla configurazione precedente.
gcloud
Per creare un certificato server, utilizza il seguente comando:
gcloud sql ssl server-certs create \
--instance=INSTANCE
Sostituisci INSTANCE con il nome dell'istanza.
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 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.
Quindi, aggiorna tutti i client in modo che utilizzino le nuove informazioni sulla CA del server
copiando il file scaricato nelle macchine host client e sostituendo i
file server-ca.pem
esistenti.
Dopo aver aggiornato tutti i client (se sono necessari aggiornamenti),
completa la rotazione:
gcloud sql ssl server-certs rotate \
--instance=INSTANCE_NAME
Verifica che i client si connettano correttamente.
Se alcuni client non si connettono utilizzando il certificato del server appena ruotato,
esegui il rollback alla configurazione precedente.
REST v1
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2024-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Se devi scaricare le informazioni sul 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"caCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_ONE ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-10T17:18:54.935Z",
"expirationTime": "2034-07-10T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-14T22:43:56.458Z",
"expirationTime": "2034-11-11T22:44:56.458Z"
}
],
"serverCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-16T18:11:39Z",
"expirationTime": "2025-09-16T18:11:38Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-10T20:56:06Z",
"expirationTime": "2025-09-10T20:56:05Z"
}
],
"activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ",
"kind": "sql#instancesListServerCertificates"
}
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2024-09-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/operation-id ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2024-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Se devi scaricare le informazioni sul 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"caCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_ONE ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-10T17:18:54.935Z",
"expirationTime": "2034-07-10T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-14T22:43:56.458Z",
"expirationTime": "2034-11-11T22:44:56.458Z"
}
],
"serverCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-16T18:11:39Z",
"expirationTime": "2025-09-16T18:11:38Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-10T20:56:06Z",
"expirationTime": "2025-09-10T20:56:05Z"
}
],
"activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ",
"kind": "sql#instancesListServerCertificates"
}
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2024-09-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Eseguire il rollback di una rotazione del certificato
Dopo aver completato la 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 nuove informazioni del certificato, non possono
connettersi utilizzando SSL/TLS alla tua istanza. In questo caso, puoi eseguire il rollback
alla configurazione del certificato precedente.
Un'operazione di rollback sposta il certificato attivo nello slot "In arrivo",
che sostituisce qualsiasi certificato "In arrivo". Il certificato "precedente" diventa
il certificato attivo e ripristina la configurazione del certificato allo stato
precedente al completamento della rotazione.
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Seleziona la scheda Sicurezza .
Fai clic per espandere Gestisci certificati .
Seleziona Esegui il rollback del certificato del server .
Se non sono presenti certificati idonei,
l'opzione di rollback non è disponibile.
Nella finestra di dialogo Conferma il rollback del certificato , seleziona Rollback .
Il rollback
potrebbe richiedere alcuni secondi.
gcloud
gcloud sql ssl server-certs rollback \
--instance=INSTANCE_NAME
REST v1
Elenca i certificati 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"caCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_ONE ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-10T17:18:54.935Z",
"expirationTime": "2034-07-10T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-14T22:43:56.458Z",
"expirationTime": "2034-11-11T22:44:56.458Z"
}
],
"serverCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-16T18:11:39Z",
"expirationTime": "2025-09-16T18:11:38Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-10T20:56:06Z",
"expirationTime": "2025-09-10T20:56:05Z"
}
],
"activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ",
"kind": "sql#instancesListServerCertificates"
}
Copia il campo sha1Fingerprint
per la versione a cui vuoi eseguire il rollback.
Cerca la versione con un valore createTime
immediatamente precedente
alla versione con il valore sha1Fingerprint
mostrato come
activeVersion
.
Eseguire 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Elenca i certificati 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"caCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_ONE ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-10T17:18:54.935Z",
"expirationTime": "2034-07-10T17:19:54.935Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ",
"cert": "CERT_VALUE ",
"commonName": "CA_SERVER_NAME ",
"sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-07-14T22:43:56.458Z",
"expirationTime": "2034-11-11T22:44:56.458Z"
}
],
"serverCerts": [
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-16T18:11:39Z",
"expirationTime": "2025-09-16T18:11:38Z"
},
{
"kind": "sql#sslCert",
"certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ",
"cert": "CERT_VALUE "
"commonName": "SUBJECT_VALUE ",
"sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ",
"instance": "INSTANCE_NAME ",
"createTime": "2024-09-10T20:56:06Z",
"expirationTime": "2025-09-10T20:56:05Z"
}
],
"activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ",
"kind": "sql#instancesListServerCertificates"
}
Copia il campo sha1Fingerprint
per la versione a cui vuoi eseguire il rollback.
Cerca la versione con un valore createTime
immediatamente precedente
alla versione con il valore sha1Fingerprint
mostrato come
activeVersion
.
Eseguire 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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Visualizzare i contenuti dei certificati CA
Puoi utilizzare l'utilità openssl storeutl
per visualizzare i contenuti dei certificati CA.
Quando esegui il comando sql ssl server-certs list , ottieni sempre
più certificati CA a causa della catena di attendibilità.
Potresti anche ricevere più certificati CA da operazioni precedenti
correlate alla rotazione.
gcloud
Esegui questo comando:
gcloud sql ssl server-certs list \
--instance= INSTANCE_NAME \
--format= 'value(cert)' > temp_cert.pem
Sostituisci INSTANCE_NAME con il nome dell'istanza.
Utilizza openssl
per esaminare i contenuti dei certificati CA.
openssl storeutl -noout -text temp_cert.pem
Visualizzare i contenuti di un certificato del server
Puoi utilizzare le utilità openssl
e il comando sql ssl server-certs list
per visualizzare i contenuti di un certificato del server.
Quando esegui il comando gcloud CLI , ottieni sempre più certificati CA a causa della catena di attendibilità. Potresti anche
ricevere più certificati CA da operazioni precedenti
correlate alla rotazione.
gcloud
Utilizzo solo di openssl s_client
:
openssl s_client -starttls postgres -connect INSTANCE_IP_ADDRESS :5432
Sostituisci INSTANCE_IP_ADDRESS con l'indirizzo IP dell'istanza.
Utilizzo di gcloud CLI
e openssl storeutl
:
Esegui questo comando:
gcloud sql ssl server-certs list \
--instance= INSTANCE_NAME \
--format= 'value(ssl_cert.cert)' > temp_cert.pem
Sostituisci INSTANCE_NAME con il nome dell'istanza.
Utilizza openssl
per esaminare i contenuti dei certificati del server.
openssl storeutl -noout -text temp_cert.pem
Scarica i bundle di certificati CA radice e regionale per una CA condivisa
Se utilizzi una configurazione CA condivisa gestita da Google, puoi scaricare
i bundle di certificati CA radice e regionale dalla seguente tabella.
Questi bundle di certificati non vengono applicati alle istanze che utilizzano le opzioni CA per istanza o gestite dal cliente.
Reimposta la configurazione SSL/TLS
Puoi reimpostare completamente la configurazione SSL/TLS.
Attenzione: l'esecuzione di questa azione rimuove la possibilità di connettersi all'istanza
utilizzando SSL/TLS finché non crei nuovi certificati client per sostituire quelli
precedentemente in uso.
Console
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (Connessioni) dal menu di navigazione SQL.
Vai alla sezione Reimposta configurazione SSL .
Fai clic su Reimposta configurazione SSL .
REST v1beta4
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:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-20T21:30:35.667Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Crea nuovi certificati client .
Passaggi successivi