EKM-Verbindung erstellen

Auf dieser Seite wird beschrieben, wie Sie Cloud External Key Manager (Cloud EKM) einrichten, um über ein VPC-Netzwerk (Virtual Private Cloud) eine Verbindung zu Ihrem EKM-Anbieter (External Key Management) 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üsselmanager verwendet wird. In der Google Cloud -Konsole 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 Partner für die externe 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.

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

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

gcloud CLI auf dem neuesten Stand halten

Wenn Sie die Google Cloud CLI verwenden möchten, sorgen Sie mit dem folgenden Befehl dafür, dass sie auf dem neuesten Stand ist:

gcloud-CLI

gcloud components update

VPC-Netzwerk vorbereiten

Beim Einrichten eines VPC-Netzwerk haben Sie zwei Möglichkeiten:

Standardmäßig enthalten neue Projekte ein Netzwerk im automatischen Modus, das mit Firewallregeln vorkonfiguriert ist. Wenn das VPC-Netzwerk nicht für Produktionszwecke verwendet wird, ist das Standardnetzwerk im automatischen Modus der schnellste Weg, um loszulegen.

Wenn Ihr externer Schlüsselmanager lokal ausgeführt wird und Sie über Hybrid Connectivity eine Verbindung dazu herstellen, sollten Sie ein benutzerdefiniertes Netzwerk verwenden, da Sie damit die IP-Adressbereiche des Subnetzes steuern können.

So richten Sie Ihre VPC ein:

  1. Privaten Google-Zugriff aktivieren

    Der externe Schlüsselverwaltungsserver muss das in jeder Anfrage enthaltene OIDC-Token überprüfen. Zum Prüfen des Tokens muss der öffentliche OAuth2-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 die durch eine Firewall blockiert wird), 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 eingehenden als auch für ausgehenden Traffic für TCP für den Port, an dem der externe Schlüsselmanager auf Anfragen wartet.

Hybridkonnektivität einrichten

Wenn der externe Schlüsselverwaltungsserver lokal ausgeführt wird, verwenden Sie eine Hybridkonnektivitätslösung, um die 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. Zum Überprüfen des Tokens muss der öffentliche OAuth2-Schlüssel vom 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, an dem der externe Schlüsselmanager auf Anfragen wartet.

  3. Sorgen Sie dafür, 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 lokale 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.

Externen Schlüsselverwaltungsserver 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 des Bereitstellungsprozesses Ihres Partners für Sie ausgeführt.

Wenn Ihr EKM-Anbieter mit der EKM-Schlüsselverwaltung über Cloud KMS kompatibel ist, müssen die folgenden Einrichtungs- und Konfigurationsschritte in Ihrem EKM 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 Kryptobereich und die darin erstellten Schlüssel.

  • Richten Sie die Richtlinie für Key Access Justifications ein, um festzulegen, welche Zugriffsbegründungen zulässig oder unzulässig sein sollen.

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üsselverwaltungssystems verweist. Wenn Sie einen Load-Balancer vor mehreren EKM-Replikaten 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

Für jedes Schlüsselprojekt müssen Sie Cloud EKM autorisieren, im Namen dieses Projekts auf Ihre VPC zuzugreifen, auch wenn das Schlüsselprojekt und das VPC-Projekt identisch sind. Durch die Autorisierung des Zugriffs 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 Ihren externen Schlüsselmanager mit Cloud EKM verbinden 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.

    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 für das Feld Dienst-Ressourcen-ID (self_link) den Wert des Service Directory-Dienstes ein, der im Abschnitt Service Directory-Dienstendpunkt erstellen erstellt wurde. Der Dienstverzeichnisdienst muss sich am selben Standort wie die Verbindung befinden.

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

  7. Klicken Sie unter Zertifikate 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.

  8. Wählen Sie für 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 EKM-Verwaltungsmodus ausgewählt haben, geben Sie im Feld Crypto Space-Pfad den von Ihrem EKM bereitgestellten Crypto Space-Pfad ein.

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

  11. Klicken Sie auf Erstellen.

gcloud

Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst 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 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 externen Schlüsselverwaltungssystems.
  • SERVER_CERTIFICATE_FILES: Eine durch Kommas getrennte Liste von Dateien, die X.509-Serverzertifikate für Ihren externen Schlüsselmanager 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-Speicherort, 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 externen Schlüsselverwaltungssystems.
  • SERVER_CERTIFICATE_FILES: Eine durch Kommas getrennte Liste von Dateien, die X.509-Serverzertifikate für Ihren externen Schlüsselmanager 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: Der Cloud KMS-Speicherort, an 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 Blattzertifikate darstellen.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselverwaltungssystems.
  • 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: Der Cloud KMS-Speicherort, an 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 Blattserverzertifikate darstellen.
  • HOSTNAME: Der Hostname Ihres externen Schlüsselverwaltungssystems.

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

EKM-Verbindungen haben in der Spalte Zertifikatsstatus jeder Verbindung einen Gesamtstatus. 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 den folgenden Status haben:

  • Aktiv: Das Zertifikat ist gültig und das Ablaufdatum ist noch nicht in Sicht.
  • Läuft innerhalb von 30 Tagen ab: Das Zertifikat ist gültig, hat aber ein Ablaufdatum in den nächsten 30 Tagen.
  • Abgelaufen: Das Zertifikat ist abgelaufen und nicht mehr gültig. Wir empfehlen, alle abgelaufenen 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 derGoogle Cloud -Konsole.

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

  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 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, wird für neue Cloud EKM-über-VPC-Schlüssel, die in Schlüsselbunden 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 zugehörige Projekt und den zugehörigen Standort fest:

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. Wählen Sie unter Standardverbindung das Kästchen Verbindung als Standard für LOCATION festlegen aus.

  5. Klicken Sie auf Verbindung aktualisieren.

gcloud-CLI

gcloud 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-Schlüsselbund, für den Sie die Standard-EKM-Verbindung festlegen möchten.
  • PROJECT_ID: Der Name des Projekts, für das Sie die standardmäßige 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.

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: Der Cloud KMS-Schlüsselbund, für den 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 Standort übereinstimmen, der in LOCATION angegeben ist.

Wenn eine andere EKM-Verbindung als Standard für diesen Standort festgelegt war, 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