Auf dieser Seite wird beschrieben, wie Sie Ihre Client- und Serverzertifikate verwalten.
Clientzertifikate 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.
Das Dialogfeld 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 Dialogfeld 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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
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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 "
}
Serverzertifikate verwalten
Serverzertifikate 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 Serverzertifikat herunter.
Aktualisieren Sie Ihre Clients, sodass die Informationen zum neuen Serverzertifikat 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 Serverzertifikat 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 Zertifikat wechseln aus.
Die Option zum Wechseln ist ausgegraut, wenn keine zulässigen Zertifikate vorhanden sind.
Klicken Sie auf Zertifikate herunterladen .
Die als PEM-Datei codierten Informationen zum Serverzertifikat 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 Zertifikat wechseln aus.
Prüfen Sie, ob sich die Clients korrekt verbinden.
Wenn es Clients gibt, die für den Verbindungsaufbau nicht das Zertifikat verwenden, zu dem gewechselt wurde, wählen Sie Rollback eines Zertifikats ausführen aus, um ein Rollback zur vorherigen Konfiguration durchzuführen .
gcloud
Erstellen Sie ein Serverzertifikat:
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 sich die Clients 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 Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 "
}
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 Zertifikats ausführen aus. Die Option zum Wechseln ist ausgegraut, wenn keine zulässigen Zertifikate vorhanden sind. 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 Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
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 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 Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
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 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 "
}
Rotation einleiten
Sie müssen nicht auf die E-Mail von Cloud SQL warten, um eine Rotation zu starten.
Dies ist jederzeit möglich. Wenn Sie eine Rotation starten, wird ein neues Zertifikat erstellt und im Slot "Nächstes" abgelegt. Befindet sich in diesem Slot bereits ein Zertifikat, so wird es gelöscht. Es kann jeweils 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 Zertifikat erstellen .
Maximieren Sie Zertifikate verwalten .
Wählen Sie Zertifikat wechseln aus.
Die Option zum Wechseln ist ausgegraut, wenn keine zulässigen Zertifikate vorhanden sind.
Schließen Sie die Rotation ab, wie unter Serverzertifikate 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 Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 "
}
Schließen Sie die Rotation ab, wie unter Serverzertifikate 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 "
}
Schließen Sie die Rotation ab, wie unter Serverzertifikate rotieren beschrieben.
Informationen zu einem Serverzertifikat abrufen
Sie können Informationen zu Ihrem Serverzertifikat 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 Serverzertifikate verwalten sehen Sie in der Tabelle das Ablaufdatum Ihres Serverzertifikats.
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
Mit dem Befehl "describe" können Sie Details zum Serverzertifikat 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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
Mit dem Befehl "describe" können Sie Details zum Serverzertifikat 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in etwa folgende JSON-Antwort 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.
Scrollen Sie nach unten 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 in der gcloud
-Befehlszeile angemeldet haben, indem Sie gcloud init
ausführen
oder gcloud auth login
ausführen oder Cloud Shell nutzen, mit dem Sie automatisch in der gcloud
-Befehlszeile angemeldet werden.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list
aus.
Führen Sie diesen 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 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 "
}
Erstellen Sie neue Clientzertifikate.
Nächste Schritte