SSL/TLS-Zertifikate verwalten

Auf dieser Seite wird beschrieben, wie Sie Ihre Client- und Server-CA-Zertifikate (Certificate Authority, Zertifizierungsstelle) 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 (instanzbezogene CA)

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-CA 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 eine Rotation auslösen möchten, führen Sie die folgenden Schritte aus, um die Rotation abzuschließen. Bevor Sie die Rotation starten, muss auf der Instanz eine neue Server-CA 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 das neue Server-CA-Zertifikat, das als PEM-Datei codiert ist, in Ihre lokale Umgebung 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. Sie müssen ein neues Server-CA-Zertifikat erstellen.

  7. Klicken Sie auf Zertifikate herunterladen.

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

Wenn beim Versuch, ein Zertifikat zu rotieren, der Fehler No upcoming/previous Server CA Certificate exists angezeigt wird, prüfen Sie, ob Sie den Befehl auf einer Instanz ausführen, die die CA-Hierarchie pro Instanz verwendet. Mit dem Befehl gcloud sql instances describe können Sie sehen, welche CA-Hierarchie für eine Cloud SQL-Instanz konfiguriert ist. Weitere Informationen finden Sie unter Instanzinformationen ansehen.

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:

Wenn Sie beim Versuch, die CA-Rotation eines Zertifikats rückgängig zu machen, einen Fehler mit der Meldung No upcoming/previous Server CA Certificate exists erhalten, prüfen Sie, ob Sie den Befehl auf einer Instanz ausführen, die die CA-Hierarchie pro Instanz verwendet. Mit dem Befehl gcloud sql instances describe können Sie sehen, welche CA-Hierarchie für eine Cloud SQL-Instanz konfiguriert ist. Weitere Informationen finden Sie unter Instanzinformationen ansehen.

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. Maximieren Sie Zertifikate verwalten.
  6. Klicken Sie auf Neues CA-Zertifikat erstellen.
  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 CA-Zertifikaten aufrufen.

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

gcloud

  1. Führen Sie dazu diesen Befehl aus:
    gcloud 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 mysql -connect INSTANCE_IP_ADDRESS:3306

Ersetzen Sie INSTANCE_IP_ADDRESS durch die IP-Adresse der Instanz.

Benachrichtigung über den Ablauf des SSL-Zertifikats auf einem externen Server

  • Wenn das Server-CA-Zertifikat des externen Servers abläuft, rotieren Sie die SSL-Zertifikate, einschließlich des Server-CA-Zertifikats in der lokalen Instanz. Dieser Schritt hängt davon ab, wie die lokale Instanz verwaltet wird. Die Schritte können variieren, wenn Sie beispielsweise ein RDS-Server-CA-Zertifikat, ein Cloud SQL-Server-CA-Zertifikat oder ein datenbankgenerisches Server-CA-Zertifikat verwenden.
  • Wenn das Clientzertifikat abläuft, müssen Sie ein neues Zertifikat und einen neuen Schlüssel generieren. Das gilt sowohl für von Google Cloudverwaltete SSL-Zertifikate als auch für selbst signierte Zertifikate.
  • Aktualisieren Sie die Cloud SQL-Quelldarstellungsinstanz mit den neuen SSL-Zertifikaten.

Serverzertifikate verwalten (gemeinsame CA)

In diesem Abschnitt wird beschrieben, wie Sie Serverzertifikate auf Instanzen verwalten, die freigegebene oder vom Kunden verwaltete CAs verwenden.

Sie können die Verwendung freigegebener CAs als Server-CA-Modus für Ihre Instanz aktivieren, indem Sie GOOGLE_MANAGED_CAS_CA für die Einstellung serverCaMode (Cloud SQL Admin API) oder das Flag --server-ca-mode (gcloud CLI) angeben, wenn Sie Ihre Instanz erstellen.

Wenn Sie eine vom Kunden verwaltete Zertifizierungsstelle als Server-Zertifizierungsstellenmodus für Ihre Instanz verwenden möchten, müssen Sie CUSTOMER_MANAGED_CAS_CA für die Einstellung serverCaMode (Cloud SQL Admin API) oder das Flag --server-ca-mode (gcloud CLI) angeben, wenn Sie Ihre Instanz erstellen. Außerdem benötigen Sie einen gültigen Zertifizierungsstellenpool und eine gültige Zertifizierungsstelle. Weitere Informationen finden Sie unter Vom Kunden verwaltete CA verwenden.

