CMEK mit Dataproc Serverless verwenden

Wenn Sie Dataproc Serverless verwenden, werden Daten auf Laufwerken der zugrunde liegenden serverlosen Infrastruktur und in einem Cloud Storage-Staging-Bucket gespeichert. Diese Daten werden mit einem von Google generierten Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) und einem Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK) verschlüsselt. Sie können einen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden, um den Schlüsselverschlüsselungsschlüssel (KEK) zu erstellen, zu verwenden und zu widerrufen. Google behält die Kontrolle über den Datenverschlüsselungsschlüssel (DEK). Weitere Informationen zu Datenverschlüsselungsschlüsseln von Google finden Sie unter Standardverschlüsselung ruhender Daten.

CMEK verwenden

Führen Sie die Schritte in diesem Abschnitt aus, um mit CMEK Daten zu verschlüsseln, die von Dataproc Serverless auf den nichtflüchtigen Speicher und in den Dataproc-Staging-Bucket geschrieben werden.

  1. Erstellen Sie einen Schlüssel mithilfe des Cloud Key Management Service (Cloud KMS).

  2. Kopieren Sie den Ressourcennamen.

    Kopieren Sie den Ressourcennamen.
    Der Ressourcenname wird so erstellt:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. Aktivieren Sie die Verwendung Ihres Schlüssels für die Compute Engine-, Dataproc- und Cloud Storage-Dienstkonten:

    1. Weitere Informationen zum Zuweisen der Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler dem Compute Engine-Dienst-Agent-Dienstkonto finden Sie unter Ressourcen mithilfe von Cloud KMS-Schlüsseln schützen > Erforderliche Rollen. Wenn dieses Dienstkonto nicht auf der IAM-Seite in der Google Cloud Console aufgeführt ist, klicken Sie auf Von Google bereitgestellte Rollenzuweisungen einschließen, um es aufzulisten.
    2. Weisen Sie dem Dienstkonto des Dataproc-Dienst-Agents die Rolle Cloud KMS CryptoKey Encrypter/Decrypter zu. Sie können die Google Cloud CLI verwenden, um die Rolle zuzuweisen:

       gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
       --member serviceAccount:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com \
       --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Ersetzen Sie Folgendes:

      KMS_PROJECT_ID: die ID Ihres Google Cloud-Projekts, in dem Cloud KMS ausgeführt wird. Dieses Projekt kann auch das Projekt sein, in dem Dataproc-Ressourcen ausgeführt werden.

      PROJECT_NUMBER: die Projektnummer (nicht die Projekt-ID) Ihres Google Cloud-Projekts, in dem Dataproc-Ressourcen ausgeführt werden.

    3. Aktivieren Sie die Cloud KMS API für das Projekt, in dem Dataproc-Serverless-Ressourcen ausgeführt werden.

    4. Wenn die Rolle „Dataproc-Dienst-Agent“ nicht mit dem Dienstkonto des Dataproc-Dienst-Agents verknüpft ist, fügen Sie der benutzerdefinierten Rolle, die mit dem Dienstkonto des Dataproc-Dienst-Agents verknüpft ist, die Berechtigung serviceusage.services.use hinzu. Wenn die Rolle „Dataproc-Dienst-Agent“ dem Dienstkonto „Dataproc-Dienst-Agent“ zugewiesen ist, können Sie diesen Schritt überspringen.

    5. Folgen Sie der Anleitung, um Ihren Schlüssel zum Bucket hinzuzufügen.

  4. Wenn Sie eine Batcharbeitslast einreichen, gilt Folgendes:

    1. Geben Sie den Schlüssel im Parameter Batch kmsKey an.
    2. Geben Sie den Namen Ihres Cloud Storage-Bucket im Parameter Batch stagingBucket an.