CMEK mit Dataproc Serverless verwenden

In Dataproc Serverless werden inaktive Kundendaten standardmäßig verschlüsselt. Die Verschlüsselung wird von Dataproc Serverless 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 Serverless 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 die Schlüsselnutzung im Blick behalten, 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-Serverless-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

CMEK verwenden

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

  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 Dienstkonten „Compute Engine“, „Dataproc“ und „Cloud Storage Service Agent“, damit sie Ihren Schlüssel verwenden können:

    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-Buckets im Parameter Batch stagingBucket an.