Serverzertifikate rotieren

Wenn Sie eine Benachrichtigung erhalten haben, dass Ihre Serverzertifikate ablaufen, oder 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 bereits ein neues Serverzertifikat für die anstehende Rotation erstellt wurde, können Sie den ersten Schritt im folgenden Verfahren überspringen.

Führen Sie die folgenden Schritte aus, um das Serverzertifikat auf Ihrer Instanz zu rotieren:

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

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

    1. Laden Sie die neuesten Server-CA-Informationen 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 machen.

Console

Laden Sie die als PEM-Datei codierten Informationen zum Server-CA-zertifikat in Ihre lokale Umgebung 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. Prüfen Sie, ob die Option Serverzertifikat rotieren als verfügbare Option angezeigt wird. Wählen Sie sie jedoch noch nicht aus.

    Wenn keine zulässigen Zertifikate vorhanden sind, ist die Option zum Wechseln nicht verfügbar. Sie müssen ein neues Serverzertifikat erstellen.

  7. Klicken Sie auf Zertifikate herunterladen.

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 Tab Sicherheit zurück.
  2. Maximieren Sie Zertifikate verwalten.
  3. Wählen Sie Zertifikat wechseln aus.
  4. Klicken Sie im Dialogfeld Zertifikatwechsel bestätigen auf Wechseln.
  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 gewechselt wurde, wählen Sie Rollback eines Zertifikats ausführen aus, um ein Rollback zur vorherigen Konfiguration durchzuführen.

gcloud

  1. Verwenden Sie den folgenden Befehl, um ein Serverzertifikat zu erstellen:
    gcloud sql ssl server-certs create \
    --instance=INSTANCE
  2. Ersetzen Sie INSTANCE durch den Namen der Instanz.
  3. Achten Sie darauf, dass Sie das neueste 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 sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    Oder laden Sie die CA-Bundles von der Tabelle mit Root- und regionalen CA-Zertifikat-Bundles auf dieser Seite herunter.

    Aktualisieren Sie dann alle Ihre Clients so, dass die neuen Server-CA-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 aller Clients (falls erforderlich) die Rotation aus:
    gcloud 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 Serverzertifikat verwenden, zu dem neu rotiert wurde, führen Sie ein Rollback zur vorherigen Konfiguration durch.

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üssen, 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üssen, 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:

Zertifikatsrotation rückgängig machen

Nach Abschluss der Serverzertifikatsrotation 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 ein Rollback zur vorherigen Zertifikatskonfiguration durchführen.

Ein Rollback-Vorgang verschiebt das 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

  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 für Serverzertifikat durchführen aus.

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

  7. Wählen Sie im Dialogfeld Rollback des Zertifikats bestätigen die Option Rollback aus.

    Das Zurücksetzen kann einige Sekunden dauern.

gcloud

gcloud 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 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/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 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/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 sich den Inhalt von CA-Zertifikaten ansehen.

Wenn Sie den Befehl 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 rotationsbezogenen Vorgängen.

gcloud

  1. Führen Sie dazu diesen Befehl aus:
    gcloud 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 sql ssl server-certs list verwenden, um den Inhalt eines Serverzertifikats aufzurufen.

Wenn Sie den gcloud CLI-Befehl ausführen, erhalten Sie aufgrund der Vertrauenskette immer mehrere CA-Zertifikate. Möglicherweise erhalten Sie auch mehrere CA-Zertifikate aus früheren rotationsbezogenen Vorgängen.

gcloud

Nur mit openssl s_client:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

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 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-Zertifikatbündel für eine gemeinsame CA herunterladen

Wenn Sie eine von Google verwaltete gemeinsame CA-Konfiguration verwenden, können Sie die Stamm- und regionalen CA-Zertifikatbündel aus der folgenden Tabelle herunterladen.

Diese Zertifikatbündel gelten nicht für Instanzen, die die Optionen „Pro Instanz“ oder „Vom Kunden verwaltete CA“ verwenden.

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-north2 Stockholm europe-north2.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. gcloud sql instances restart INSTANCE_NAME
  3. 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