Bootlaufwerk einer TPU-VM mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verschlüsseln

Cloud TPU verschlüsselt inaktive Kundendaten standardmäßig. Die Verschlüsselung wird von Cloud TPU übernommen. Zusätzliche 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 vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Cloud TPU 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 Cloud TPU-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

Nachdem Sie einen CMEK erstellt haben, müssen Sie dem Compute Engine-Dienstkonto Zugriff auf Ihren Schlüssel gewähren.

Verwendung des Schlüssels erlauben

Sie müssen dem Compute Engine-Dienst-Agent in Ihrem Google Cloud Projekt die IAM-Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Cloud KMS-Schlüssel zuweisen. Wenn Sie diese Rolle zuweisen, kann der Compute Engine-Dienst auf Ihren Verschlüsselungsschlüssel zugreifen und ihn verwenden.

Wählen Sie eine der folgenden Optionen aus, um dem Compute Engine-Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter zuzuweisen:

gcloud

Führen Sie dazu diesen Befehl aus:

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

Ersetzen Sie Folgendes:

  • KEY_NAME: der Name des Schlüssels
  • LOCATION: der Speicherort, an dem Sie den Schlüsselbund erstellt haben.
  • RING_NAME: der Name des Schlüsselbunds
  • PROJECT_NUMBER: Ihre Google Cloud -Projektnummer.
  • KEY_PROJECT_ID: Ihre Schlüsselprojekt-ID

Console

  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 auf den Namen des Schlüssels, den Sie ändern möchten.

  4. Klicken Sie auf den Tab Berechtigungen.

  5. Klicken Sie auf Zugriffsrechte erteilen. Der Bereich Zugriff auf Schlüssel gewähren wird geöffnet.

  6. Geben Sie im Feld Neue Hauptkonten den Namen des Compute Engine-Dienst-Agents ein:

    service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer Ihres Google Cloud-Projekts.

  7. Wählen Sie im Menü Rolle auswählen Cloud KMS CryptoKey Verschlüsseler/Entschlüsseler aus.

  8. Klicken Sie auf Speichern.

TPU-VM mit einem CMEK erstellen

Sie können einen CMEK angeben, wenn Sie eine TPU-VM mit der TPU API oder der Queued Resources API erstellen.

TPU API

Wenn Sie beim Erstellen einer TPU-VM mit der Cloud TPU API einen CMEK angeben möchten, verwenden Sie das Argument --boot-disk für den Befehl tpu-vm create, um den zu verwendenden Verschlüsselungsschlüssel anzugeben:

gcloud compute tpus tpu-vm create TPU_NAME \
    --zone ZONE \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Ersetzen Sie Folgendes:

  • TPU_NAME: der Name Ihrer TPU-VM.
  • ZONE: die Zone, in der Sie die Cloud TPU erstellen möchten.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • REGION: die Region, in der Sie Ihren Schlüsselbund erstellt haben
  • RING_NAME: der Name des Schlüsselbunds
  • KEY_NAME: der Name des Schlüssels
  • TPU_RUNTIME_VERSION: die Softwareversion der Cloud TPU.
  • ACCELERATOR_TYPE: Der Beschleunigertyp für die Cloud TPU, die Sie erstellen möchten. Weitere Informationen zu den unterstützten Beschleunigertypen für die einzelnen TPU-Versionen finden Sie unter TPU-Versionen.

Queued Resources API

Wenn Sie beim Erstellen einer TPU-VM mit der Queued Resources API einen CMEK angeben möchten, verwenden Sie das Argument --bootdisk für den Befehl queued-resources create, um den zu verwendenden Verschlüsselungsschlüssel anzugeben:

gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone ZONE \
    --node-id NODE_ID \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --runtime-version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Ersetzen Sie Folgendes:

  • QUEUED_RESOURCE_ID: Die vom Nutzer zugewiesene ID der in die Warteschlange eingereihten Ressourcenanfrage.
  • ZONE: die Zone, in der Sie die Cloud TPU erstellen möchten.
  • NODE_ID: Die vom Nutzer zugewiesene ID der Cloud TPU, die erstellt wird, wenn die in die Warteschlange gestellte Ressourcenanfrage zugewiesen wird.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • REGION: die Region, in der Sie Ihren Schlüsselbund erstellt haben
  • RING_NAME: der Name des Schlüsselbunds
  • KEY_NAME: der Name des Schlüssels
  • TPU_RUNTIME_VERSION: die Softwareversion der Cloud TPU.
  • ACCELERATOR_TYPE: Der Beschleunigertyp für die Cloud TPU, die Sie erstellen möchten. Weitere Informationen zu den unterstützten Beschleunigertypen für die einzelnen TPU-Versionen finden Sie unter TPU-Versionen.

Informationen zum Erstellen von TPU-VMs mit CMEKs mit GKE finden Sie in der GKE-Dokumentation unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

Gelöschte oder widerrufene CMEKs

Wenn ein CMEK widerrufen oder gelöscht wird, wird jede TPU-VM, die ein mit dem gelöschten oder widerrufenen CMEK verschlüsseltes Bootlaufwerk verwendet, nicht automatisch heruntergefahren. Die TPU-VM kann weiterhin auf Daten auf dem verschlüsselten Bootlaufwerk zugreifen, bis die VM heruntergefahren oder neu gestartet wird. So können Sie Ihre Daten wiederherstellen, wenn Sie den Zugriff auf einen widerrufenen oder gelöschten Schlüssel wiederherstellen. Wenn Sie einen Schlüssel wieder aktivieren, können Sie Ihre TPU-VM starten oder reparieren. Das Bootlaufwerk wird dann erfolgreich entschlüsselt und geladen.