EKM-Verbindung erstellen

Auf dieser Seite erfahren Sie, wie Sie Cloud External Key Manager (Cloud EKM) einrichten, um eine Verbindung zu Ihrem EKM-Anbieter (External Key Management, EKM) über ein VPC-Netzwerk (Virtual Private Cloud) herzustellen.

Sie können externe Schlüssel über VPC an Cloud KMS-Standorten verwenden, die EKM über VPC unterstützen. Weitere Informationen finden Sie auf der Seite Cloud KMS-Standorte.

Terminologie

  • EKM-Verbindung

    Die Cloud KMS-Ressource, die zum Konfigurieren einer Verbindung zu Ihrem externen Schlüsselverwaltungssystem verwendet wird. In der Google Cloud Console wird dies als EKM-über-VPC-Verbindung bezeichnet.

  • VPC-Projekt

    Das Projekt mit der VPC-Ressource, mit der eine Verbindung zu Ihrem External Key Manager hergestellt wird.

  • Wichtige Projekte

    Die Projekte mit EKM-Verbindungsressourcen und Cloud EKM-Schlüsseln in Cloud KMS. Ein Schlüsselprojekt kann mit einem VPC-Projekt identisch sein, ist aber nicht erforderlich.

  • Krypto-Space

    Ein Container für Ihre Ressourcen innerhalb Ihres Partners für die externe Schlüsselverwaltung. Ihr Krypto-Space wird durch einen eindeutigen Crypto-Space-Pfad identifiziert. Das Format des Pfades für den Kryptobereich variiert je nach Partner für die externe Schlüsselverwaltung, z. B. v0/cryptospaces/YOUR_UNIQUE_PATH.

Hinweise

Nachdem Sie die folgenden Schritte ausgeführt haben, können Sie mit der Verwendung von Cloud EKM-Schlüsseln zum Schutz Ihrer Daten beginnen.

Neues Projekt erstellen

  1. Rufen Sie in der Google Cloud Console die Seite „Ressourcen verwalten“ auf.

    Zur Seite "Ressourcen verwalten"

  2. Erstellen Sie ein neues Google Cloud-Projekt oder wählen Sie ein vorhandenes Projekt aus.

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Weitere Informationen zu den Preisen von Cloud EKM

Cloud KMS aktivieren

  1. Aktivieren Sie die Cloud Key Management Service-API für das Projekt.

    Cloud Key Management Service API aktivieren

  2. Notieren Sie sich das Cloud EKM-Dienstkonto Ihres Projekts. Ersetzen Sie im folgenden Beispiel PROJECT_NUMBER durch die Projektnummer des Google Cloud-Projekts. Diese Informationen sind auch sichtbar, wenn Sie mit der Google Cloud Console einen Cloud EKM-Schlüssel erstellen.

    service-PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com
    

Achten Sie darauf, dass die gcloud CLI auf dem neuesten Stand ist

Wenn Sie die Google Cloud CLI verwenden, prüfen Sie mit dem folgenden Befehl, ob sie auf dem neuesten Stand ist:

gcloud-CLI

gcloud components update

VPC-Netzwerk vorbereiten

Beim Einrichten eines VPC-Netzwerk gibt es zwei Möglichkeiten:

Neue Projekte enthalten standardmäßig ein Netzwerk im automatischen Modus, das vorkonfiguriert mit Firewallregeln ist. Wenn das VPC-Netzwerk nicht für Produktionszwecke verwendet wird, ist das Standardnetzwerk im automatischen Modus der schnellste Einstieg.

Wenn Ihr External Key Manager lokal ausgeführt wird und Sie über Hybridkonnektivität eine Verbindung zu ihm herstellen, sollten Sie ein Netzwerk im benutzerdefinierten Modus verwenden, da es die Kontrolle über die IP-Adressbereiche des Subnetzes bietet.

Führen Sie die folgenden Schritte aus, um Ihre VPC einzurichten:

  1. Privaten Google-Zugriff aktivieren

    Der externe Schlüsselmanager muss das in jeder Anfrage enthaltene OIDC-Token verifizieren. Zum Verifizieren des Tokens muss es den öffentlichen OAuth2-Schlüssel aus dem www.googleapis.com-Domainnamen abrufen. Wenn der External Key Manager in Google Cloud ausgeführt wird und keinen Zugriff über das Internet hat (z.B. eine VM ohne externe IP-Adresse oder durch eine Firewall blockiert), folgen Sie der Anleitung zum Konfigurieren des privaten Google-Zugriffs.

  2. Firewallkonfiguration für IP-Bereich 35.199.192.0/19

    Anfragen von Cloud EKM stammen aus diesem Bereich. Erstellen Sie für den Port, den der External Key Manager überwacht, sowohl Firewallregeln für eingehenden als auch ausgehenden Traffic für TCP.

