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

  • Sie können keine vom Kunden verwalteten Verschlüsselungsschlüssel auf einer vorhandenen Instanz aktivieren.

  • Sie können den Schlüssel, der von einem CMEK-fähigen Dienst verwendet wird, nicht rotieren.

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

  • Ein CMEK-fähiger Dienst unterstützt die Data Catalog-Synchronisierung nicht. Wird bei einem CMEK-fähigen Dienst die Data Catalog-Synchronisierung aktiviert, tritt ein Fehler auf. Außerdem können Sie keinen neuen Dienst erstellen, wenn beide Features aktiviert sind.

  • 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 mehr 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 Überlegungen zu Cloud EKM.

  • Die Cloud Monitoring-Datenbank unterstützt keine CMEK-Verschlüsselung. Stattdessen werden in Google CloudGoogle-Verschlüsselungsschlüssel verwendet,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 KMS API (Cloud Key Management Service) hinzufügen.

CMEK-Unterstützung für Dataproc Metastore konfigurieren

Wenn Sie die CMEK-Unterstützung für Dataproc Metastore konfigurieren möchten, müssen Sie zuerst dem Dataproc Metastore- und dem Cloud Storage-Dienstkonto die Berechtigung für Cloud KMS-Schlüssel erteilen. Anschließend können Sie einen Dataproc-Metastore-Dienst erstellen, der einen CMEK-Schlüssel verwendet.

Cloud KMS-Schlüsselberechtigungen gewähren

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

gcloud

  1. Erstellen Sie in Cloud KMS einen CMEK-Schlüssel, sofern noch keiner vorhanden ist. Der folgende Befehl ist ein Beispiel für das Erstellen eines Softwareschlüssels:

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

    Auf ähnliche Weise können Sie einen HSM-Schlüssel oder einen EKM-Schlüssel erstellen.

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

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

Dataproc Metastore-Dienst mit CMEK-Schlüssel erstellen

Führen Sie die folgenden Schritte aus, um die CMEK-Verschlüsselung während der Diensterstellung zu konfigurieren:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „Dataproc Metastore“:

    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 verwalteten Verschlüsselungsschlüssel (CMEK) verwenden.

  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. Öffnen Sie in der Google Cloud Console die Seite „Dataproc Metastore“:

    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 für diesen Dienst 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 Befehl gcloud metastore services create aus, um einen Dienst mit 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: Bezieht sich auf die ID der Hauptressource.
  2. Prüfen Sie, ob die Erstellung erfolgreich war.

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 Cloud Storage-Bucket importieren, der nicht mit CMEK geschützt ist. 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