Auf dieser Seite wird beschrieben, wie Sie Ihre Client- und Server-CA-Zertifikate verwalten.
Clientzertifikate verwalten
Verwenden Sie die folgenden Verfahren, um Clientzertifikate in Cloud SQL zu verwalten.
Clientzertifikat abrufen
Sie können den öffentlichen Schlüssel für ein Clientzertifikat abrufen. Den zugehörigen privaten Schlüssel können Sie jedoch nicht abrufen. Wenn Sie Ihren privaten Schlüssel verlieren, müssen Sie ein neues Zertifikat erstellen.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Klicken Sie unter Clientzertifikate verwalten auf einen Zertifikatsnamen.
Die Seite SSL-Clientzertifikat wird geöffnet und zeigt das Clientzertifikat (client-cert.pem
) mit einem Link zum Herunterladen des Zertifikats an.
gcloud
Rufen Sie mit dem Befehl ssl client-certs describe
den öffentlichen Schlüssel des Clientzertifikats ab:
gcloud sql ssl client-certs describe CERT_NAME \
--instance=INSTANCE_NAME \
--format="value(cert)" > client-cert.pem
REST Version 1
Listen Sie die Zertifikate aus der Instanz auf, um den Fingerabdruck des Zertifikats zu ermitteln, das Sie abrufen möchten:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
]
}
Notieren Sie den Inhalt des Felds sha1Fingerprint
für das abzurufende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.
Rufen Sie das Zertifikat ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
sha1FingerPrint : der Wert des Zertifikats "sha1FingerPrint"
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Kopieren Sie alle Zertifikatsdaten in den Anführungszeichen in eine Datei, z. B. client-cert.pem
. Lassen Sie dabei die Anführungszeichen weg.
REST v1beta4
Listen Sie die Zertifikate aus der Instanz auf, um den Fingerabdruck des Zertifikats zu ermitteln, das Sie abrufen möchten:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
]
}
Notieren Sie den Inhalt des Felds sha1Fingerprint
für das abzurufende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.
Rufen Sie das Zertifikat ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
sha1FingerPrint : der Wert des Zertifikats "sha1FingerPrint"
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Kopieren Sie alle Zertifikatsdaten in den Anführungszeichen in eine Datei, z. B. client-cert.pem
. Lassen Sie dabei die Anführungszeichen weg.
Clientzertifikat löschen
Wenn Sie ein Clientzertifikat löschen, wird der Datenbankserver aktualisiert und muss nicht neu gestartet werden.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Suchen Sie unter Clientzertifikate verwalten das Zertifikat, das Sie löschen möchten, und klicken Sie auf .
Klicken Sie im Bereich Clientzertifikat löschen auf OK .
gcloud
Löschen Sie das Clientzertifikat mit dem Befehl ssl client-certs delete :
gcloud sql ssl client-certs delete CERT_NAME \
--instance=INSTANCE_NAME
REST Version 1
Listen Sie die Zertifikate aus der Instanz auf, damit Sie den Fingerabdruck des zu löschenden Zertifikats ermitteln können:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
]
}
Notieren Sie den Inhalt des Felds sha1Fingerprint
für das zu löschende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.
Löschen Sie das Zertifikat:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
sha1FingerPrint : der Wert des Zertifikats "sha1FingerPrint"
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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
Listen Sie die Zertifikate aus der Instanz auf, damit Sie den Fingerabdruck des zu löschenden Zertifikats ermitteln können:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
]
}
Notieren Sie den Inhalt des Felds sha1Fingerprint
für das zu löschende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.
Löschen Sie das Zertifikat:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
sha1FingerPrint : der Wert des Zertifikats "sha1FingerPrint"
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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 "
}
Server-CA-Zertifikate verwalten
Server-CA-Zertifikate rotieren
Wenn Sie eine Benachrichtigung erhalten haben, dass Ihre Zertifikate ablaufen oder eine Rotation ausgelöst wurde, führen Sie die folgenden Schritte aus, um die Rotation abzuschließen:
Laden Sie die Informationen zum neuen Server-CA-zertifikat herunter:
Aktualisieren Sie Ihre Clients, sodass die Informationen zum neuen Server-CA-zertifikat verwendet werden.
Schließen Sie die Rotation ab. Dadurch wird das derzeit aktive Zertifikat in den Slot "Vorherige" verschoben und das neu hinzugefügte Zertifikat zum aktiven Zertifikat.
Nach der Rotation des SSL-Zertifikats erhalten Ihre App Engine- und Cloud SQL Auth-Proxyverbindungen beim Verbindungsaufbau automatisch ein neues Zertifikat.
Console
Laden Sie die Informationen zum neuen Server-CA-zertifikat herunter:
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Maximieren Sie Zertifikate verwalten .
Wählen Sie CA-Zertifikat rotieren aus.
Wenn keine zulässigen Zertifikate vorhanden sind, ist die Option zum Wechseln nicht verfügbar.
Klicken Sie auf Zertifikate herunterladen .
Die als PEM-Datei codierten Informationen zum Server-CA-zertifikat werden in Ihre lokale Umgebung heruntergeladen:
Aktualisieren Sie alle Ihre PostgreSQL-Clients so, dass die neuen Informationen verwendet werden. Kopieren Sie hierzu die heruntergeladene Datei auf Ihre Client-Hostcomputer und ersetzen Sie die vorhandene server-ca.pem
-Datei.
Führen Sie nach der Aktualisierung der Clients die Rotation aus:
Kehren Sie zum Tab Sicherheit zurück.
Maximieren Sie Zertifikate verwalten .
Wählen Sie CA-Zertifikat rotieren aus.
Prüfen Sie, ob die Clients sich korrekt verbinden.
Wenn es Clients gibt, die für den Verbindungsaufbau nicht das Zertifikat verwenden, zu dem gewechselt wurde, wählen Sie Rollback eines CA-Zertifikats ausführen aus, um ein Rollback zur vorherigen Konfiguration durchzuführen .
gcloud
Erstellen Sie ein Server-CA-Zertifikat:
gcloud beta sql ssl server-ca-certs create \
--instance=INSTANCE
Laden Sie die Zertifikatsinformationen in eine lokale PEM-Datei herunter:
gcloud beta sql ssl server-ca-certs list \
--format="value(cert)" \
--instance=INSTANCE_NAME > \
FILE_PATH /FILE_NAME .pem
Aktualisieren Sie alle Ihre Clients so, dass die neuen Informationen verwendet werden. Kopieren Sie hierzu die heruntergeladene Datei auf Ihre Client-Hostcomputer und ersetzen Sie die vorhandenen server-ca.pem-Dateien.
Führen Sie nach der Aktualisierung der Clients die Rotation aus:
gcloud beta sql ssl server-ca-certs rotate \
--instance=INSTANCE_NAME
Prüfen Sie, ob die Clients sich korrekt verbinden.
Gibt es Clients, die sich nicht mit dem gerade rotierten Zertifikat verbinden, können Sie ein Rollback zur vorherigen Konfiguration durchführen.
REST Version 1
Laden Sie die Server-CA-Zertifikate herunter:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Schließen Sie die Rotation ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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
Laden Sie die Server-CA-Zertifikate herunter:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Schließen Sie die Rotation ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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 "
}
Rollback der Zertifikatsrotation durchführen
Nach Abschluss der Zertifikatsrotation müssen alle Clients das neue Zertifikat verwenden, um eine Verbindung mit der Cloud SQL-Instanz herstellen zu können. Wenn die Clients nicht korrekt aktualisiert wurden und die neuen Zertifikatsinformationen nicht verwenden, können sie keine SSL/TLS-Verbindung zur Instanz herstellen. In diesem Fall können Sie zur vorherigen Zertifikatskonfiguration zurückkehren.
Ein Rollback-Vorgang verschiebt das aktuell aktive Zertifikat in den Slot "Nächste". Das eventuell im Slot vorhandene Zertifikat wird dabei ersetzt. Das "vorherige" Zertifikat wird zum aktuell aktiven Zertifikat und die Zertifikatskonfiguration wird auf den Zustand vor Abschluss der Rotation zurückgesetzt.
Hinweis: Ein Zertifikat-Rollback ist nur möglich, wenn das alte Zertifikat noch nicht abgelaufen ist.
So kehren Sie zur vorherigen Zertifikatskonfiguration zurück:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Maximieren Sie Zertifikate verwalten .
Wählen Sie Rollback eines CA-Zertifikats ausführen aus. Wenn keine zulässigen Zertifikate vorhanden sind, ist die Rollback-Option nicht verfügbar. Andernfalls ist die Rollback-Aktion nach einigen Sekunden abgeschlossen.
gcloud
gcloud beta sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
REST Version 1
Laden Sie die Server-CA-Zertifikate herunter:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Kopieren Sie das Feld sha1Fingerprint
für die Version, zu der Sie mit dem Rollback zurückkehren möchten.
Das ist die Version, deren Wert für createTime unmittelbar vor der Version mit dem Wert activeVersion
für sha1Fingerprint liegt.
Machen Sie die Rotation rückgängig:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa
JSON-Text anfordern:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"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
Laden Sie die Server-CA-Zertifikate herunter:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
Kopieren Sie das Feld sha1Fingerprint
für die Version, zu der Sie mit dem Rollback zurückkehren möchten.
Das ist die Version, deren Wert für createTime unmittelbar vor der Version mit dem Wert activeVersion
für sha1Fingerprint liegt.
Machen Sie die Rotation rückgängig:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa
JSON-Text anfordern:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten in etwa folgende JSON-Antwort erhalten:
Antwort
{
"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 "
}
Rotation einleiten
Sie müssen nicht warten, bis die E-Mail von Cloud SQL kam, um eine Rotation starten.
Dies ist jederzeit möglich. Wenn Sie eine Rotation starten, wird ein neues Zertifikat erstellt und im Slot "Nächstes" abgelegt. Wenn zum Zeitpunkt der Anfrage bereits ein Zertifikat im Slot "Nächstes" vorhanden ist, wird dieses gelöscht.
Es kann nur ein "nächstes" Zertifikat geben.
So leiten Sie eine Rotation ein:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Klicken Sie auf Neues CA-Zertifikat erstellen .
Maximieren Sie Zertifikate verwalten .
Wählen Sie CA-Zertifikat rotieren aus.
Wenn keine zulässigen Zertifikate vorhanden sind, ist die Option zum Wechseln nicht verfügbar.
Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.
gcloud
Leiten Sie die Rotation ein:
gcloud beta sql ssl server-ca-certs create \
--instance=INSTANCE_NAME
Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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 "
}
Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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 "
}
Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.
Informationen zu einem Server-CA-zertifikat abrufen
Sie können Informationen zu Ihrem Server-CA-zertifikat wie Ablaufdatum oder Verschlüsselungsstufe abrufen.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Wählen Sie den Tab Sicherheit aus.
Unter Server-CA-Zertifikate verwalten sehen Sie in der Tabelle das Ablaufdatum Ihres Server-CA-Zertifikats.
Rufen Sie den Zertifikatstyp mit dem Befehl gcloud beta sql ssl server-ca-certs list --instance=INSTANCE_NAME
ab.
gcloud
gcloud beta sql ssl server-ca-certs list \
--instance=INSTANCE_NAME
REST Version 1
Beim Beschreiben der Instanz können Sie Details zum Server-CA-Zertifikat abrufen:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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
Beim Beschreiben der Instanz können Sie Details zum Server-CA-Zertifikat abrufen:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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"
}
}
SSL/TLS-Konfiguration zurücksetzen
Sie können die SSL/TLS-Konfiguration vollständig zurücksetzen.
Achtung : Nach diesem Vorgang ist es nicht mehr möglich, SSL/TLS-Verbindungen zur Instanz herzustellen. Sie müssen dazu erst neue Clientzertifikate erstellen, um die zuvor verwendeten zu ersetzen.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen .
Cloud SQL-Instanzen aufrufen
Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
Gehen Sie zum Abschnitt SSL-Konfiguration zurücksetzen .
Klicken Sie auf SSL-Konfiguration zurücksetzen .
REST v1beta4
Aktualisieren Sie das Zertifikat:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu haben Sie gcloud init
oder gcloud auth login
ausgeführt oder die Cloud Shell genutzt, die Sie automatisch bei der gcloud
-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
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)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto bei der gcloud
-Befehlszeile angemeldet haben. Dazu führen Sie gcloud init
oder gcloud auth login
aus.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"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 "
}
Erstellen Sie neue Clientzertifikate.
Nächste Schritte