Hybridkonnektivität einrichten

Wenn der External Key Manager lokal ausgeführt wird, verwenden Sie eine Hybridkonnektivitätslösung, um die VPC mit Ihrem lokalen Netzwerk zu verbinden. Wenn Sie die Verbindung eingerichtet haben, führen Sie diese zusätzlichen Schritte aus:

  1. Privaten Google-Zugriff aktivieren

    Der externe Schlüsselmanager muss das in jeder Anfrage enthaltene OIDC-Token verifizieren. Zum Verifizieren des Tokens muss der öffentliche OAuth2-Schlüssel aus dem www.googleapis.com-Domainnamen abgerufen werden. Wenn der externe Schlüsselmanager lokal ausgeführt wird und keinen Zugriff über das Internet hat, folgen Sie der Anleitung zum Konfigurieren des privaten Google-Zugriffs für lokale Hosts.

  2. Firewallkonfiguration für IP-Bereich 35.199.192.0/19

    Anfragen von Cloud EKM stammen aus diesem Bereich. Konfigurieren Sie Ihre lokale Netzwerkfirewall oder ähnliche Geräte so, dass TCP-Traffic an dem Port zugelassen wird, den der External Key Manager überwacht.

  3. Achten Sie darauf, dass Ihre VPC eine Rückgaberoute zum IP-Bereich 35.199.192.0/19 hat

    Ihr lokales Netzwerk muss eine Route für das Ziel 35.199.192.0/19 haben. Informationen dazu, wie Sie diese Anforderung erfüllen, finden Sie unter Rückgaberoutenstrategien für lokale Ziele.

Routenstrategien für lokale Ziele zurückgeben

  • Erstellen Sie für Cloud VPN-Tunnel, die statisches Routing verwenden, manuell eine Route in Ihrem lokalen Netzwerk, deren Ziel 35.199.192.0/19 und deren nächster Hop der Cloud VPN-Tunnel ist. Konfigurieren Sie für Cloud VPN-Tunnel, die richtlinienbasiertes Routing verwenden, die lokale Trafficauswahl von Cloud VPN und die Remote-Trafficauswahl des lokalen VPN-Gateways so, dass 35.199.192.0/19 enthalten ist.

  • Für Cloud VPN-Tunnel, die dynamisches Routing verwenden, oder für Cloud Interconnect konfigurieren Sie ein benutzerdefiniertes Route Advertisement für 35.199.192.0/19 in der BGP-Sitzung des Cloud Router, der den Tunnel oder VLAN-Anhang verwaltet.

External Key Manager einrichten

Folgen Sie der Anleitung Ihres EKM-Anbieters, um Ihr EKM einzurichten.

Krypto-Space einrichten

Wenn Sie Cloud EKM im Rahmen einer vom Partner verwalteten EKM-Vereinbarung verwenden, wurden diese Schritte im Rahmen des Bereitstellungsprozesses Ihres Partners bereits für Sie ausgeführt.

Wenn Ihr EKM-Anbieter mit der EKM-Schlüsselverwaltung von Cloud KMS kompatibel ist, müssen die folgenden Einrichtungs- und Konfigurationsschritte in Ihrem EKM ausgeführt werden:

  • Erstellen Sie einen kryptografischen Gruppenbereich für Ihre von Cloud KMS verwalteten Ressourcen in Ihrem EKM.

  • Gewähren Sie Ihrem Cloud KMS-Dienstkonto Zugriff auf Ihren Crypto-Bereich und die darin erstellten Schlüssel.

  • Richten Sie eine Key Access Justifications-Richtlinie ein, um festzulegen, welche Zugriffsbegründungen zugelassen oder abgelehnt werden sollen.

Der genaue Vorgang für jeden dieser Schritte hängt von Ihrem EKM ab. Weitere Informationen finden Sie in der Dokumentation Ihres EKM-Anbieters.

Service Directory-Dienstendpunkt erstellen

Erstellen und konfigurieren Sie einen Service Directory-Dienstendpunkt in Ihrem VPC-Projekt, der auf die private IP-Adresse und den Port Ihres External Key Managers verweist. Wenn Sie einen Load-Balancer vor mehreren EKM-Replikaten verwenden, verwenden Sie die IP-Adresse und den Port des Load-Balancers. Prüfen Sie, ob das Feld network Ihres Service Directory-Dienstendpunkts ausgefüllt ist.

Cloud EKM Zugriff auf Ihre VPC autorisieren

