CMEK mit Managed Service for Apache Spark verwenden

Managed Service for Apache Spark verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von Managed Service for Apache Spark übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie kundenverwaltete Verschlüsselungsschlüssel (CMEKs) in Cloud KMS mit CMEK-integrierten Diensten wie Managed Service for Apache Spark 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 besitzen 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 Managed Service for Apache Spark-Ressourcen der Verwendung der standardmäßigen Google-Verschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).

CMEK verwenden

Folgen Sie den Schritten in diesem Abschnitt, um mit CMEK Daten zu verschlüsseln, die Managed Service for Apache Spark auf nichtflüchtige Speicher und in den Managed Service for Apache Spark-Staging-Bucket schreibt.

Sie können den Cloud Key Management Service verwenden, um Schlüsselbunde und Schlüssel zu erstellen und zu verwalten, oder Cloud KMS Autokey für die vereinfachte automatische Erstellung von Schlüsselbunden und Schlüsseln verwenden.

Cloud KMS Autokey verwenden

  1. Aktivieren Sie Autokey für den Ordner, der Ihr Projekt enthält.
  2. Schlüssel-Handle erstellen Geben Sie beim Erstellen des Schlüssel-Handles dataproc.googleapis.com/Batch oder dataproc.googleapis.com/Session als --resource-type an. Autokey generiert einen Schlüssel und weist ihn dem Schlüssel-Handle zu.
  3. Gewähren Sie Dienstkonten Berechtigungen und konfigurieren Sie Ihre Batch- oder Sitzungsarbeitslast. Folgen Sie dazu den Schritten 4 und 5 im folgenden Abschnitt Schlüssel manuell erstellen und verwenden. Wenn Sie Ihre Arbeitslast einreichen, geben Sie im Feld kmsKey den Ressourcennamen des Schlüssel-Handles anstelle des Ressourcennamens des Schlüssels an.

Schlüssel manuell erstellen und verwenden

So erstellen Sie Cloud KMS-Schlüssel manuell und verwenden sie mit Managed Service for Apache Spark:

  1. Erstellen Sie einen Schlüssel mit dem 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 für Compute Engine, Managed Service for Apache Spark und Cloud Storage Service Agent, um Ihren Schlüssel zu verwenden:

    1. Informationen zum Zuweisen der Rolle Cloud KMS CryptoKey Encrypter/Decrypter zum Compute Engine-Dienst-Agent-Dienstkonto finden Sie unter Ressourcen mit 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 Managed Service for Apache Spark-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. \
       --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 Managed Service for Apache Spark-Ressourcen ausgeführt werden.

      PROJECT_NUMBER: die Projektnummer (nicht die Projekt-ID) Ihres Google Cloud -Projekts, in dem Managed Service for Apache Spark-Ressourcen ausgeführt werden.

    3. Aktivieren Sie die Cloud KMS API für das Projekt, in dem Managed Service for Apache Spark-Ressourcen ausgeführt werden.

    4. Wenn die Rolle „Managed Service for Apache Spark Service Agent“ nicht an das Dienstkonto „Managed Service for Apache Spark Service Agent“ angehängt ist, fügen Sie die Berechtigung serviceusage.services.use der benutzerdefinierten Rolle hinzu, die an das Dienstkonto „Managed Service for Apache Spark Service Agent“ angehängt ist. Wenn die Rolle „Managed Service for Apache Spark-Dienst-Agent“ an das Dienstkonto „Managed Service for Apache Spark-Dienst-Agent“ angehängt 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:

    1. Geben Sie Ihren Schlüssel im Batchparameter kmsKey an.
    2. Geben Sie den Namen Ihres Cloud Storage-Bucket im Batch-Parameter stagingBucket an.
  5. Wenn Sie eine interaktive Sitzung oder ein Laufzeitprofil (Sitzungsvorlage) erstellen, konfigurieren Sie den Verschlüsselungsschlüssel und den Staging-Bucket:

    1. Geben Sie Ihren Schlüssel an. Bearbeiten Sie auf der Seite Laufzeitprofil erstellen in derGoogle Cloud Console unter Zusätzliche Konfiguration die Option Netzwerk und Sicherheit, wählen Sie unter Verschlüsselung die Option Cloud KMS-Schlüssel aus und wählen Sie Ihren Schlüssel aus. Alternativ können Sie den Schlüssel im Parameter kmsKey der Sitzung oder Sitzungsvorlage angeben.

    2. Geben Sie den Namen Ihres Cloud Storage-Bucket an. Bearbeiten Sie auf der Seite Laufzeitprofil erstellen in der Google Cloud -Konsole unter Zusätzliche Konfiguration die Laufzeitkonfiguration und wählen Sie im Feld Staging-Bucket Ihren Bucket aus. Alternativ können Sie den Bucket im Parameter stagingBucket der Sitzung oder Sitzungsvorlage angeben.