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) ü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, mit der eine Verbindung zu Ihrem externen Schlüsselmanager konfiguriert wird. In der Google Cloud Console wird dies als EKM über VPC-Verbindung bezeichnet.

  • VPC-Projekt

    Das Projekt, das die VPC-Ressource enthält, mit der eine Verbindung zu Ihrem externen Schlüsselverwaltungssystem hergestellt wird.

  • Wichtige Projekte

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

  • Crypto Space

    Ein Container für Ihre Ressourcen bei Ihrem externen Partner für die Schlüsselverwaltung. Ihr Crypto Space wird durch einen eindeutigen Crypto Space-Pfad identifiziert. Das Format des Crypto Space-Pfads variiert je nach Partner für die externe Schlüsselverwaltung, z. B. v0/cryptospaces/YOUR_UNIQUE_PATH.

Hinweise

Wenn Sie die folgenden Schritte abgeschlossen haben, können Sie Cloud EKM-Schlüssel verwenden, um Ihre Daten zu schützen.

Erstellen Sie ein neues Projekt

  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. Make sure that billing is enabled for your Google Cloud project.

  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. Die Projektnummer wird auch angezeigt, wenn Sie die Google Cloud Console zum Erstellen eines Cloud EKM-Schlüssels verwenden.

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

Prüfen, ob die gcloud CLI auf dem neuesten Stand ist

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

gcloud-CLI

gcloud components update

VPC-Netzwerk vorbereiten

Es gibt zwei Möglichkeiten, ein VPC-Netzwerk einzurichten:

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

Wenn Ihr externer Schlüsselmanager lokal ausgeführt wird und Sie eine Verbindung über eine hybride Verbindung herstellen, sollten Sie ein Netzwerk im benutzerdefinierten Modus verwenden, da es eine Kontrolle über die IP-Adressbereiche des Subnetzes bietet.

So richten Sie eine VPC ein:

  1. Privaten Google-Zugriff aktivieren

    Der externe Schlüsselmanager muss das in jeder Anfrage enthaltene OIDC-Token überprüfen. Zur Überprüfung des Tokens muss der OAuth2-öffentliche Schlüssel vom Domainnamen www.googleapis.com abgerufen werden. Wenn der externe Schlüsselmanager in Google Cloud ausgeführt wird und keinen Zugriff über das Internet hat (z.B. eine VM ohne externe IP-Adresse oder eine von einer Firewall blockierte VM), folgen Sie der Anleitung zum Konfigurieren des privaten Google-Zugriffs.

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

    Anfragen von Cloud EKM stammen aus diesem Bereich. Erstellen Sie sowohl Firewallregeln für den eingehenden als auch für den ausgehenden Traffic für TCP für den Port, auf dem der externe Schlüsselmanager lauscht.

Hybridkonnektivität einrichten

Wenn der externe Schlüsselmanager lokal ausgeführt wird, verwenden Sie eine Hybridkonnektivitätslösung, um das VPC mit Ihrem lokalen Netzwerk zu verbinden. Nachdem Sie die Verbindung eingerichtet haben, führen Sie die folgenden zusätzlichen Schritte aus:

  1. Privaten Google-Zugriff aktivieren

    Der External Key Manager muss das in jeder Anfrage enthaltene OIDC-Token überprüfen. Zur Überprüfung des Tokens muss der OAuth2-öffentliche Schlüssel aus dem Domainnamen www.googleapis.com 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 den IP-Bereich 35.199.192.0/19

    Anfragen von Cloud EKM stammen aus diesem Bereich. Konfigurieren Sie Ihre lokale Netzwerk-Firewall oder ähnliche Geräte so, dass TCP-Traffic über den Port zugelassen wird, auf dem der externe Schlüsselmanager wartet.

  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.

