Avec vSphere IaaS control plane, vous pouvez exécuter des Espaces vSphere confidentiels sur un Superviseur. Un Espace vSphere confidentiel utilise une technologie matérielle qui maintient la mémoire du système d'exploitation invité chiffrée, la protégeant contre l'accès à partir de l'hyperviseur.

Vous pouvez configurer des Espaces vSphere confidentiels en ajoutant la fonctionnalité SEV-ES (Secure Encrypted Virtualization-Encrypted State) comme amélioration supplémentaire de la sécurité. SEV-ES empêche les fuites d'informations des registres de CPU dans des registres de composants tels que l'hyperviseur. SEV-ES peut également détecter les modifications malveillantes apportées à un état de registre de CPU. Pour plus d'informations sur l'utilisation de la technologie SEV-ES dans l'environnement vSphere, reportez-vous à la section Sécurisation des machines virtuelles avec SEV-ES (Secure Encrypted Virtualization-Encrypted State) AMD dans la documentation Sécurité vSphere.

Conditions préalables

Pour activer SEV-ES sur un hôte ESXi, un administrateur vSphere doit suivre les directives suivantes :
  • Utilisez les hôtes qui prennent en charge la fonctionnalité SEV-ES.
  • Utilisez la version ESXi 7.0 Update 2 ou version ultérieure.
  • Activez SEV-ES dans une configuration BIOS du système ESXi. Reportez-vous à la documentation de votre système pour plus d'informations sur l'accès à la configuration du BIOS.
  • Lors de l'activation de SEV-ES dans le BIOS, entrez une valeur pour le paramètre Minimum SEV non-ES ASID correspondant au nombre de machines virtuelles SEV-ES et d'Espaces vSphere confidentiels sur l'hôte plus un. Par exemple, si vous prévoyez d'exécuter 100 machines virtuelles SEV-ES et 128 Espaces vSphere, entrez au moins 229. Vous pouvez entrer un paramètre de 500 au plus.

Procédure

  1. Créez un fichier YAML qui contient les paramètres suivants.
    1. Dans les annotations, activez la fonctionnalité d'Espaces vSphere confidentiels.
      ...
      annotations:
              vmware/confidential-pod: enabled
      ...
    2. Spécifiez les ressources de mémoire des conteneurs.
      Veillez à définir les demandes de mémoire et les limites de mémoire sur la même valeur, comme dans cet exemple.
      resources:
            requests:
              memory: "512Mi"
            limits:
              memory: "512Mi"
      Utilisez le fichier YAML suivant comme exemple :
      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. Connectez-vous à Superviseur.
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. Basculez vers l'espace de noms dans lequel vous souhaitez déployer l'application.
    kubectl config use-context <namespace>
  4. Déployez une Espace vSphere confidentielle à partir du fichier YAML.
    kubectl apply -f <yaml file name>.yaml
    Note : Lorsque la Espace vSphere est déployée, DRS la place sur le nœud ESXi qui prend en charge SEV-ES. Si aucun nœud de ce type n'est disponible, la Espace vSphere est marquée comme échec.

    La Espace vSphere confidentielle qui est lancée fournit la prise en charge du chiffrement de la mémoire matérielle pour toutes les charges de travail qui s'exécutent sur cet espace.

  5. Exécutez la commande suivante pour vérifier que la Espace vSphere confidentielle a été créée.
    kubectl describe pod/<yaml name>

Que faire ensuite

Un administrateur vSphere peut consulter la Espace vSphere confidentielle. Dans l'instance de vSphere Client, elle apparaît avec la balise Mode de chiffrement : calcul confidentiel.

Mode de chiffrement : le calcul confidentiel s'affiche pour l'espace vSphere