Workstation-Ressourcen mit CMEK verschlüsseln

Standardmäßig verwendet Cloud Workstations einen von Google verwalteten Schlüssel, um Workstation-Ressourcen wie VMs und nichtflüchtige Laufwerke zu verschlüsseln, wenn sich Daten im Ruhezustand befinden. Wenn Sie bestimmte Compliance- oder regulatorische Anforderungen in Bezug auf die Schlüssel haben die Ihre Daten schützen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) mit Cloud Key Management Service (Cloud KMS):

Weitere Informationen zu CMEK im Allgemeinen, einschließlich wann und warum Sie sie aktivieren sollten, sieh dir die Cloud KMS-Dokumentation

Hinweis

Projekte erstellen

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl zwei Google Cloud-Projekte aus oder erstellen Sie sie:

    • Ein Schlüsselprojekt enthält Ihre Cloud KMS-Ressourcen, einschließlich eines Schlüsselbunds und eines symmetrischen Verschlüsselungsschlüssels.

    • Ein Arbeitsstationsprojekt enthält Workstations, die mit einem CMEK-Schlüssel verschlüsselt sind.

    Sie können für Ihr Schlüsselprojekt und Ihr Workstationprojekt dasselbe Projekt verwenden. Als Best Practice empfehlen wir jedoch, zwei Projekte für Aufgabentrennung.

  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. Hier erfahren Sie, wie Sie überprüfen Sie, ob die Abrechnung Projekt.

  3. Aktivieren Sie die erforderlichen APIs in jedem Projekt.

  4. Achten Sie darauf, dass Sie die gcloud-Befehlszeile. Führen Sie den folgenden Befehl aus, um die gcloud-Befehlszeile zu initialisieren:

    gcloud init
    

Erforderliche Rollen

Sie können zwar derselben Person die Rollen „Cloud KMS-Administrator“ und „Cloud Workstations-Administrator“ zuweisen, wir empfehlen jedoch, beim Zuweisen von Rollen das Prinzip der geringsten Berechtigung zu beachten. Es empfiehlt sich, diese Rollen zwei verschiedenen Personen zuzuweisen und sie zu bitten, sich abzustimmen, anstatt den Cloud KMS-Administrator auch als Cloud Workstations Admin zu verwenden. Weitere Informationen finden Sie unter Best Practices für die Sicherheit und IAM sicher verwenden.

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Einrichten von CMEK benötigen:

  • Wenn Sie Cloud KMS-Administrator sind, bitten Sie Ihren Administrator, Ihnen die folgende Rolle zu gewähren, damit Sie Cloud KMS-Ressourcen erstellen und verwalten können: Cloud KMS-Administrator (roles/cloudkms.admin) für Ihr Schlüsselprojekt.
  • Wenn Sie Cloud Workstations-Administrator sind, bitten Sie Ihren Administrator, Ihnen die folgende Rolle zu erteilen, damit Sie Workstations erstellen und aktualisieren können: Cloud Workstations-Administrator (roles/workstations.admin) für Ihr Workstations-Projekt.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Schlüsselbund und Verschlüsselungsschlüssel erstellen

Erstellen Sie in Ihrem Schlüsselprojekt einen Schlüssel und speichern Sie die Ressourcen-ID des Schlüssels:

  1. Erstellen oder wählen Sie ein Schlüsselbund an.

    Sie können Schlüsselbunde für verschiedene Dienste freigeben, aber als Best Practice empfehlen, für jede geschützte Ressource einen anderen Schlüssel zu verwenden. Weitere Informationen finden Sie unter Aufgabentrennung.

  2. Erstellen Sie einen symmetrischen Verschlüsselungsschlüssel.

    Erstellen Sie den CMEK-Schlüssel und die Workstationkonfiguration in der in derselben Region.

  3. Ressourcen-ID abrufen und speichern Sie diese für einen späteren Schritt.

Auf Workstationkonfigurationen prüfen

Wenn in der Google Cloud Console keine Workstationkonfigurationen verfügbar sind, bitten Sie den Cloud Workstations-Administrator, eine Workstationkonfiguration für Sie zu erstellen. Alternativ können Sie prüfen, ob Sie die IAM-Rolle „Cloud Workstations-Administrator“ für das Projekt haben, damit Sie diese Ressourcen selbst erstellen können.

Kundenverwaltete Verschlüsselungsschlüssel verwenden

Wenn Sie ein CMEK in einer Workstation-Konfiguration verwenden möchten, aktivieren Sie CMEK in der Google Cloud Console oder in der gcloud CLI.

Console

