SSL-/TLS-Zertifikate verwalten

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

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.
  5. Klicken Sie unter Clientzertifikate verwalten auf einen Zertifikatsnamen.
  6. 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 API v1beta4

  1. Listen Sie die Zertifikate aus der Instanz auf, um den Fingerabdruck des Zertifikats zu ermitteln, das Sie abrufen möchten:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort 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:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort 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. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.
  5. Suchen Sie unter Clientzertifikate verwalten das Zertifikat, das Sie löschen möchten, und klicken Sie auf Löschen.
  6. Klicken Sie im Dialogfeld Clientzertifikat löschen auf OK.

gcloud

  1. Löschen Sie das Clientzertifikat mit dem Befehl ssl client-certs delete:

    gcloud sql ssl client-certs delete [CERT_NAME] --instance=[INSTANCE_NAME]
    
  2. gcloud sql instances restart [INSTANCE_NAME]
    

REST API v1beta4

  1. Listen Sie die Zertifikate aus der Instanz auf, damit Sie den Fingerabdruck des zu löschenden Zertifikats ermitteln können:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort 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:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort erhalten:

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:

  1. Laden Sie die Informationen zum neuen Serverzertifikat herunter.
  2. Aktualisieren Sie Ihre Clients, sodass die Informationen zum neuen Serverzertifikat verwendet werden.
  3. 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 Serverzertifikat herunter:

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".
    Zur Seite "Cloud SQL-Instanzen"
  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.
  5. Maximieren Sie Zertifikate verwalten.
  6. Wählen Sie Zertifikat wechseln aus.

    Die Option zum Wechseln ist ausgegraut, wenn keine zulässigen Zertifikate vorhanden sind.

  7. Klicken Sie auf Zertifikate herunterladen.

Die als PEM-Datei codierten Informationen zum Serverzertifikat werden in Ihre lokale Umgebung heruntergeladen:

  • Aktualisieren Sie alle Ihre MySQL-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 Abschnitt Sicherheit zurück.
  2. Maximieren Sie Zertifikate verwalten.
  3. Wählen Sie Zertifikat wechseln aus.
  4. Prüfen Sie, ob sich die Clients korrekt verbinden.
  5. 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

  1. Erstellen Sie ein Serverzertifikat:
    gcloud beta sql ssl server-ca-certs create --instance=[INSTANCE]
  2. 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
  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 beta sql ssl server-ca-certs rotate --instance=[INSTANCE_NAME]
          
  5. 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 API v1beta4

  1. Laden Sie die Serverzertifikate herunter:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort erhalten:

  2. Schließen Sie die Rotation ab:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort erhalten:

Zertifikatsrotation rückgängig machen

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. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".
    Zur Seite "Cloud SQL-Instanzen"
  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.
  5. Maximieren Sie Zertifikate verwalten.
  6. 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 API v1beta4

  1. Laden Sie die Serverzertifikate herunter:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort 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:

    Geben Sie für die Parameter folgende Werte an:

    • 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 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

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".
    Zur Seite "Cloud SQL-Instanzen"
  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.
  5. Klicken Sie auf Neues Zertifikat erstellen.
  6. Maximieren Sie Zertifikate verwalten.
  7. Wählen Sie Zertifikat wechseln aus.

    Die Option zum Wechseln ist ausgegraut, wenn keine zulässigen Zertifikate vorhanden sind.

  8. Schließen Sie die Rotation ab, wie unter Serverzertifikate rotieren beschrieben.

gcloud

  1. Leiten Sie die Rotation ein:
         gcloud beta sql ssl server-ca-certs create --instance=[INSTANCE_NAME]
         
  2. Schließen Sie die Rotation ab, wie unter Serverzertifikate rotieren beschrieben.

REST API v1beta4

  1. Ersetzen Sie diese Werte in den folgenden Anweisungen:

    • 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 in etwa folgende JSON-Antwort erhalten:

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

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten zum Abschnitt Sicherheit.

    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 API v1beta4

Mit dem Befehl "describe" können Sie Details zum Serverzertifikat abrufen:

Geben Sie für die Parameter folgende Werte an:

  • 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 in etwa folgende JSON-Antwort erhalten:

SSL/TLS-Konfiguration zurücksetzen

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

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie im linken Navigationsbereich auf den Link Verbindungen.
  4. Scrollen Sie nach unten 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. gcloud sql instances restart [INSTANCE_NAME]
    
  3. Erstellen Sie neue Clientzertifikate.

REST API v1beta4

  1. Aktualisieren Sie das Zertifikat:

    Geben Sie für die Parameter folgende Werte an:

    • 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 in etwa folgende JSON-Antwort erhalten:

  2. Erstellen Sie neue Clientzertifikate.

Nächste Schritte