Kundenverwaltete Verschlüsselungsschlüssel verwenden

Auf dieser Seite wird erläutert, wie Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK) zum Schutz von Dataproc Metastore-Diensten verwenden. CMEK ermöglicht die Verschlüsselung inaktiver Daten mit einem Schlüssel, den Sie über den Cloud Key Management Service steuern können. Sie können die Schlüssel als Softwareschlüssel, in einem HSM-Cluster oder extern speichern.

Hinweise

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

CMEK-Unterstützung für Dataproc Metastore konfigurieren

Zum Konfigurieren der CMEK-Unterstützung für Dataproc Metastore müssen Sie den Dataproc Metastore- und Cloud Storage-Dienstkonten zuerst die Berechtigung für den Cloud KMS-Schlüssel gewähren. 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 einen CMEK-Schlüssel in Cloud KMS (falls noch keiner verfügbar 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
    

    Ebenso 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:

    gsutil kms authorize -k projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
    

Dataproc Metastore-Dienst mit einem 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":

    Zu Dataproc Metastore

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

    Die Seite Dienst erstellen wird geöffnet.

  3. Konfigurieren Sie Ihren 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 CMEK aktiviert ist.

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 Schlüsselressourcen-ID.
  2. Prüfen Sie, ob die Erstellung erfolgreich war.

Dataproc Metastore-Daten, die durch von Google bereitgestellte Verschlüsselungsschlüssel geschützt sind

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

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 nicht CMEK-geschützten Cloud Storage-Bucket importieren. Nach dem Import werden die in Dataproc Metastore gespeicherten Daten gemäß den CMEK-Einstellungen des Zieldienstes geschützt.

Beim Exportieren wird der exportierte Datenbank-Dump gemäß den CMEK-Einstellungen des Zielspeicher-Buckets geschützt.

CMEK-Einschränkungen für Dataproc Metastore

  • Wenn Sie den CMEK für einen CMEK-fähigen Dienst deaktivieren oder löschen, kann der Dienst nicht mehr verwendet und nicht wiederhergestellt werden.

    • Die Daten gehen endgültig verloren.
  • 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.

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

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

  • 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 das Erstellen des Dienstes fehl. Wenn ein Dataproc Metastore-Dienst erstellt wurde und der Schlüssel nicht mehr verfügbar ist, ist der Dienst erst wieder verfügbar, wenn der Schlüssel verfügbar ist. Weitere Überlegungen zur Verwendung externer Schlüssel finden Sie unter Überlegungen zu Cloud EKM.

Nächste Schritte