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

Standardmäßig verschlüsselt Dataproc Metastore inaktive Kundendaten. 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 und zu verwalten, das die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten enthält, 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 Ihren 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 mit mehreren Regionen unterstützt (Vorschau).

  • 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 die Cloud Key Management Service (Cloud KMS) API hinzufügen.

  • Wenn Sie einen Cloud External Key Manager-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 mehr verfügbar ist, schlägt die Erstellung des Dienstes fehl. Wenn ein Dataproc Metastore-Dienst erstellt wurde und der Schlüssel nicht mehr verfügbar ist, ist der Dienst nicht mehr verfügbar, bis der Schlüssel wieder verfügbar ist. Weitere Überlegungen zur Verwendung externer Schlüssel finden Sie unter Cloud EKM-Überlegungen.

Beschränkungen

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

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

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

  • Sie können keine CMEKs 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

Zum Erstellen eines Cloud KMS-Schlüssels erstellen Sie zuerst einen Schlüsselbund und dann einen Schlüssel, der im Schlüsselbund gespeichert wird.

Schlüsselbund erstellen

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

Schlüssel erstellen

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 erteilen

Verwenden Sie die folgenden Befehle, um Berechtigungen für Cloud KMS-Schlüssel für Dataproc Metastore zu erteilen:

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

    Wenn Sie CMEK für einen multiregionalen Dataproc Metastore-Dienst konfigurieren möchten, müssen Sie jedem Schlüssel die erforderlichen Cloud KMS-Berechtigungen für die Dienstkonten von Dataproc Metastore und Cloud Storage gewähren.

      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 für eine einzelne Region mit 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:

    Zu Dataproc Metastore

  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.

Verschlüsselungskonfiguration des Dienstes prüfen:

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

    Zur Google Cloud Console

  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 CMEK-Verschlüsselung in einer einzelnen Region 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 konstituierende 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 multiregionale Region, in der Sie den Dataproc Metastore-Dienst erstellt haben.

Multiregionalen Dienst mit einem CMEK-Schlüssel erstellen

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

Console

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

    Zu Dataproc Metastore

  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 Abschnitt „Preise und Kapazität“ die Option Enterprise Plus – biregional aus.

  5. Wählen Sie für 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.

Verschlüsselungskonfiguration des Dienstes prüfen:

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

    Zu Dataproc Metastore

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

    Die Dienstdetails werden 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 Ihres neuen Dataproc Metastore-Dienstes.
  • LOCATION: die Google Cloud Multi-Region, in der Sie Ihren Dataproc Metastore-Dienst erstellen möchten. Sie können auch einen Standardspeicherort festlegen.
  • INSTANCE_SIZE: die Instanzgröße Ihres multiregionalen Dataproc Metastore-Dienstes. Beispiele: 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 werden 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 Daten aus einem Cloud Storage-Bucket importieren, der nicht mit CMEK geschützt ist. Nach dem Import werden die in Dataproc Metastore gespeicherten Daten gemäß den CMEK-Einstellungen des Zieldienstes geschützt.

Beim Exportieren wird der exportierte Datenbankdump gemäß den CMEK-Einstellungen des Ziel-Storage-Buckets geschützt.

Nächste Schritte