Tous les produits
Search
Centre de documentation

Elastic Compute Service:Build a confidential computing environment with Enclave

Dernière mise à jour :Aug 07, 2026

Créez un espace d'isolation de confiance au sein d'une instance ECS avec Enclave pour protéger vos applications et vos données en cours d'utilisation.

Contexte

Les données se classent en trois catégories : données au repos, données en transit et données en cours d'utilisation.

  • Le chiffrement protège les données au repos et les données en transit.

  • La protection des données en cours d'utilisation requiert le calcul confidentiel.

Enclave crée un espace d'isolation de confiance au sein d'une instance ECS et exécute des logiciels légitimes dans l'enclave afin de garantir la confidentialité et l'intégrité de votre code et de vos données contre les logiciels malveillants. Cette solution convient aux secteurs exigeant une protection rigoureuse des données, tels que la finance, Internet et la santé.

Fonctionnement d'Enclave

Les ressources de calcul (vCPU et mémoire) d'une instance ECS (la VM principale) sont partitionnées pour créer une VM Enclave (EVM) qui sert d'environnement d'exécution de confiance. L'EVM est sécurisée par :

  • L'isolation basée sur la virtualisation : l'EVM est isolée de la VM principale et des autres instances ECS.

  • Une surface d'attaque minimale : l'EVM exécute un système d'exploitation de confiance indépendant, sans stockage persistant, sans connexions interactives ni réseau externe. Elle communique avec la VM principale uniquement via un canal sécurisé local basé sur vsock.

Le schéma suivant illustre le fonctionnement d'Enclave.

image

Enclave offre une sécurité multicouche. L'architecture SHENLONG de troisième génération, équipée de puces TPM ou TCM, dote l'EVM de dispositifs vTPM ou vTCM pour renforcer la confiance. Les SDK vous permettent de construire et de gérer les environnements Enclave. Pour l'attestation, les applications confidentielles génèrent du matériel d'attestation — incluant les données de la plateforme, les informations sur l'application et les signatures — au moment de l'exécution, puis les vérifient via un serveur d'attestation distante, qui peut interagir avec Key Management Service (KMS). Une fois que la VM principale alloue des ressources à l'EVM, la couche inférieure les isole de sorte que la VM principale ne puisse pas accéder aux ressources vCPU ou mémoire de l'EVM.

Le schéma suivant présente l'architecture d'Enclave.

image

Limites

  • Seules les instances disposant d'au moins quatre vCPU dans les familles d'instances hfg9i, hfc9i, hfr9i, g8i, c8i et r8i prennent en charge Enclave.

  • Chaque instance ECS ne prend en charge qu'une seule enclave.

  • Réservez au moins un cœur de processeur physique et une partie de la mémoire pour la VM principale avant d'utiliser une enclave. Les ressources restantes peuvent être allouées à l'enclave. Si l'hyperthreading est activé, deux hyperthreads du même cœur sont réservés ; l'instance doit donc disposer d'au moins quatre vCPU.

Pour connaître les autres limites, consultez la rubrique Limites.

Créer une instance compatible avec Enclave

La création d'une instance compatible avec Enclave est similaire à celle d'une instance classique. Cette section couvre uniquement les paramètres spécifiques à Enclave. Pour les autres paramètres, reportez-vous à la rubrique Créer une instance avec Custom Launch.

  1. Accédez à la page Console ECS - Instance.

  2. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  3. Cliquez sur Create Instance et configurez les paramètres suivants.

    Paramètre

    Description

    Type d'instance

    Sélectionnez un type d'instance disposant d'au moins 4 vCPU dans les familles d'instances hfg9i, hfc9i, hfr9i, g8i, c8i ou r8i.

    Image

    Sélectionnez Enclave, puis choisissez l'image Alibaba Cloud Linux 2.1903 LTS 64-bit (UEFI).

    Remarque

    La sélection de Enclave installe automatiquement un système d'exploitation de confiance.

    Rôle RAM de l'instance

    Sélectionnez AliyunECSInstanceForYundunSysTrustRole, un rôle lié au service fourni par Alibaba Cloud.

Installer la CLI Enclave

  1. Installer Docker sur l'instance compatible avec Enclave.

  2. Utiliser Workbench pour se connecter à l'instance compatible avec Enclave via SSH.

  3. Installez le package RPM de la CLI Enclave.

    1. Téléchargez le package RPM de la CLI Enclave.

      wget https://enclave-cn-beijing.oss-cn-beijing.aliyuncs.com/download/linux/enclave-cli/x86_64/2.1903/enclave-cli-1.0.8-1.x86_64.rpm
    2. Installez la CLI Enclave.

      sudo rpm -ivh enclave-cli-1.0.8-1.x86_64.rpm
    3. Vérifiez l'installation.

      enclave-cli --version

      Si un numéro de version s'affiche, l'installation a réussi.

      [test@iz2zebt88ixxx          ~]$ enclave-cli --version
      Enclave CLI 1.0.8
  4. Ajoutez l'utilisateur actuel aux groupes de et docker.

    1. Ajoutez l'utilisateur actuel au groupe de :

      sudo usermod -aG de <username>
      Remarque

      Remplacez <username> par le nom d'utilisateur réel, par exemple test.

    2. Ajoutez l'utilisateur actuel au groupe docker.

      sudo usermod -aG docker <username>
      Remarque

      Remplacez <username> par le nom d'utilisateur réel, par exemple test.

    3. Reconnectez-vous à l'instance pour appliquer les modifications.

  5. Préallouez les vCPU et la mémoire pour l'enclave.

    1. Ouvrez le fichier allocator.yaml.

      sudo vim /etc/ali-enclaves/allocator.yaml
    2. Appuyez sur la touche i pour passer en mode insertion.

    3. Définissez les paramètres suivants :

      • memory_mib : mémoire allouée à l'enclave. Unité : MiB.

      • cpu_count : nombre de vCPU alloués à l'enclave.

      L'exemple suivant alloue 1 024 MiB de mémoire et 2 vCPU à l'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. Appuyez sur la touche Esc, saisissez :wq, puis appuyez sur la touche Enter pour enregistrer et fermer le fichier.

  6. Démarrez le service d'allocation des ressources et activez-le au démarrage.

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

    Le service crée un pool de vCPU dédié à l'enclave. Ce pool est exclusif à l'enclave et indisponible pour l'instance hôte.

    Remarque

    Pour modifier les ressources allouées, mettez à jour le fichier allocator.yaml et redémarrez le service :

    sudo systemctl restart ali-enclaves-allocator.service
  7. Vérifiez l'état du service.

    systemctl status ali-enclaves-allocator.service

    La sortie suivante indique que le service est en cours d'exécution.

    [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. Démarrez Docker et activez-le au démarrage.

    sudo systemctl start docker && sudo systemctl enable docker
    Remarque

    Pour désinstaller la CLI Enclave, exécutez la commande sudo yum remove enclave-cli.

  9. Redémarrez l'instance pour appliquer les modifications.

Références

Pour utiliser la CLI Enclave, consultez la rubrique Démarrage rapide.