Sie müssen Cloud EKM für jedes Schlüsselprojekt autorisieren, im Namen dieses Projekts auf Ihre VPC zuzugreifen, auch wenn das Schlüsselprojekt und das VPC-Projekt identisch sind. Durch die Zugriffsautorisierung können Schlüssel in Ihrem Schlüsselprojekt die VPC in Ihrem VPC-Projekt verwenden.

  1. Achten Sie darauf, dass ein Cloud EKM-Dienstkonto für das Projekt vorhanden ist.

    gcloud-CLI

    gcloud beta services identity create \
      --service=cloudkms.googleapis.com \
      --project=KEY_PROJECT_ID
    
  2. Gewähren Sie die servicedirectory.viewer und die servicedirectory.pscAuthorizedService in Ihrem VPC-Projekt service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com. Informationen zum Abrufen der Projekt-ID und -nummer finden Sie unter Projekte erstellen und verwalten.

    gcloud-CLI

    gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
      --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \
      --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
      --member='serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com' \
      --role='roles/servicedirectory.pscAuthorizedService'
    

EKM-Verbindung erstellen

Erstellen Sie in Ihrem Schlüsselprojekt eine EKM-Verbindung, um Ihren External Key Manager mit Cloud EKM zu verbinden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite KMS-Infrastruktur auf.

    Zur KMS-Infrastruktur

  2. Klicken Sie auf Verbindung erstellen.

  3. Geben Sie unter Verbindungsname einen Namen für die Verbindung ein.

  4. Wählen Sie unter Region einen Standort für die EKM-Verbindung aus. Alle Cloud KMS-Schlüssel, die dieser Verbindung zugeordnet sind, müssen sich am selben Standort wie die Verbindung befinden.

  5. Geben Sie im Feld Dienstressourcen-ID (self_link) den Wert des Service Directory-Dienstes ein, der im Abschnitt Service Directory-Dienstendpunkt erstellen erstellt wurde. Der Service Directory-Dienst muss sich am selben Standort wie die Verbindung befinden.

  6. Fügen Sie im Feld Hostname den Hostnamen für den External Key Manager hinzu.

  7. Klicken Sie unter Zertifikate auf Zertifikat hinzufügen, um ein oder mehrere X.509-Serverzertifikate für Ihren externen Schlüsselverwaltungssystem hochzuladen. Zertifikate müssen im DER-Format vorliegen.

  8. Wählen Sie für den EKM-Verwaltungsmodus die Option Manuell aus, um die EKM-Verbindung für manuell verwaltete externe Schlüssel zu verwenden, oder Cloud KMS, um die EKM-Verbindung für koordinierte externe Schlüssel zu verwenden.

  9. Wenn Sie Cloud KMS für den EKM-Verwaltungsmodus ausgewählt haben, geben Sie im Feld Pfad des kryptografischen Gruppenbereichs den von Ihrem EKM bereitgestellten Kryptobereich-Pfad ein.

  10. Optional. Klicken Sie das Kästchen Verbindung als Standard festlegen an, um die EKM-Verbindung als Standardverbindung für dieses Projekt und diesen Standort festzulegen. Wenn derzeit eine andere EKM-Verbindung als Standardverbindung für dieses Projekt und diesen Standort festgelegt ist, ersetzt diese EKM-Verbindung die vorhandene Standardverbindung.

  11. Klicken Sie auf Erstellen.

gcloud

Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die aktuelle Version ausführen.

Führen Sie den folgenden Befehl aus, um eine EKM-Verbindung für manuell verwaltete externe Schlüssel zu erstellen:

gcloud beta kms ekm-connections create EKM_CONNECTION \
    --location LOCATION \
    --service-directory-service SERVICE_DIRECTORY_SERVICE \
    --hostname HOSTNAME \
    --server-certificates-files SERVER_CERTIFICATE_FILES \
    --key-management-mode manual

Ersetzen Sie Folgendes:

  • EKM_CONNECTION: ein Name für die EKM-Verbindung.
  • LOCATION: der Cloud KMS-Standort, an dem Sie die EKM-Verbindung erstellen möchten. Alle Cloud KMS-Schlüssel, die dieser Verbindung zugeordnet sind, müssen sich am selben Standort wie die Verbindung befinden.
  • SERVICE_DIRECTORY_SERVICE: die Ressourcen-ID des Service Directory-Dienstes für Ihre Verbindung.
  • HOSTNAME: der Hostname Ihres External Key Managers.
  • SERVER_CERTIFICATE_FILES: eine durch Kommas getrennte Liste von Dateien, die X.509-Serverzertifikate für Ihren External Key Manager enthalten. Zertifikate müssen im DER-Format vorliegen.

