Com o vSphere with Tanzu, você pode executar o vSphere Pods confidencial em um Supervisor. Um vSphere Pod confidencial usa uma tecnologia de hardware que mantém a memória do SO guest criptografada, protegendo-a contra o acesso do hipervisor.

Você pode criar um vSphere Pods confidencial adicionando o estado criptografado da virtualização criptografada segura (SEV-ES) como um aprimoramento de segurança extra. O SEV-ES evita que os registros da CPU vazem informações nos registros para componentes como o hipervisor. O SEV-ES também pode detectar modificações maliciosas em um estado de registro da CPU. Para obter mais informações sobre como usar a tecnologia SEV-ES no ambiente vSphere, consulte Protegendo máquinas virtuais com o estado criptografado da virtualização criptografada da AMD na documentação do vSphere Segurança.

Pré-requisitos

Para habilitar o SEV-ES em um host ESXi, um administrador do vSphere deve seguir estas diretrizes:
  • Use os hosts que oferecem suporte à funcionalidade SEV-ES.
  • Use a versão ESXi do 7.0 Update 2 ou posterior.
  • Ative o SEV-ES na configuração do BIOS de um sistema ESXi. Consulte a documentação do seu sistema para obter mais informações sobre como acessar a configuração do BIOS.
  • Ao ativar o SEV-ES no BIOS, insira um valor para a configuração Minimum SEV non-ES ASID igual ao número de VMs SEV-ES e confidencial vSphere Pods no host mais um. Por exemplo, se você planeja executar 100 VMs SEV-ES e 128 vSphere Pods, digite pelo menos 229. Você pode inserir uma configuração de até 500.

Procedimento

  1. Crie um arquivo YAML que contenha os seguintes parâmetros.
    1. Nas anotações, ative o recurso confidencial vSphere Pods.
      ...
      annotations:
              vmware/confidential-pod: enabled
      ...
    2. Especifique recursos de memória para contêineres.
      Certifique-se de definir solicitações de memória e limites de memória com o mesmo valor, como neste exemplo.
      resources:
            requests:
              memory: "512Mi"
            limits:
              memory: "512Mi"
      Use o seguinte arquivo YAML como exemplo:
      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. Faça login no Supervisor.
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. Alterne para o namespace no qual você deseja implantar o aplicativo.
    kubectl config use-context <namespace>
  4. Implante um vSphere Pod confidencial do arquivo YAML.
    kubectl apply -f <yaml file name>.yaml
    Observação: Quando o vSphere Pod é implantado, o DRS o coloca no nó ESXi que oferece suporte ao SEV-ES. Se nenhum nó desse tipo estiver disponível, o vSphere Pod será marcado como com falha.

    O vSphere Pod confidencial que é iniciado fornece suporte à criptografia de memória de hardware para todas as cargas de trabalho em execução nesse pod.

  5. Execute o seguinte comando para verificar se o vSphere Pod confidencial foi criado.
    kubectl describe pod/<yaml name>

O que Fazer Depois

Um administrador do vSphere pode visualizar o vSphere Pod confidencial. No vSphere Client, ele aparece com a tag Encryption Mode: Confidential Compute.

Modo de criptografia: a computação confidencial é exibida para o pod vSphere