vTPM in Confidential GKE Nodes-Arbeitslasten ausführen

Auf dieser Seite erfahren Sie, wie Sie Virtual Trusted Platform Modules (vTPMs) mit GKE-Standardarbeitslasten (Google Kubernetes Engine) verwenden, die auf Confidential GKE Nodes ausgeführt werden. vTPMs bieten Plattformintegrität zusammen mit anderen Sicherheitsfunktionen wie Remote Attestation, Secret-Versiegelung und Erzeugung von Zufallszahlen. Auf dieser Seite erfahren Sie, wie Sie ein Geräte-Plug-in installieren und vTPMs für GKE-Anwendungen sichtbar machen.

Diese Seite richtet sich an Sicherheitsexperten, die per Fernzugriff auf die Sicherheitsfunktionen von vTPMs in GKE-Anwendungen zugreifen möchten.

Machen Sie sich vor dem Lesen dieser Seite mit den folgenden Funktionen vertraut:

Hinweise

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl gcloud components update ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.

Beschränkungen

Sie können vTPMs nur in Confidential GKE Nodes, die AMD SEV als Confidential Computing-Technologie verwenden, für GKE-Anwendungen sichtbar machen. Intel TDX und AMD SEV-SNP werden nicht unterstützt.

Verfügbarkeit

Sie können Confidential GKE Nodes unter den folgenden Bedingungen verwenden:

Cluster mit Confidential GKE Nodes erstellen

Sie können einen neuen Cluster erstellen, bei dem Confidential GKE Nodes aktiviert ist. Verwenden Sie dazu die gcloud CLI oder die Google Cloud -Konsole. Wenn Sie Confidential GKE Nodes auf Clusterebene aktivieren, werden alle Knoten im Cluster zu Confidential VMs.

gcloud

So erstellen Sie einen neuen Cluster, der AMD SEV als Confidential Computing-Technologie verwendet:

gcloud container clusters create CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --confidential-node-type=SEV

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: Der Name des neuen Clusters.
  • MACHINE_TYPE: der Maschinentyp für den Standardknotenpool des Clusters, der entweder der N2D- oder der C2D-Maschinentyp sein muss

Console

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.

    Zur Seite „Kubernetes-Cluster erstellen“

  2. Klicken Sie im Navigationsmenü unter Cluster die Option Sicherheit an.
  3. Wählen Sie Confidential GKE Nodes aktivieren aus.
  4. Klicken Sie im Bestätigungsdialogfeld auf Änderungen vornehmen.
  5. Wählen Sie im Menü Typ die Option AMD SEV aus.
  6. Folgen Sie der Anleitung unter Regionalen Cluster erstellen, um andere Abschnitte des Clusters zu konfigurieren.
  7. Klicken Sie auf Erstellen.

Nachdem Sie einen Cluster mit Confidential GKE Nodes erstellt haben, können alle in diesem Cluster erstellten Knotenpools nur Confidential Nodes verwenden. Sie können keine regulären Knotenpools in Clustern erstellen, für die Confidential GKE Nodes aktiviert ist. Sie können Confidential GKE Nodes auch nicht für einzelne Knotenpools deaktivieren, wenn Sie Confidential GKE Nodes auf Clusterebene aktivieren.

vTPM in Confidential GKE Nodes-Arbeitslasten ausführen

Damit vTPM in Confidential GKE Nodes-Arbeitslasten ausgeführt werden kann, stellt Google ein DaemonSet zur Verfügung, das auf die Confidential GKE Nodes-Cluster angewendet werden muss. Führen Sie den folgenden Befehl aus, um das DaemonSet bereitzustellen:

kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml

Pods für die Anzeige des vTPM konfigurieren

Für die Nutzung von vTPM durch Pods konfigurieren Sie ein Ressourcenlimit. Geben Sie das Ressourcenlimit in einer Pod-Spezifikation mit folgendem Schlüssel/Wert-Paar als 1 an:

  • Schlüssel: google.com/cc
  • Wert: 1

Beispiel für eine Pod-Spezifikation, die vTPM verwendet:

apiVersion: v1
kind: Pod
metadata:
  name: my-vtpm-pod
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 8080
      name: http
    resources:
      limits:
        google.com/cc: 1

Nächste Schritte