Führen Sie den folgenden Befehl aus, um eine EKM-Verbindung für koordinierte externe Schlüssel zu erstellen:

gcloud beta kms ekm-connections create EKM_CONNECTION \
    --location LOCATION \
    --service-directory-service SERVICE_DIRECTORY_SERVICE \
    --hostname HOSTNAME \
    --server-certificates-files SERVER_CERTIFICATE_FILES \
    --key-management-mode cloud-kms \
    --crypto-space-path CRYPTO_SPACE_PATH

Ersetzen Sie Folgendes:

  • EKM_CONNECTION: ein Name für die EKM-Verbindung.
  • LOCATION: der Cloud KMS-Standort, an dem Sie die EKM-Verbindung erstellen möchten. Alle Cloud KMS-Schlüssel, die dieser Verbindung zugeordnet sind, müssen sich am selben Standort wie die Verbindung befinden.
  • SERVICE_DIRECTORY_SERVICE: die Ressourcen-ID des Service Directory-Dienstes für Ihre Verbindung.
  • HOSTNAME: der Hostname Ihres External Key Managers.
  • SERVER_CERTIFICATE_FILES: eine durch Kommas getrennte Liste von Dateien, die X.509-Serverzertifikate für Ihren External Key Manager enthalten. Zertifikate müssen im DER-Format vorliegen.
  • CRYPTO_SPACE_PATH: der von Ihrem EKM-Anbieter bereitgestellte Crypto-Space-Pfad.

Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help aus.

API

In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.

Führen Sie den folgenden Befehl aus, um eine EKM-Verbindung für koordinierte externe Schlüssel zu erstellen:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \
    --request "POST" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --header "x-goog-user-project: PROJECT_ID" \
    --data '{
      "name": "EKM_CONNECTION",
      "serviceResolvers": [
        {
          "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE",
          "hostname": "HOSTNAME",
          "serverCertificates": [
            {
              SERVER_CERTIFICATES
            }
          ]
        }
      ]
      "keyManagementMode": "CLOUD_KMS",
      "cryptoSpacePath": "CRYPTO_SPACE_PATH"
    }'

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die ID des Projekts, in dem Sie die EKM-Verbindung erstellen möchten.
  • LOCATION ist der Cloud KMS, in dem Sie die EKM-Verbindung erstellen möchten.
  • EKM_CONNECTION: Der für die EKM-Verbindung zu verwendende Name.
  • SERVER_CERTIFICATES: eine Liste von bis zu 10 Certificate-Objekten, die Blattserverzertifikate darstellen.
  • HOSTNAME: der Hostname Ihres External Key Managers.
  • CRYPTO_SPACE_PATH: der von Ihrem EKM-Anbieter bereitgestellte Crypto-Space-Pfad.

Führen Sie den folgenden Befehl aus, um eine EKM-Verbindung für manuell verwaltete externe Schlüssel zu erstellen:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConnections" \
    --request "POST" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --header "x-goog-user-project: PROJECT_ID" \
    --data '{
      "name": "EKM_CONNECTION",
      "serviceResolvers": [
        {
          "serviceDirectoryService": "SERVICE_DIRECTORY_SERVICE",
          "hostname": "HOSTNAME",
          "serverCertificates": [
            {
              SERVER_CERTIFICATES
            }
          ]
        }
      ]
    }'

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die ID des Projekts, in dem Sie die EKM-Verbindung erstellen möchten.
  • LOCATION ist der Cloud KMS, in dem Sie die EKM-Verbindung erstellen möchten.
  • EKM_CONNECTION: Der für die EKM-Verbindung zu verwendende Name.
  • SERVER_CERTIFICATES: eine Liste von bis zu zehn Certificate-Objekten, die Blattserverzertifikate darstellen.
  • HOSTNAME: der Hostname Ihres External Key Managers.

Weitere Informationen finden Sie in der EkmConnection.create API-Dokumentation.

Zertifikatstatus

Nachdem Sie ein Zertifikat für Ihre EKM-Verbindung hochgeladen haben, können Sie den Zertifikatstatus der EKM-Verbindung sowie den Status der einzelnen Zertifikate auf der Seite KMS-Infrastruktur überprüfen.

Der Gesamtstatus von EKM-Verbindungen wird in der Spalte Zertifikatstatus jeder Verbindung angezeigt. Wenn eine EKM-Verbindung einen anderen Status als Aktiv hat, sollten Sie die Zertifikate für Ihre EKM-Verbindung aktualisieren.