Rückgaberoutenstrategien für On-Premise-Ziele

  • 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. Für Cloud VPN-Tunnel, die richtlinienbasiertes Routing verwenden, konfigurieren Sie die lokale Trafficauswahl des 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, und für Cloud Interconnect konfigurieren Sie den benutzerdefinierten Advertising-Modus für 35.199.192.0/19 der BGP-Sitzung auf dem Cloud Router, der den Tunnel oder VLAN-Anhang verwaltet.

External Key Manager einrichten

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

Crypto Space einrichten

Wenn Sie Cloud EKM im Rahmen einer von einem Partner verwalteten EKM-Vereinbarung verwenden, wurden diese Schritte im Rahmen der Bereitstellung durch Ihren Partner für Sie ausgeführt.

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

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

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

  • Richten Sie die Richtlinie „Key Access Justifications“ ein, um festzulegen, welche Zugriffsberechtigungen zulässig oder unzulässig sind.

Der genaue Ablauf 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 externen Schlüsselmanagers verweist. Wenn Sie einen Load Balancer vor mehreren EKM-Replikas verwenden, verwenden Sie die IP-Adresse und den Port des Load Balancers. Das Feld network des Service Directory-Dienstendpunkts muss ausgefüllt sein.

Cloud EKM Zugriff auf Ihre VPC autorisieren

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

  1. Prüfen Sie, ob 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. Weisen Sie in Ihrem VPC-Projekt die Rollen servicedirectory.viewer und servicedirectory.pscAuthorizedService service-KEY_PROJECT_NUMBER@gcp-sa-ekms.iam.gserviceaccount.com zu. Hilfe zum Abrufen Ihrer Projekt-ID und Nummer erhalten 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

Wenn Sie eine Verbindung zwischen Ihrem externen Schlüsselmanager und Cloud EKM herstellen möchten, erstellen Sie in Ihrem Schlüsselprojekt eine EKM-Verbindung.

Console

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

    KMS-Infrastruktur aufrufen

  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 mit dieser Verbindung verknüpften Cloud KMS-Schlüssel müssen sich am selben Speicherort wie die Verbindung befinden.

  5. Geben Sie im Feld Service resource ID (self_link) den Wert des Service Directory-Dienstes ein, den Sie im Abschnitt Service Directory-Dienstendpunkt erstellen erstellt haben. Der Dienstverzeichnisdienst muss sich am selben Ort wie die Verbindung befinden.

  6. Fügen Sie im Feld Hostname den Hostnamen für Ihren externen Schlüsselmanager hinzu.

  7. Klicken Sie unter Zertifikate auf Zertifikat hinzufügen, um ein oder mehrere X.509-Serverzertifikate für Ihren externen Schlüsselmanager 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 Crypto Space-Pfad den Crypto Space-Pfad ein, den Ihr EKM angibt.

  10. Optional. Wenn Sie die EKM-Verbindung als Standardverbindung für dieses Projekt und diesen Standort festlegen möchten, klicken Sie das Kästchen Verbindung als Standard festlegen an. Wenn für dieses Projekt und diesen Speicherort derzeit eine andere EKM-Verbindung als Standardverbindung festgelegt ist, wird diese EKM-Verbindung durch die vorhandene Standardverbindung ersetzt.

  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 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-Speicherort, an dem Sie die EKM-Verbindung erstellen möchten. Alle mit dieser Verbindung verknüpften Cloud KMS-Schlüssel müssen sich am selben Speicherort wie die Verbindung befinden.
  • SERVICE_DIRECTORY_SERVICE: die Ressourcen-ID des Service Directory-Dienstes für Ihre Verbindung.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselmanagers.
  • SERVER_CERTIFICATE_FILES: eine durch Kommas getrennte Liste von Dateien mit X.509-Serverzertifikaten für Ihren externen Schlüsselmanager. 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-Speicherort, an dem Sie die EKM-Verbindung erstellen möchten. Alle mit dieser Verbindung verknüpften Cloud KMS-Schlüssel müssen sich am selben Speicherort wie die Verbindung befinden.
  • SERVICE_DIRECTORY_SERVICE: die Ressourcen-ID des Service Directory-Dienstes für Ihre Verbindung.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselmanagers.
  • SERVER_CERTIFICATE_FILES: eine durch Kommas getrennte Liste von Dateien mit X.509-Serverzertifikaten für Ihren externen Schlüsselmanager. Zertifikate müssen im DER-Format vorliegen.
  • CRYPTO_SPACE_PATH: Der Crypto Space-Pfad, der von Ihrem EKM-Anbieter bereitgestellt wird.

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: Cloud KMS, in dem Sie die EKM-Verbindung erstellen möchten.
  • EKM_CONNECTION: Der Name, der für die EKM-Verbindung verwendet werden soll.
  • SERVER_CERTIFICATES: Eine Liste mit bis zu 10 Certificate-Objekten, die untergeordnete Serverzertifikate darstellen.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselmanagers.
  • CRYPTO_SPACE_PATH: Der Crypto Space-Pfad, der von Ihrem EKM-Anbieter bereitgestellt wird.

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: Cloud KMS, in dem Sie die EKM-Verbindung erstellen möchten.
  • EKM_CONNECTION: Der Name, der für die EKM-Verbindung verwendet werden soll.
  • SERVER_CERTIFICATES: Eine Liste mit bis zu 10 Certificate-Objekten, die untergeordnete Serverzertifikate darstellen.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselmanagers.

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 Gesamtzertifikatsstatus der EKM-Verbindung sowie den Status jedes Zertifikats auf der Seite „KMS-Infrastruktur“ prüfen.

