SSL/TLS-Zertifikate verwalten

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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie den Tab Sicherheit aus.
  5. Klicken Sie unter Clientzertifikate verwalten auf einen Zertifikatsnamen.
  6. 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

  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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

    Notieren Sie den Inhalt des Felds sha1Fingerprint für das abzurufende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  3. 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

  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/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

    Notieren Sie den Inhalt des Felds sha1Fingerprint für das abzurufende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  3. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie den Tab Sicherheit aus.
  5. Suchen Sie unter Clientzertifikate verwalten das Zertifikat, das Sie löschen möchten, und klicken Sie auf Löschen..
  6. 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

  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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

    Notieren Sie den Inhalt des Felds sha1Fingerprint für das zu löschende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

    Notieren Sie den Inhalt des Felds sha1Fingerprint für das zu löschende Zertifikat. Lassen Sie dabei die Anführungszeichen weg.

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Server-CA-Zertifikate verwalten (CA pro Instanz)

In diesem Abschnitt wird beschrieben, wie Sie Server-CA-Zertifikate verwalten, die intern von Cloud SQL erstellt werden. Dies ist der Standardmodus für Server-Zertifizierungsstellen in Cloud SQL. In dieser Zertifizierungsstellenhierarchie erstellt Cloud SQL für jede Instanz eine Server-Zertifizierungsstelle.

Server-CA-Zertifikate rotieren

Wenn Sie eine Benachrichtigung erhalten haben, dass Ihre Zertifikate ablaufen oder Sie eine Rotation auslösen möchten, führen Sie die folgenden Schritte aus, um die Rotation abzuschließen. Bevor Sie mit der Rotation beginnen, muss auf der Instanz eine neue Server-Zertifizierungsstelle vorhanden sein. Wenn bereits eine neue Server-Zertifizierungsstelle erstellt wurde, können Sie den ersten Schritt im folgenden Verfahren überspringen.

  1. Erstellen Sie eine neue Server-CA.
  2. Laden Sie die Informationen zum neuen Server-CA-zertifikat herunter:
  3. Aktualisieren Sie Ihre Clients, sodass die Informationen zum neuen Server-CA-zertifikat verwendet werden.
  4. 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.

Console

Laden Sie die Informationen zum neuen Server-CA-zertifikat herunter:

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie den Tab Sicherheit aus.
  5. Maximieren Sie Zertifikate verwalten.
  6. Wählen Sie CA-Zertifikat rotieren aus.

    Wenn keine zulässigen Zertifikate vorhanden sind, ist die Option zum Wechseln nicht verfügbar.

  7. 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:

  1. Kehren Sie zum Tab Sicherheit zurück.
  2. Maximieren Sie Zertifikate verwalten.
  3. Wählen Sie CA-Zertifikat rotieren aus.
  4. 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

  1. Erstellen Sie ein Server-CA-Zertifikat:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. Laden Sie die Zertifikatsinformationen in eine lokale PEM-Datei herunter:
    gcloud sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
  3. 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.
  4. Führen Sie nach der Aktualisierung der Clients die Rotation aus:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. 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

  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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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.

So kehren Sie zur vorherigen Zertifikatskonfiguration zurück:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie den Tab Sicherheit aus.
  5. Maximieren Sie Zertifikate verwalten.
  6. 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 sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
   

REST Version 1

  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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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.

  3. 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:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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.

  3. 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:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie den Tab Sicherheit aus.
  5. Klicken Sie auf Neues CA-Zertifikat erstellen.
  6. Maximieren Sie Zertifikate verwalten.
  7. Wählen Sie CA-Zertifikat rotieren aus.

    Wenn keine zulässigen Zertifikate vorhanden sind, ist die Option zum Wechseln nicht verfügbar.

  8. Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.

gcloud

  1. Leiten Sie die Rotation ein:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.

REST Version 1

  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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. Schließen Sie die Rotation ab, wie unter Server-CA-Zertifikate rotieren beschrieben.

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. 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 sql ssl server-ca-certs list --instance=INSTANCE_NAME ab.

gcloud

gcloud 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:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Inhalt von CA-Zertifikaten ansehen

Mit openssl storeutl können Sie den Inhalt von Zertifizierungsstellenzertifikaten aufrufen.

Wenn Sie den Befehl beta sql ssl server-ca-certs list ausführen, erhalten Sie möglicherweise mehrere CA-Zertifikate aus früheren drehungsbezogenen Vorgängen.

gcloud

  1. Führen Sie dazu diesen Befehl aus:
    gcloud beta sql ssl server-ca-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz.

  2. Verwenden Sie openssl, um den Inhalt der CA-Zertifikate zu prüfen.
  3. openssl storeutl -noout -text temp_cert.pem
       

Inhalt eines Serverzertifikats ansehen

Mit openssl s_client können Sie den Inhalt von Serverzertifikaten aufrufen.

gcloud

Führen Sie den folgenden Befehl aus, um den Inhalt des Serverzertifikats aufzurufen:

openssl s_client -starttls postgres -connect INSTANCE_IP_ADDRESS:5432

