Mit vSphere IaaS control plane können Sie vertrauliche vSphere-Pods auf einem Supervisor ausführen. Ein vertraulicher vSphere Pod verwendet eine Hardwaretechnologie, mit der der Arbeitsspeicher des Gastbetriebssystem verschlüsselt bleibt und vor dem Zugriff durch den Hypervisor geschützt wird.

Sie können vertrauliche vSphere-Pods erstellen, indem Sie SEV-ES (Secure Encrypted Virtualization-Encrypted State) als zusätzliche Sicherheitserweiterung hinzufügen. SEV-ES verhindert, dass CPU-Register Informationen aus Registern an Komponenten wie den Hypervisor weitergeben. SEV-ES kann auch böswillige Änderungen an einem CPU-Registerzustand erkennen. Weitere Informationen zur Verwendung der SEV-ES-Technologie in der vSphere-Umgebung finden Sie in der Dokumentation zum Thema vSphere-Sicherheit unter Sichern von virtuellen Maschinen mit AMD Secure Encrypted Virtualization-Encrypted State.

Voraussetzungen

Um SEV-ES auf einem ESXi zu aktivieren, muss ein vSphere-Administrator die folgenden Richtlinien befolgen:
  • Verwenden Sie die Hosts, die die SEV-ES-Funktionalität unterstützen.
  • Verwenden Sie ESXi Version von 7.0 Update 2 oder höher.
  • Aktivieren Sie SEV-ES in der BIOS-Konfiguration eines ESXi-Systems. In der Systemdokumentation finden Sie weitere Informationen zum Zugriff auf die BIOS-Konfiguration.
  • Geben Sie bei Aktivierung von SEV-ES im BIOS einen Wert für die Einstellung Mindestanzahl SEV-Nicht-ES-ASID ein, die der Anzahl an SEV-ES-VMs und vertraulichen vSphere-Pods-Host plus eins entspricht. Wenn Sie beispielsweise 100 SEV-ES-VMs und 128 VMs vSphere-Pods ausführen möchten, geben Sie mindestens 229 ein. Sie können eine Einstellung bis zu 500 eingeben.

Prozedur

  1. Erstellen Sie eine YAML-Datei, die die folgenden Parameter enthält.
    1. Aktivieren Sie unter Anmerkungen die Funktion für vertrauliche vSphere-Pods.
      ...
      annotations:
              vmware/confidential-pod: enabled
      ...
    2. Geben Sie Arbeitsspeicherressourcen für Container an.
      Stellen Sie sicher, dass Arbeitsspeicheranforderungen und Arbeitsspeichergrenzwerte auf denselben Wert festgelegt werden, wie in diesem Beispiel.
      resources:
            requests:
              memory: "512Mi"
            limits:
              memory: "512Mi"
      Verwenden Sie die folgende YAML-Datei als Beispiel:
      apiVersion: v1
      kind: Pod
      metadata:
        name: photon-pod
        namespace: my-podvm-ns
        annotations:
          vmware/confidential-pod: enabled
      spec:  # specification of the pod's contents
        restartPolicy: Never
        containers:
        - name: photon
          image: wcp-docker-ci.artifactory.eng.vmware.com/vmware/photon:1.0
          command: ["/bin/sh"]
          args:    ["-c", "while true; do echo hello, world!; sleep 1; done"]
          resources:
            requests:
              memory: "512Mi"
            limits:
              memory: "512Mi"
  2. Melden Sie sich beim Supervisor an.
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. Wechseln Sie zu dem Namespace, in dem Sie die Anwendung bereitstellen möchten.
    kubectl config use-context <namespace>
  4. Stellen Sie eine vertrauliche vSphere Pod aus der YAML-Datei bereit:
    kubectl apply -f <yaml file name>.yaml
    Hinweis: Wenn die vSphere Pod bereitgestellt ist, platziert DRS sie auf dem ESXi-Knoten, der SEV-ES unterstützt. Wenn kein solcher Knoten verfügbar ist, wird die vSphere Pod als fehlgeschlagen gekennzeichnet.

    Die gestartete vertrauliche vSphere Pod bietet eine Untesrtützung der Hardware-Arbeitsspeicherverschlüsselung für alle Arbeitslasten, die auf diesem Pod ausgeführt werden.

  5. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass die vertrauliche vSphere Pod erstellt wurde.
    kubectl describe pod/<yaml name>

Nächste Maßnahme

Ein vSphere-Administrator kann die vertrauliche vSphere Pod einsehen. Im vSphere Client wird sie mit dem Tag Verschlüsselungsmodus: Vertrauliches Berechnen angezeigt.

„Verschlüsselungsmodus: Vertrauliches Berechnen“ wird für den vSphere Pod angezeigt