Daten mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsseln

In Dataproc Metastore werden inaktive Kundeninhalte standardmäßig verschlüsselt. Die Verschlüsselung wird von Dataproc Metastore durchgeführt. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option wird Google-Standardverschlüsselung genannt.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Dataproc Metastore verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu steuern und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Dataproc Metastore-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

Hinweise

Hinweise

Beachten Sie die folgenden Punkte, wenn Sie Dataproc Metastore mit CMEK verwenden.

  • CMEK wird sowohl für Dataproc Metastore-Dienste mit einer Region als auch für solche mit mehreren Regionen unterstützt (Vorabversion).

  • Die Cloud Monitoring-Datenbank unterstützt keine CMEK-Verschlüsselung. Stattdessen verwendetGoogle Cloud Google-Verschlüsselungsschlüssel, um die Namen und Dienstkonfigurationen Ihrer Dataproc Metastore-Dienste zu schützen.

  • Wenn Ihr Dataproc Metastore-Dienst in einem VPC Service Controls-Perimeter ausgeführt werden soll, müssen Sie dem Perimeter die Cloud Key Management Service API (Cloud KMS) hinzufügen.

  • Wenn Sie einen Cloud EKM-Schlüssel verwenden, hat Google keine Kontrolle über die Verfügbarkeit Ihres extern verwalteten Schlüssels. Wenn der Schlüssel während der Erstellung des Dataproc Metastore-Dienstes nicht verfügbar ist, schlägt die Diensterstellung fehl. Wenn der Schlüssel nach dem Erstellen eines Dataproc Metastore-Dienstes nicht mehr verfügbar ist, ist auch der Dienst nicht verfügbar, bis der Schlüssel wieder verfügbar ist. Weitere Informationen zur Verwendung externer Schlüssel finden Sie unter Hinweise zu Cloud EKM.

Beschränkungen

Beachten Sie die folgenden Einschränkungen, wenn Sie Dataproc Metastore mit CMEK verwenden.

  • Sie können CMEK für einen vorhandenen Dienst nicht aktivieren.

  • Sie können CMEKs, die von einem CMEK-fähigen Dienst verwendet werden, nicht rotieren.

  • Sie können keine vom Kunden verwalteten Verschlüsselungsschlüssel verwenden, um Nutzerdaten wie Nutzerabfragen und -antworten während der Übertragung zu verschlüsseln.

CMEK für Dataproc Metastore konfigurieren

Wenn Sie noch keinen Cloud KMS-Schlüssel haben, können Sie einen für Ihren Dataproc Metastore-Dienst erstellen. Andernfalls können Sie diesen Schritt überspringen und einen vorhandenen Schlüssel verwenden.

Optional: Neuen Cloud KMS-Schlüssel erstellen

Wenn Sie einen Cloud KMS-Schlüssel erstellen möchten, müssen Sie zuerst einen Schlüsselbund und dann einen Schlüssel erstellen, der im Schlüsselbund gespeichert wird.

So erstellen Sie einen Schlüsselbund:

Führen Sie den folgenden gcloud kms keyrings create Befehl aus, um ein Schlüsselbund zu erstellen:

gcloud kms keyrings create KEY_RING \
  --project=PROJECT_ID \
  --location=LOCATION

Ersetzen Sie Folgendes:

  • KEY_RING: ein Name für den Schlüsselbund.
  • PROJECT_ID: die ID des Google Cloud Projekts, in dem Sie den Schlüsselbund erstellen möchten.
  • LOCATION: die Region, in der Sie den Schlüsselbund erstellen möchten.

So erstellen Sie einen Schlüssel:

Führen Sie den folgenden Befehl aus, um einen Schlüssel zu erstellen, der in Ihrem Schlüsselbund gespeichert wird: gcloud kms keys create

gcloud kms keys create KEY_NAME \
  --project=PROJECT_ID \
  --location=LOCATION \
  --keyring=KEY_RING \
  --purpose=encryption

Ersetzen Sie Folgendes:

  • KEY_NAME: Der Name des Schlüssels.
  • KEY_RING: der Name des Schlüsselbunds, den Sie im vorherigen Schritt erstellt haben.

Cloud KMS-Schlüsselberechtigungen gewähren

Verwenden Sie die folgenden Befehle, um Cloud KMS-Schlüsselberechtigungen für den Dataproc-Metastore zu gewähren:

  1. Erteilen Sie dem Dienstkonto des Dataproc Metastore-Dienst-Agent Berechtigungen:

    Wenn Sie CMEK für einen Dataproc Metastore-Dienst mit mehreren Regionen konfigurieren möchten, müssen Sie jedem Schlüssel die erforderlichen Cloud KMS-Berechtigungen sowohl für das Dataproc Metastore- als auch für das Cloud Storage-Dienstkonto erteilen.

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member=serviceAccount:$(gcloud beta services identity create \
        --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

  1. Gewähren Sie dem Cloud Storage-Dienstkonto Berechtigungen:

      gcloud storage service-agent --authorize-cmek projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Dienst mit einer einzelnen Region und einem CMEK-Schlüssel erstellen

Führen Sie die folgenden Schritte aus, um die CMEK-Verschlüsselung für einen Dataproc Metastore-Dienst mit einer einzelnen Region zu konfigurieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Dataproc Metastore“ auf:

    Dataproc Metastore aufrufen

  2. Klicken Sie oben auf der Seite Dataproc Metastore auf Erstellen.

    Die Seite Dienst erstellen wird geöffnet.

  3. Konfigurieren Sie den Dienst nach Bedarf.

  4. Klicken Sie unter Verschlüsselung auf Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK).

  5. Wählen Sie den vom Kunden verwalteten Schlüssel aus.

  6. Klicken Sie auf Senden.

