Todos os produtos
Search
Central de documentação

Elastic Compute Service:Build a confidential computing environment with Enclave

Última atualização: Oct 22, 2026

Crie um espaço de isolamento confiável dentro de uma instância ECS com o Enclave para proteger suas aplicações e dados em uso.

Contexto

Os dados são classificados em dados em repouso, dados em trânsito e dados em uso.

  • A criptografia protege dados em repouso e dados em trânsito.

  • A proteção de dados em uso exige computação confidencial.

O Enclave cria um espaço de isolamento confiável dentro de uma instância ECS e executa software legítimo no enclave para proteger a confidencialidade e a integridade do seu código e dados contra malware. Essa solução é adequada para setores que exigem proteção rigorosa de dados, como finanças, internet e saúde.

Como o Enclave funciona

Os recursos de computação (vCPUs e memória) dentro de uma instância ECS (a VM primária) são divididos para criar uma VM do Enclave (EVM) como um ambiente de execução confiável. A EVM é protegida por:

  • Isolamento baseado em virtualização: a EVM fica isolada da VM primária e de outras instâncias ECS.

  • Superfície de ataque mínima: a EVM executa um sistema operacional independente e confiável, sem armazenamento persistente, conexões interativas ou rede externa. Ela se comunica com a VM primária apenas por meio de um canal seguro local baseado em vsock.

A figura a seguir ilustra o funcionamento do Enclave.

image

O Enclave oferece segurança em várias camadas. A arquitetura SHENLONG de terceira geração, com chips TPM ou TCM, equipa a EVM com dispositivos vTPM ou vTCM para maior confiabilidade. Os SDKs permitem criar e gerenciar ambientes Enclave. Para atestação, aplicações confidenciais geram materiais de atestação — incluindo dados da plataforma, informações da aplicação e assinaturas — durante a execução e os verificam por meio de um servidor de atestação remota, que pode funcionar em conjunto com o Key Management Service (KMS). Assim que a VM primária aloca recursos para a EVM, a camada subjacente os isola, impedindo que a VM primária acesse os recursos de vCPU ou memória da EVM.

A figura a seguir mostra a arquitetura do Enclave.

image

Limitações

  • Apenas tipos de instância com quatro ou mais vCPUs nas famílias de instâncias hfg9i, hfc9i, hfr9i, g8i, c8i e r8i oferecem suporte ao Enclave.

  • Cada instância ECS suporta apenas um enclave.

  • Reserve pelo menos um núcleo de processador físico e parte da memória para a VM primária antes de usar um enclave. Os recursos restantes podem ser alocados ao enclave. Se o hyper-threading estiver ativado, dois hyperthreads do mesmo núcleo serão reservados; portanto, a instância deve ter pelo menos quatro vCPUs.

Para outros limites, consulte Limits.

Criar uma instância habilitada para Enclave

A criação de uma instância habilitada para Enclave é semelhante à criação de uma instância comum. Esta seção aborda apenas os parâmetros específicos do Enclave. Para outros parâmetros, consulte Create an instance with Custom Launch.

  1. Acesse ECS console - Instance.

  2. No canto superior esquerdo da página, selecione uma região e um grupo de recursos.

  3. Clique em Create Instance e configure os seguintes parâmetros.

    Parâmetro

    Descrição

    Instance Type

    Selecione um tipo de instância com ≥ 4 vCPUs na família de instâncias hfg9i, hfc9i, hfr9i, g8i, c8i ou r8i.

    Image

    Selecione Enclave e, em seguida, selecione a imagem Alibaba Cloud Linux 2.1903 LTS 64-bit (UEFI).

    Nota

    Selecionar Enclave instala automaticamente um sistema operacional confiável.

    Instance RAM Role

    Selecione AliyunECSInstanceForYundunSysTrustRole, uma função vinculada ao service fornecida pela Alibaba Cloud.

Instalar a CLI do Enclave

  1. Install Docker on the Enclave-enabled instance.

  2. Use Workbench to connect to the Enclave-enabled instance over SSH.

  3. Instale o pacote RPM da CLI do Enclave.

    1. Baixe o pacote RPM da CLI do Enclave.

      wget https://enclave-cn-beijing.oss-cn-beijing.aliyuncs.com/download/linux/enclave-cli/x86_64/2.1903/enclave-cli-1.0.9-1.x86_64.rpm
    2. Instale a CLI do Enclave.

      sudo rpm -ivh enclave-cli-1.0.9-1.x86_64.rpm
    3. Verifique a instalação.

      enclave-cli --version

      Se um número de versão for retornado, a instalação foi bem-sucedida.

      [test@iz2zebt88ixxx          ~]$ enclave-cli --version
      Enclave CLI 1.0.9
  4. Adicione o usuário atual aos grupos de e docker.

    1. Adicione o usuário atual ao grupo de:

      sudo usermod -aG de <username>
      Nota

      Substitua &lt;username&gt; pelo nome de usuário real, por exemplo, test.

    2. Adicione o usuário atual ao grupo docker.

      sudo usermod -aG docker <username>
      Nota

      Substitua &lt;username&gt; pelo nome de usuário real, por exemplo, test.

    3. Reconecte-se à instância para aplicar as alterações.

  5. Pré-aloque vCPUs e memória para o enclave.

    1. Abra o arquivo allocator.yaml.

      sudo vim /etc/ali-enclaves/allocator.yaml
    2. Pressione a tecla i para entrar no modo de inserção.

    3. Defina os seguintes parâmetros:

      • memory_mib: memória alocada para o enclave. Unidade: MiB.

      • cpu_count: vCPUs alocadas para o enclave.

      O exemplo a seguir aloca 1.024 MiB de memória e 2 vCPUs para o enclave.

      # Enclave configuration file.
      #
      # How much memory to allocate for enclaves (in MiB).
      memory_mib: 1024
      #
      # How many CPUs to reserve for enclaves.
      cpu_count: 2
    4. Pressione a tecla Esc, insira :wq e pressione a tecla Enter para salvar e fechar o arquivo.

  6. Inicie o service de alocação de recursos e ative-o na inicialização.

    sudo systemctl start ali-enclaves-allocator.service && \
    sudo systemctl enable ali-enclaves-allocator.service

    O service cria um pool dedicado de vCPUs para o enclave. Esse pool é exclusivo para o enclave e não está disponível para a instância host.

    Nota

    Para alterar os recursos alocados, modifique o arquivo allocator.yaml e reinicie o service:

    sudo systemctl restart ali-enclaves-allocator.service
  7. Verifique o status do service.

    systemctl status ali-enclaves-allocator.service

    A saída a seguir indica que o service está em execução.

    [test@iZ2zebt88    ~]$ systemctl status ali-enclaves-allocator.service
    ● ali-enclaves-allocator.service - Nitro Enclaves Resource Allocator
       Loaded: loaded (/usr/lib/systemd/system/ali-enclaves-allocator.service; enabled; vendor preset: disabled)
       Active: active (exited) since Tue 2023-06-20 10:39:57 CST; 46min ago
     Main PID: 1960 (code=exited, status=0/SUCCESS)
  8. Inicie o Docker e ative-o na inicialização.

    sudo systemctl start docker && sudo systemctl enable docker
    Nota

    Para desinstalar a CLI do Enclave, execute sudo yum remove enclave-cli.

  9. Restart the instance para aplicar as alterações.

Referências

Para obter informações sobre o uso da CLI do Enclave, consulte Quick start.