Compute Engine-Dienstkonto und Compute Engine-Dienst-Agent Cloud KMS zuweisen CryptoKey-Verschlüsseler/Entschlüsseler-Rolle und die Rolle „Cloud KMS-Betrachter“:

  1. Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.

    Schlüsselverwaltung aufrufen

  2. Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält.

  3. Klicken Sie das Kästchen für den Schlüssel an, den Sie verwenden möchten.

    Der Tab Berechtigungen wird als Bereich angezeigt.

  4. Geben Sie im Dialogfeld Mitglieder hinzufügen die E-Mail-Adresse der Compute Engine-Dienstkonto und Compute Engine-Dienst-Agent, denen Sie Zugriff gewähren.

  5. Wählen Sie im Drop-down-Menü Rolle auswählen die Option Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler:

  6. Klicken Sie auf Weitere Rolle hinzufügen.

  7. Wählen Sie im Drop-down-Menü Rolle auswählen die Option Cloud KMS-Betrachter aus.

  8. Klicken Sie auf Speichern.

So aktivieren Sie CMEK über die Google Cloud Console:

  1. Folgen Sie der Anleitung, um Workstationkonfiguration erstellen

  2. Suchen Sie bei der Angabe der Maschinenkonfiguration nach dem Abschnitt Erweiterte Optionen.

  3. Klicken Sie auf expand_more (Mehr anzeigen) und wählen Sie Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden aus.

    1. Wählen Sie im Feld Vom Kunden verwalteten Schlüssel auswählen den vom Kunden verwalteten Verschlüsselungsschlüssel aus, den Sie in Ihrem Schlüsselprojekt erstellt haben.

      Wenn der von Ihnen erstellte Schlüssel nicht aufgeführt ist, klicken Sie auf Schlüssel manuell eingeben, um Wählen Sie den Schlüssel nach Ressourcen-ID aus und geben Sie dann die notierte Ressourcen-ID ein .

    2. Wählen Sie im Feld Dienstkonto das vom .

  4. Führen Sie die restlichen Schritte aus, um die Workstation-Konfiguration zu erstellen.

  5. Erstellen, starten und starten Sie die Workstation-Konfiguration, um die persistenten Laufwerke in Ihrem Projekt mit dem angegebenen Cloud KMS-Schlüssel zu verschlüsseln.

gcloud

