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

Cloud TPU verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von Cloud TPU ü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 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 ihre Schutzebene, ihren Speicherort, ihren Rotationszeitplan, ihre 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-Agenten in Ihrem Google Cloud -Projekt die IAM-Rolle Cloud KMS CryptoKey-Encrypter/Decrypter (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-Agenten die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter zuzuweisen:

gcloud

Führen Sie den folgenden 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 Standort, an dem Sie Ihren 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.

    Zu „Schlüsselverwaltung“

  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 aktualisieren 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-Agenten ein:

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

    Ersetzen Sie PROJECT_NUMBER durch die Google CloudProjektnummer.

  7. Wählen Sie im Menü Rolle auswählen die Option 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 im Befehl tpu-vm create das Argument --boot-disk, 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 im Befehl queued-resources create das Argument --bootdisk, 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 Anfrage für in die Warteschlange gestellte Ressourcen
  • 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 Anfrage für in die Warteschlange gestellte Ressourcen zugewiesen wird
  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • 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 (Customer Managed Encryption Keys, CMEK) verwenden.

Gelöschte oder widerrufene CMEKs

Wenn ein CMEK widerrufen oder gelöscht wird, wird eine 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.