Prüfen Sie die Verschlüsselungskonfiguration des Dienstes:

  1. Rufen Sie in der Google Cloud Console die Seite „Dataproc Metastore“ auf:

    Google Cloud Console aufrufen

  2. Klicken Sie auf der Seite Dataproc Metastore auf den Namen des Dienstes, den Sie aufrufen möchten.

    Die Seite Dienstdetails wird geöffnet.

  3. Prüfen Sie auf dem Tab Konfiguration, ob in den Details CMEK als aktiviert angezeigt wird.

gcloud

  1. Führen Sie den BefehlGoogle Cloud gcloud metastore services create aus, um einen Dienst mit einer einzelnen Region und CMEK-Verschlüsselung zu erstellen:

    gcloud metastore services create SERVICE \
       --encryption-kms-key=KMS_KEY
    

    Ersetzen Sie Folgendes:

    • SERVICE: der Name des neuen Dienstes.
    • KMS_KEY: die ID der Schlüsselressource.

Multiregionalen Dienst mit einem CMEK-Schlüssel erstellen

Für multiregionale Dataproc Metastore-CMEK-Dienste müssen mehrere Verschlüsselungsschlüssel angegeben werden. Dazu gehört ein Schlüssel für jede Region des multiregionalen Dataproc Metastore-Dienstes – ein Schlüssel für die Spanner-Zeugenregion und ein Schlüssel für den Kontinent.

Mit dem folgenden Befehl können Sie Informationen zu Ihrem multiregionalen Dienst und den Regionen abrufen, für die er konfiguriert ist.

gcloud metastore locations describe LOCATION
  • Ersetzen Sie LOCATION durch die Multi-Region, in der Sie Ihren Dataproc Metastore-Dienst erstellt haben.

Multiregionalen Dienst mit CMEK-Schlüssel erstellen

Führen Sie die folgenden Schritte aus, um die CMEK-Verschlüsselung für einen mehrregionalen Dataproc Metastore-Dienst zu konfigurieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Dataproc Metastore“ auf:

    Dataproc Metastore aufrufen

  2. Klicken Sie oben auf der Seite Dataproc Metastore auf Erstellen.

    Die Seite Dienst erstellen wird geöffnet.

  3. Wählen Sie Dataproc Metastore 2 aus.

  4. Wählen Sie im Bereich „Preise und Kapazität“ die Option Enterprise Plus – biregional aus.

  5. Wählen Sie unter Endpunktprotokoll den entsprechenden Endpunkt aus.

  6. Wählen Sie unter Verschlüsselung die Option Cloud KMS-Schlüssel aus.

  7. Wählen Sie die Schlüssel aus, die für jede Region verwendet werden sollen, z. B. die Spanner-Zeugenregion und den Kontinent.

  8. Konfigurieren Sie die verbleibenden Dienstoptionen nach Bedarf.

  9. Klicken Sie auf Senden.

Prüfen Sie die Verschlüsselungskonfiguration des Dienstes:

  1. Rufen Sie in der Google Cloud Console die Seite „Dataproc Metastore“ auf:

    Dataproc Metastore aufrufen

  2. Klicken Sie auf der Seite Dataproc Metastore auf den Namen des Dienstes, den Sie aufrufen möchten.

    Die Seite Dienstdetails wird geöffnet.

  3. Prüfen Sie auf dem Tab Konfiguration, ob CMEK aktiviert ist.

gcloud

  1. Führen Sie den Befehl gcloud beta metastore services create aus, um einen multiregionalen Dienst mit CMEK-Verschlüsselung zu erstellen:
gcloud beta metastore services create SERVICE \
    --location=LOCATION \
    --instance-size=INSTANCE_SIZE \
    --encryption-kms-keys=KMS_KEY1,KMS_KEY2,KMS_KEY_WITNESS,KMS_KEY_CONTINENT

Ersetzen Sie Folgendes:

  • SERVICE: Der Name des neuen Dataproc Metastore-Dienstes.
  • LOCATION: die Google Cloud Region, in der Sie Ihren Dataproc Metastore-Dienst erstellen möchten. Sie können auch einen Standardspeicherort festlegen.
  • INSTANCE_SIZE: die Instanzgröße Ihres mehrregionalen Dataproc Metastore-Dienstes. Beispiel: „klein“, „mittel“ oder „groß“.
  • KMS_KEY1, KMS_KEY2, KMS_KEY_WITNESS, KMS_KEY_CONTINENT: die Schlüsselressourcen-ID für jeden der erforderlichen Schlüssel, einschließlich eines Schlüssels auf dem Kontinent und eines Schlüssels in der Spanner-Zeugenregion. Die Schlüsselnamen sind in Ihrem Projekt im folgenden Format aufgeführt: projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME.

Daten von und zu einem CMEK-fähigen Dienst importieren und exportieren

Wenn Sie möchten, dass Ihre Daten während eines Imports mit einem vom Kunden verwalteten Schlüssel verschlüsselt bleiben, müssen Sie für den Cloud Storage-Bucket CMEK festlegen, bevor Sie Daten aus ihm importieren.

Sie können aus einem nicht mit CMEK geschützten Cloud Storage-Bucket importieren. Nach dem Import werden die im Dataproc Metastore gespeicherten Daten gemäß den CMEK-Einstellungen des Zieldienstes geschützt.

Beim Export wird der exportierte Datenbankdump gemäß den CMEK-Einstellungen des Zielspeicher-Buckets geschützt.

Nächste Schritte