EKM-Verbindungen haben einen Gesamtstatus in der Spalte Zertifizierungsstatus jeder Verbindung. Wenn eine EKM-Verbindung einen anderen Status als Aktiv hat, empfehlen wir, die Zertifikate für die EKM-Verbindung zu aktualisieren.

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

  • Aktiv: Das Zertifikat ist gültig und das Ablaufdatum ist noch nicht erreicht.
  • Läuft innerhalb von 30 Tagen ab: Das Zertifikat ist gültig, läuft aber in den nächsten 30 Tagen ab.
  • 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. Das 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.

    KMS-Infrastruktur aufrufen

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

  3. Klicken Sie auf Verbindung bearbeiten.

  4. Klicken Sie auf Zertifikat hinzufügen, um ein oder mehrere X.509-Serverzertifikate für Ihren externen Schlüsselmanager 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 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 Speicherort festlegen. Wenn für ein Projekt und einen Standort eine EKM-Standardverbindung festgelegt ist, wird für neue Cloud EKM-Schlüssel vom Typ „Extern über VPC“, die in Schlüsselringen an diesem Standort erstellt werden, die angegebene EKM-Verbindung verwendet, sofern keine andere EKM-Verbindung ausgewählt ist.

So legen Sie eine EKM-Verbindung als Standard für das Projekt und den Standort fest:

Console

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

    KMS-Infrastruktur aufrufen

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

  3. Klicken Sie auf Verbindung bearbeiten.

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

  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: die Cloud KMS-Umgebung, für die Sie die Standard-EKM-Verbindung festlegen möchten.
  • PROJECT_ID: der Name des Projekts, für das Sie die Standard-EKM-Verbindung festlegen möchten.
  • DEFAULT_EKM_CONNECTION: der Name der EKM-Verbindung, die Sie als Standard für diesen Speicherort 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 Standard-EKM-Verbindung festlegen möchten.
  • LOCATION: die Cloud KMS-Umgebung, für die Sie die Standard-EKM-Verbindung 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 für diesen Speicherort bereits eine andere EKM-Verbindung als Standard festgelegt wurde, wird sie durch die ausgewählte EKM-Verbindung ersetzt. Für ein bestimmtes Projekt und einen bestimmten Standort kann nur eine EKM-Verbindung als Standard festgelegt werden.

Nächste Schritte