Todos os produtos
Search
Central de documentação

Elastic Compute Service:Introdução ao Enclave CLI

Última atualização: Jun 23, 2026

Crie, inicie e pare um enclave em uma instância ECS com o Enclave CLI.

Procedimento

  1. Crie uma instância ECS habilitada para Enclave e pré-aloque recursos para o enclave.

    Consulte Computação confidencial com Alibaba Cloud Enclave.

  2. Crie um arquivo de imagem de enclave.

    O Enclave CLI inclui um Dockerfile de exemplo em /usr/share/ali-enclaves/examples/hello. Use-o para criar o arquivo de imagem de enclave.

    1. Crie uma imagem Docker chamada hello com a tag latest:

      sudo docker build /usr/share/ali-enclaves/examples/hello -t hello
    2. Verifique se a imagem Docker foi criada:

      sudo docker images hello:latest

      Se a saída mostrar a imagem hello com a tag latest, a imagem foi criada.

      image.png

    3. Crie o arquivo de imagem de enclave hello.eif:

      sudo enclave-cli build-enclave --docker-uri hello:latest --output-file hello.eif

      Se nenhum erro for retornado, o arquivo hello.eif foi criado. Os registros de configuração de plataforma (PCRs) na saída contêm hashes específicos do enclave para atestação remota. Exemplo de saída:

      Start building the Enclave Image...
      Enclave Image successfully created.
      {
        "Measurements": {
          "HashAlgorithm": "Sha256 { ... }",
          "PCR11": "dc5dcd841f87e2b6c0e65a11b46b25ebe2999a8a5f0318e10c0175b60000****",
          "PCR8": "2c6944f47864f1f8ab276000a9f057fcdf9f56a015c0bc5e2339f24b0000****",
          "PCR9": "8ef5fe53a7709cc1c1a0aa7b5149a55bcd524cccc9f43e7a3baf44ca0000****"
        }
      }
  3. Inicie o enclave.

    Este comando inicia um enclave em modo de depuração com 2 vCPUs e 1024 MiB de memória a partir do arquivo hello.eif. Para todos os parâmetros, consulte a seção "run-enclave" em Subcomandos do Enclave CLI.

    sudo enclave-cli run-enclave --cpu-count 2 --memory 1024 --eif-path hello.eif --debug-mode

    A saída a seguir indica que o enclave está em execução. O ID do enclave 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1 é necessário para operações subsequentes do Enclave CLI.

    null

    O identificador de contexto (CID) 4 é atribuído automaticamente como o endereço vsock do enclave. No modo não depuração, o vsock é a única forma de comunicação entre o enclave e a instância host.

    Start allocating memory...
    Started enclave with enclave-cid: 4, memory: 1024 MiB, cpu-ids: [2, 3]
    {
        "EnclaveID": "4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1",
        "ProcessID": 1234,
        "EnclaveCID": 4,
        "NumberOfCPUs": 2,
        "CPUIDs": [
            2,
            3
        ],
        "MemoryMiB": 1024
    }
  4. Verifique o estado do enclave:

    enclave-cli describe-enclaves

    A saída mostra o ID do enclave, a contagem de vCPUs, o tamanho da memória e o estado. O estado RUNNING indica que o enclave está funcionando.

    [
      {
        "EnclaveID": "4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1",
        "ProcessID": 1234,
        "EnclaveCID": 4,
        "NumberOfCPUs": 2,
        "CPUIDs": [
          2,
          3
        ],
        "MemoryMiB": 1024,
        "State": "RUNNING",
        "Flags": "DEBUG_MODE"
      }
    ]

    Visualize a saída de depuração do enclave:

    enclave-cli console --enclave-id 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1

    Saída esperada:

    [   1] Hello from the enclave side!
    [   2] Hello from the enclave side!
    [   3] Hello from the enclave side!
    ...
    null

    A mensagem [ N] Hello from the enclave side! é exibida a cada cinco segundos. N é o contador de mensagens.

  5. Pare o enclave:

    sudo enclave-cli terminate-enclave --enclave-id 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1

    A saída a seguir indica que o enclave foi parado:

    Successfully terminated enclave 4f39d839-0f7a-4bee-a09d-93b8b1d6****-enc1.
    {
      "EnclaveID": "12345678-1234-5678-1234-12345678****-enc1",
      "Terminated": true
    }