Im folgenden Beispiel wird eine IAM-Rolle gewährt, die Zugriff auf einen Cloud KMS-Schlüssel gewährt. Anschließend wird CMEK aktiviert, indem dieser Schlüssel in der Workstation-Konfiguration angegeben wird:

  1. Gewähren Sie dem KMS-Dienstkonto und dem Compute Engine-Dienst-Agent für Ihr Workstation-Projekt das Cloud KMS. CryptoKey-Verschlüsseler/Entschlüsseler-Rolle (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den CMEK-Schlüssel. So kann der Compute Engine-Dienst verschlüsselte Ressourcen in Ihrem Projekt mit dem angegebenen CMEK-Schlüssel erstellen.

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member serviceAccount:WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project KMS_PROJECT_ID
    
      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member serviceAccount:service-WORKSTATIONS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project KMS_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • KEY_NAME: der Name des Schlüssels
    • LOCATION: Der Name der Region, in der Sie Ihren Schlüsselbund erstellt haben.
    • KEY_RING: der Name des Schlüsselbunds
    • WORKSTATIONS_PROJECT_NUMBER: Die automatisch generierte eindeutige numerische Kennung, die als erster Teil des Compute Engine-Standarddienstkontos des Workstation-Projekts enthalten ist.
    • KMS_PROJECT_ID: Projekt-ID, ein eindeutiger String, mit dem sich Ihr Cloud KMS-Projekt von allen anderen in Google Cloud unterscheiden lässt.

    Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help aus.

  2. Dienstkonto zur Workstationverwaltung für Ihre Workstation abrufen Projekt erstellen, verwenden Sie den folgenden Befehl:

    gcloud beta services identity create --service=workstations.googleapis.com \
        --project=WORKSTATIONS_PROJECT_ID
    

    WORKSTATIONS_PROJECT_ID durch Ihre Workstations ersetzen Projekt-ID.

  3. Weisen Sie dem Dienstkonto für die Verwaltung der Workstations für Ihr Projekt die Rolle „Cloud KMS Viewer“ (roles/cloudkms.viewer) für den CMEK-Schlüssel zu. So kann der Workstation-Dienst die Schlüsselrotation erkennen und Ressourcen bei Bedarf in Ihrem Projekt neu verschlüsseln.

    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT \
        --role roles/cloudkms.viewer \
        --project KMS_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • KEY_NAME: der Name des Schlüssels
    • LOCATION: Der Name der Region, in der Sie Ihren Schlüsselbund erstellt haben.
    • KEY_RING: der Name des Schlüsselbunds
    • WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT: das Dienstkonto für die Verwaltung von Workstations, das Sie im vorherigen Schritt erhalten haben.
    • KMS_PROJECT_ID: die Projekt-ID, ein eindeutiger String für folgende Aktionen: Ihr Cloud KMS-Schlüsselprojekt von allen anderen in Google Cloud

    Informationen zu allen Flags und möglichen Werten erhalten Sie, wenn Sie den Befehl mit der Flag --help.

  4. Optional: Wenn Sie noch keinen Workstationcluster erstellt haben, erstellen Sie einen mit dem Cluster erstellen gcloud.

    gcloud workstations clusters create \
        WORKSTATIONS_CLUSTER_NAME --region=LOCATION \
        --project=WORKSTATIONS_PROJECT_NUMBER
    

    Ersetzen Sie Folgendes:

    • WORKSTATIONS_CLUSTER_NAME: der Name des Workstationclusters.
    • LOCATION: Der Name der Region für Ihren Workstationcluster.
    • WORKSTATIONS_PROJECT_NUMBER: die automatisch generierte eindeutige numerische Kennung, die als erster Teil des Compute Engine-Standarddienstkontos des Workstation-Projekts enthalten ist
  5. Angenommen, Sie haben bereits einen Cluster erstellt, erstellen Sie eine Workstationkonfiguration mit encryption_key-Einstellungen.

    Wenn Sie eine Workstationkonfiguration mit dem Maschinentyp e2-standard-2, einer Inaktivitätstimeout von 3600s und CMEK-verschlüsselten Workstationressourcen erstellen möchten, führen Sie den folgenden gcloud-Befehl aus:

    gcloud workstations configs create WORKSTATIONS_CONFIG_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --region=LOCATION \
      --machine-type="e2-standard-2" \
      --idle-timeout=3600 \
      --kms-key="projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \
      --kms-key-service-account="WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
      --project=WORKSTATIONS_PROJECT_NUMBER
    

    Ersetzen Sie Folgendes:

    • WORKSTATIONS_CONFIG_NAME: der Name des Workstationkonfiguration.
    • WORKSTATIONS_CLUSTER_NAME: Der Name Ihres Workstation-Clusters.
    • LOCATION: der Regionsname Ihres Clusters.
    • KMS_PROJECT_ID: Projekt-ID, ein eindeutiger String, der Ihr Projekt von allen anderen in Google Cloud unterscheidet.
    • KEY_RING: der Name des Schlüsselbunds
    • KEY_NAME: der Name des Schlüssels
    • WORKSTATIONS_PROJECT_NUMBER: die automatisch generierte eindeutige numerische Kennung, die als erster Teil des Compute Engine-Standarddienstkontos des Workstation-Projekts enthalten ist

    Nachdem Sie eine Workstationkonfiguration erstellt haben, verschlüsselt Cloud KMS die nichtflüchtigen Laufwerke in Ihrem Projekt mit dem angegebenen Cloud KMS-Schlüssel.

Vom Kunden verwaltete Verschlüsselungsschlüssel rotieren

Wenn Sie dem Dienstkonto für die Workstation-Verwaltung die Rolle „Cloud KMS Viewer“ (roles/cloudkms.viewer) für den CMEK-Schlüssel zuweisen, kann der Workstation-Dienst die Schlüsselrotation erkennen und Ihr Basislaufwerk mit der neuen primären Schlüsselversion neu verschlüsseln.

Die Neuverschlüsselung erfolgt, nachdem Sie Ihre Workstation beendet haben. Jedes Mal, wenn Sie eine verschlüsselte Workstation beenden, prüft der Workstationdienst, der Schlüssel rotiert wurde. Wenn der Schlüssel rotiert wurde, erstellt der Workstation-Dienst einen Snapshot des Basislaufwerks Ihrer Workstation und löscht das Laufwerk. Wenn Sie die Workstation das nächste Mal starten, erstellt der Workstation-Dienst ein neues Laufwerk aus dem Snapshot mit der neuen Primärschlüsselversion.

Cloud KMS-Kontingente und Cloud Workstations

Wenn Sie CMEK in Cloud Workstations verwenden, Ihre Projekte können kryptografische Cloud KMS-Anfragen nutzen Kontingenten. CMEK-verschlüsselte Repositories können diese Kontingente beispielsweise pro Up- oder Download verbrauchen. Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel wirken sich nur dann auf Cloud KMS-Kontingente aus, wenn Sie Hardware- (Cloud HSM) oder externe Schlüssel (Cloud EKM) verwenden. Weitere Informationen finden Sie unter Cloud KMS-Kontingente.

Externe Schlüssel

Sie können Cloud External Key Manager (Cloud EKM) verwenden, um Daten in Google Cloud mit von Ihnen verwalteten externen Schlüsseln 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 nicht mehr verfügbar ist, Ihre Workstation kann nicht gestartet werden.

Weitere Überlegungen zur Verwendung externer Schlüssel finden Sie unter Cloud External Key Manager.

Nächste Schritte