Sowohl EKM-Verbindungen als auch einzelne Zertifikate können den folgenden Status haben:

  • Aktiv: Das Zertifikat ist gültig und nähert sich dem Ablaufdatum nicht.
  • Läuft in 30 Tagen ab: Das Zertifikat ist gültig, hat aber ein Ablaufdatum innerhalb der nächsten 30 Tage.
  • Abgelaufen: Das Zertifikat ist abgelaufen und nicht mehr gültig. Wir empfehlen, abgelaufene Zertifikate zu aktualisieren.
  • Noch nicht gültig: Das Zertifikat ist nicht aktiv. Dies kann passieren, wenn das Startdatum des Zertifikats in der Zukunft liegt.

Wenn Ihr Zertifikat nicht mehr gültig ist, aktualisieren Sie Ihre EKM-Verbindung in der Google Cloud Console.

Console

  1. Rufen Sie in der Google Cloud Console die Seite KMS-Infrastruktur auf.

    Zur KMS-Infrastruktur

  2. Klicken Sie auf den Namen der EKM-über-VPC-Verbindung mit dem Zertifikat, das aktualisiert werden soll.

  3. Klicken Sie auf Verbindung bearbeiten.

  4. Klicken Sie auf Zertifikat hinzufügen, um ein oder mehrere X.509-Serverzertifikate für Ihren External Key Manager hochzuladen. Zertifikate müssen im DER-Format vorliegen.

  5. Entfernen Sie die abgelaufenen Zertifikate. Bewegen Sie den Mauszeiger auf das abgelaufene Zertifikat und wählen Sie rechts das Symbol Löschen aus.

  6. Klicken Sie auf Update connection (Verbindung aktualisieren), um die EKM-über-VPC-Verbindung zu aktualisieren.

EKM-Verbindung als Standard festlegen

Sie können eine EKM-Verbindung als Standardverbindung für ein bestimmtes Projekt und einen bestimmten Standort festlegen. Wenn für ein Projekt und einen Standort eine Standard-EKM-Verbindung festgelegt ist, verwenden neue Cloud EKM-Schlüssel von VPC-Schlüsseln, die in Schlüsselbunden an diesem Standort erstellt wurden, die angegebene EKM-Verbindung, sofern keine andere EKM-Verbindung ausgewählt ist.

Führen Sie die folgenden Schritte aus, um eine EKM-Verbindung als Standard für ihr Projekt und ihren Standort festzulegen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite KMS-Infrastruktur auf.

    Zur KMS-Infrastruktur

  2. Klicken Sie auf die EKM-Verbindung, die Sie als Standard festlegen möchten.

  3. Klicken Sie auf Verbindung bearbeiten.

  4. Klicken Sie unter Standardverbindung das Kästchen Verbindung als Standard für LOCATION festlegen an.

  5. Klicken Sie auf Verbindung aktualisieren.

gcloud-CLI

gcloud beta kms ekm-config update
  --location=LOCATION
  --default-ekm-connection=projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION

Ersetzen Sie Folgendes:

  • LOCATION: Der Cloud KMS, für den Sie die EKM-Standardverbindung festlegen möchten.
  • PROJECT_ID: der Name des Projekts, für das Sie die EKM-Standardverbindung festlegen möchten.
  • DEFAULT_EKM_CONNECTION: der Name der EKM-Verbindung, die Sie als Standard für diesen Standort festlegen möchten. Der Standort der EKM-Verbindung muss mit dem in LOCATION angegebenen Standort übereinstimmen.

API

Verwenden Sie die Methode EkmConfig.patch, um die Standard-EKM-Verbindung für einen Standort festzulegen:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ekmConfig" \
    --request "PATCH" \
    --header "authorization: Bearer TOKEN" \
    --header "content-type: application/json" \
    --data '{"defaultEkmConnection": "projects/PROJECT_ID/locations/LOCATION/ekmConnections/DEFAULT_EKM_CONNECTION"}'

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, für das Sie eine EKM-Standardverbindung festlegen möchten.
  • LOCATION: Der Cloud KMS, für den Sie die EKM-Standardverbindung festlegen möchten.
  • DEFAULT_EKM_CONNECTION: Der Name der EKM-Verbindung, die Sie als Standard für diesen Standort festlegen möchten. Der Standort der EKM-Verbindung muss mit dem in LOCATION angegebenen Standort übereinstimmen.

Wenn eine andere EKM-Verbindung als Standard für diesen Standort festgelegt wurde, wird sie durch die ausgewählte EKM-Verbindung als Standard ersetzt. Für ein bestimmtes Projekt und einen bestimmten Standort kann nur eine EKM-Verbindung als Standard festgelegt werden.

Nächste Schritte