Ersetzen Sie INSTANCE_IP_ADDRESS durch die IP-Adresse der Instanz.

Serverzertifikate verwalten (gemeinsame Zertifizierungsstelle)

In diesem Abschnitt wird beschrieben, wie Sie Serverzertifikate in Instanzen verwalten, die gemeinsame Zertifizierungsstellen verwenden. Sie können die Verwendung freigegebener Zertifizierungsstellen als Server-Zertifizierungsstellenmodus für Ihre Instanz aktivieren, indem Sie beim Erstellen der Instanz GOOGLE_MANAGED_CAS_CA für die Einstellung serverCaMode (Cloud SQL Admin API) oder das Flag --server-ca-mode (gcloud CLI) angeben.

Serverzertifikate rotieren

Wenn Sie eine Benachrichtigung erhalten haben, dass Ihre Zertifikate ablaufen oder Sie eine Rotation auslösen möchten, führen Sie die folgenden Schritte aus, um die Rotation abzuschließen. Bevor Sie die Rotation starten, muss ein neues Serverzertifikat für die anstehende Rotation erstellt werden. Wenn für die nächste Rotation bereits ein neues Serverzertifikat erstellt wurde, können Sie den ersten Schritt im folgenden Verfahren überspringen.

So rotieren Sie das Serverzertifikat in Ihrer Instanz:

  1. Wenn Sie ein neues Serverzertifikat benötigen, erstellen Sie eines.

  2. Wenn Ihre Clients der Stamm-Zertifizierungsstelle bereits vertrauen, ist dieser Schritt optional. Wenn Sie Ihre Clients jedoch mit Informationen zur Server-CA aktualisieren müssen, gehen Sie so vor:

    1. Laden Sie die neuesten Informationen zur Server-CA herunter.
    2. Aktualisieren Sie Ihre Clients, sodass die neuesten Informationen zur Server-CA verwendet werden.
  3. Schließen Sie die Rotation ab, indem Sie das aktive Zertifikat in den vorherigen Slot verschieben und das neue Zertifikat zum aktiven Zertifikat aktualisieren.

Console

Sie können die Google Cloud Console nicht verwenden, um Serverzertifikate in Instanzen zu rotieren, die während der Vorabversion CA Service verwenden. Verwenden Sie stattdessen den Befehl gcloud beta sql ssl server-certs rotate oder die Befehle der Cloud SQL Admin API.

gcloud

  1. Verwenden Sie den folgenden Befehl, um ein Serverzertifikat zu erstellen:
    gcloud beta sql ssl server-certs create \
    --instance=INSTANCE
  2. Ersetzen Sie INSTANCE durch den Namen der Instanz.
  3. Achten Sie darauf, dass Sie das aktuelle CA-Bundle verwenden. Wenn Sie nicht das neueste CA-Bundle verwenden, führen Sie den folgenden Befehl aus, um die neuesten Server-CA-Informationen für die Instanz in eine lokale PEM-Datei herunterzuladen:
    gcloud beta sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    Sie können die CA-Bundles auch aus der Tabelle mit den Zertifikatsbundles von Stamm- und regionalen Zertifizierungsstellen auf dieser Seite herunterladen.

    Aktualisieren Sie dann alle Ihre Clients so, dass die neuen Informationen zur Server-CA verwendet werden. Kopieren Sie hierzu die heruntergeladene Datei auf Ihre Client-Hostcomputer und ersetzen Sie die vorhandenen server-ca.pem-Dateien.

  4. Führen Sie nach der Aktualisierung aller Clients (falls erforderlich) die Rotation aus:
    gcloud beta sql ssl server-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Prüfen Sie, ob die Clients sich korrekt verbinden.

    Wenn es Clients gibt, die für den Verbindungsaufbau nicht das Zertifikat verwenden, zu dem neu rotiert wurde, führen Sie ein Rollback zur vorherigen Konfiguration aus.

REST Version 1

  1. Erstellen Sie ein Serverzertifikat.

    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/addServerCertificate

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. Wenn Sie Informationen zum Server-CA-Zertifikat herunterladen möchten, können Sie den folgenden Befehl verwenden.

    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/listServerCertificates

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  3. 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/rotateServerCertificate

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

  1. Erstellen Sie ein Serverzertifikat.

    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/addServerCertificate

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. Wenn Sie Informationen zum Server-CA-Zertifikat herunterladen möchten, können Sie den folgenden Befehl verwenden.

    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/listServerCertificates

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  3. 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/rotateServerCertificate

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Rollback der Zertifikatsrotation

Nach Abschluss der Serverzertifikatsrotation müssen alle Ihre Clients das neue Zertifikat verwenden, um eine Verbindung mit der Cloud SQL-Instanz herzustellen. 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 aktiven Zertifikat und die Zertifikatskonfiguration wird auf den Zustand vor Abschluss der Rotation zurückgesetzt.

Console

Sie können die Google Cloud Console nicht verwenden, um Serverzertifikate für Instanzen rückgängig zu machen, die während der Vorabversion CA Service verwenden. Verwenden Sie stattdessen den Befehl gcloud beta sql ssl server-certs rollback oder die Befehle der Cloud SQL Admin API.

gcloud

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

REST Version 1

  1. Listen Sie Ihre Serverzertifikate auf.

    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/listServerCertificates

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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 sha1Fingerprint für activeVersion liegt.

  3. 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/rotateServerCertificate

    JSON-Text anfordern:

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

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

REST v1beta4

  1. Listen Sie Ihre Serverzertifikate auf.

    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/listServerCertificates

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. 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 sha1Fingerprint für activeVersion liegt.

  3. 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/rotateServerCertificate

    JSON-Text anfordern:

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

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

Inhalt von CA-Zertifikaten ansehen

Mit dem Dienstprogramm openssl storeutl können Sie den Inhalt von Zertifizierungsstellenzertifikaten aufrufen.

Wenn Sie den Befehl beta sql ssl server-certs list ausführen, erhalten Sie aufgrund der Vertrauenskette immer mehrere CA-Zertifikate. Möglicherweise erhalten Sie auch mehrere CA-Zertifikate aus früheren drehungsbezogenen Vorgängen.

gcloud

  1. Führen Sie dazu diesen Befehl aus:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz.

  2. Verwenden Sie openssl, um den Inhalt der CA-Zertifikate zu prüfen.
  3. openssl storeutl -noout -text temp_cert.pem
       

Inhalt eines Serverzertifikats ansehen

Sie können openssl-Dienstprogramme und den Befehl beta sql ssl server-certs list verwenden, um den Inhalt eines Serverzertifikats aufzurufen.

Wenn Sie den Befehl gcloud CLI ausführen, erhalten Sie aufgrund der Vertrauenskette immer mehrere Zertifikate der Zertifizierungsstelle. Möglicherweise erhalten Sie auch mehrere Zertifizierungsstellenzertifikate aus vorherigen drehungsbezogenen Vorgängen.

gcloud

Nur openssl s_client verwenden:

openssl s_client -starttls postgres -connect INSTANCE_IP_ADDRESS:5432

Ersetzen Sie INSTANCE_IP_ADDRESS durch die IP-Adresse der Instanz.

gcloud CLI und openssl storeutl verwenden:

  1. Führen Sie dazu diesen Befehl aus:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(ssl_cert.cert)' > temp_cert.pem

    Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz.

  2. Verwenden Sie openssl, um den Inhalt der Serverzertifikate zu prüfen.
  3. openssl storeutl -noout -text temp_cert.pem
       

Root- und regionale CA-Zertifikatspakete herunterladen

Sie können die Stamm- und regionalen CA-Zertifikatsbundles aus der folgenden Tabelle herunterladen.

Name der Region Standort Zertifikatsbundle
Global
CA für alle Regionen Alle Standorte global.pem
Asien
asia-east1 Taiwan asia-east1.pem
asia-east2 Hongkong asia-east2.pem
asia-northeast1 Tokio asia-northeast1.pem
asia-northeast2 Osaka asia-northeast2.pem
asia-northeast3 Seoul asia-northeast3.pem
asia-south1 Mumbai asia-south1.pem
asia-south2 Delhi asia-south2.pem
asia-southeast1 Singapur asia-southeast1.pem
asia-southeast2 Jakarta asia-southeast2.pem
Afrika
africa-south1 Johannesburg africa-south1.pem
Australien
australia-southeast1 Sydney australia-southeast1.pem
australia-southeast2 Melbourne australia-southeast2.pem
Europa
europe-central2 Warschau europe-central2.pem
europe-north1 Finnland europe-north1.pem
europe-southwest1 Madrid europe-southwest1.pem
europe-west1 Belgien europe-west1.pem
europe-west2 London europe-west2.pem
europe-west3 Frankfurt europe-west3.pem
europe-west4 Niederlande europe-west4.pem
europe-west6 Zürich europe-west6.pem
europe-west8 Mailand europe-west8.pem
europe-west9 Paris europe-west9.pem
europe-west10 Berlin europe-west10.pem
europe-west12 Turin europe-west12.pem
Naher Osten
me-central1 Doha me-central1.pem
me-central2 Dammam me-central2.pem
me-west1 Tel Aviv me-west1.pem
Nordamerika
northamerica-northeast1 Montreal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 Mexiko northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 South Carolina us-east1.pem
us-east4 Northern Virginia us-east4.pem
us-east5 Columbus us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregon us-west1.pem
us-west2 Los Angeles us-west2.pem
us-west3 Salt Lake City us-west3.pem
us-west4 Las Vegas us-west4.pem
Südamerika
southamerica-east1 São Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

SSL/TLS-Konfiguration zurücksetzen

Sie können die SSL/TLS-Konfiguration vollständig zurücksetzen.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Gehen Sie zum Abschnitt SSL-Konfiguration zurücksetzen.
  5. Klicken Sie auf SSL-Konfiguration zurücksetzen.

gcloud

  1. Aktualisieren Sie das Zertifikat:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
  2. Erstellen Sie neue Clientzertifikate.

REST v1beta4

  1. 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:

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

  2. Erstellen Sie neue Clientzertifikate.

Nächste Schritte