Partager via


Lancement fiable pour Azure Kubernetes Service (AKS)

Le lancement approuvé améliore la sécurité des machines virtuelles de génération 2 en protégeant les techniques d’attaque avancées et persistantes. Il permet aux administrateurs de déployer des nœuds AKS, qui contiennent les machines virtuelles sous-jacentes, avec des chargeurs de démarrage vérifiés et signés, des noyaux de système d’exploitation et des pilotes. En utilisant un démarrage sécurisé et mesuré, les administrateurs ont une meilleure connaissance et une plus grande confiance dans l’intégrité de l’ensemble de la chaîne de démarrage.

Cet article vous permet de comprendre cette nouvelle fonctionnalité et de l’implémenter.

Important

Depuis le 30 novembre 2025, Azure Kubernetes Service (AKS) ne prend plus en charge ou fournit des mises à jour de sécurité pour Azure Linux 2.0. L’image de nœud Azure Linux 2.0 est figée à la version 202512.06.0. À compter du 31 mars 2026, les images de nœud seront supprimées et vous ne pourrez pas mettre à l’échelle vos pools de nœuds. Migrez vers une version Azure Linux prise en charge en mettant à niveau vos pools de nœuds vers une version Kubernetes prise en charge ou en migrant vers osSku AzureLinux3. Pour plus d’informations, consultez [Retrait] Pools de nœuds Azure Linux 2.0 sur AKS.

Vue d’ensemble

Trusted Launch se compose de plusieurs technologies d'infrastructure qui fonctionnent de manière coordonnée et qui peuvent être activées séparément. Chaque technologie offre une couche de défense supplémentaire contre les menaces sophistiquées.

  • vTPM - Le démarrage sécurisé introduit une version virtualisée d’un module de plateforme sécurisée (TPM) matériel conforme à la spécification TPM 2.0. Il sert de coffre sécurisé dédié pour les clés et les mesures. Trusted Launch fournit à votre machine virtuelle son propre instance TPM dédiée, s’exécutant dans un environnement sécurisé en dehors de la portée de n’importe quelle machine virtuelle. Le module vTPM permet d’effectuer l’attestation en mesurant la chaîne de démarrage complète de votre machine virtuelle (UEFI, système d’exploitation, système et pilotes). Le démarrage sécurisé utilise vTPM pour effectuer une attestation à distance par le cloud. Il est utilisé pour les vérifications de l'état de santé de la plateforme et pour prendre des décisions basées sur la confiance. En guise de contrôle d’intégrité, le lancement fiable peut certifier par chiffrement que votre machine virtuelle a démarré correctement. Si le processus échoue, par exemple parce que votre machine virtuelle exécute un composant non autorisé, Microsoft Defender pour le cloud émet des alertes d’intégrité. Les alertes incluent des détails sur les composants concernés par l’échec des contrôles d’intégrité.

  • Démarrage sécurisé : à la racine du lancement approuvé, il s’agit du démarrage sécurisé pour votre machine virtuelle. Ce mode, qui est implémenté dans le microprogramme de la plateforme, protège contre l’installation de rootkits et kits de démarrage basés sur des programmes malveillants. Le démarrage sécurisé garantit que seuls les systèmes d’exploitation et pilotes signés peuvent démarrer. Il établit une « racine de confiance » pour la pile logicielle de votre machine virtuelle. Quand le démarrage sécurisé est activé, tous les composants de démarrage du système d’exploitation (chargeur de démarrage, noyau, pilotes de noyau) doivent être signés par des éditeurs approuvés. Le démarrage sécurisé est pris en charge par Windows et certaines distributions Linux. Si le démarrage sécurisé ne parvient pas à authentifier une image signée par un éditeur de confiance, la VM n’est pas autorisée à démarrer. Pour plus d'informations, consultez Démarrage sécurisé.

Avant de commencer

  • Azure CLI version 2.66.0 ou ultérieure. Exécutez az --version pour rechercher la version, puis exécutez az upgrade pour mettre à niveau la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
  • Le démarrage sécurisé nécessite des chargeurs de démarrage signés, des noyaux de système d’exploitation et des pilotes.

Limites

  • AKS prend en charge Trusted Launch sur Kubernetes version 1.25.2 et ultérieure.
  • Le lancement fiable prend uniquement en charge machines virtuelles Azure Generation 2.
  • Les pools de nœuds avec le système d’exploitation Windows Server ne sont pas pris en charge.
  • Le lancement approuvé ne peut pas être activé dans le même pool de nœuds que FIPS, Arm64, Pod Sandboxing ou machine virtuelle confidentielle. Pour plus d’informations, consultez la documentation sur les images de nœud.
  • Le lancement approuvé ne prend pas en charge le nœud virtuel.
  • Les groupes à haute disponibilité ne sont pas pris en charge, seuls les Virtual Machine Scale Sets le sont.
  • Pour activer le démarrage sécurisé sur les pools de nœuds GPU, vous devez ignorer l’installation du pilote GPU. Pour plus d’informations, consultez Ignorer l’installation du pilote GPU.
  • Les disques d’OS éphémères peuvent être créés avec le lancement fiable et toutes les régions sont prises en charge. Toutefois, toutes les tailles de machines virtuelles ne sont pas prises en charge. Pour plus d’informations, consultez Lancement fiable tailles OS éphémères.
  • Flatcar Container Linux pour AKS ne prend pas en charge le lancement fiable sur AKS.

Créer un cluster AKS avec Trusted Launch activé

Lors de la création d’un cluster, l’activation de vTPM ou de démarrage sécurisé configure automatiquement vos pools de nœuds pour utiliser l’image de lancement approuvée personnalisée. Cette image est spécifiquement configurée pour prendre en charge les fonctionnalités de sécurité activées par le lancement approuvé.

  1. Créez un cluster AKS avec la commande az aks create. Avant d’exécuter la commande, passez en revue les paramètres suivants :

    • --nome : entrez un nom unique pour le cluster AKS, tel que myAKSCluster.
    • --groupe de ressources : Entrez le nom d’un groupe de ressources existant pour héberger la ressource du cluster AKS.
    • --activer le démarrage sécurisé : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • --activer-vtpm : Active le vTPM et effectue une attestation en mesurant la chaîne de démarrage complète de votre VM.

    Remarque

    Le démarrage sécurisé nécessite des chargeurs de démarrage signés, des noyaux de système d’exploitation et des pilotes. Si, après avoir activé le démarrage sécurisé, vos nœuds ne démarrent pas, vous pouvez vérifier quels composants de démarrage sont responsables des échecs du démarrage sécurisé au sein d’une machine virtuelle Azure Linux. Consulter Vérification des échecs de démarrage sécurisé.

    L’exemple suivant crée un cluster à un nœud nommé myAKSCluster avec un nœud dans myResourceGroup et active le démarrage sécurisé et vTPM :

    az aks create \
        --name myAKSCluster \
        --resource-group myResourceGroup \
        --node-count 1 \
        --enable-secure-boot \
        --enable-vtpm \
        --generate-ssh-keys
    
  2. Exécutez la commande suivante pour obtenir les informations d'identification d'accès au cluster Kubernetes. Utilisez la commande az aks get-credentials et remplacez les valeurs du nom du cluster et du nom du groupe de ressources.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  1. Créez un modèle avec des paramètres de lancement approuvé. Avant de créer le modèle, passez en revue les paramètres suivants :

    • enableSecureBoot : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • enableVTPM : active vTPM et effectue une attestation en mesurant l’intégralité de la chaîne de démarrage de votre machine virtuelle.

    Dans votre modèle, fournissez des valeurs pour enableVTPM et enableSecureBoot. Le même schéma que celui utilisé pour le déploiement avec l’interface CLI existe dans la définition Microsoft.ContainerService/managedClusters/agentPools sous "properties", comme illustré dans l’exemple suivant :

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  2. Déployez votre modèle avec vTPM et le démarrage sécurisé activé sur votre cluster. Consultez Déployer un cluster AKS à l’aide d’un modèle ARM pour obtenir des instructions détaillées.

Ajouter un pool de nœuds avec lancement approuvé activé

Lorsque vous créez un pool de nœuds, l’activation de vTPM ou de démarrage sécurisé configure automatiquement vos pools de nœuds pour utiliser l’image de lancement approuvé personnalisée. Cette image est spécifiquement configurée pour prendre en charge les fonctionnalités de sécurité activées par le lancement approuvé.

  1. Ajoutez un pool de nœuds avec Démarrage de confiance activé à l’aide de la commande az aks nodepool add. Avant d’exécuter la commande, passez en revue les paramètres suivants :

    • --nom de cluster: entrez le nom du cluster AKS.
    • --groupe de ressources : Entrez le nom d’un groupe de ressources existant pour héberger la ressource du cluster AKS.
    • --nom : entrez un nom unique pour le pool de code. Le nom d’un pool de nœuds ne peut contenir que des caractères alphanumériques minuscules et doit commencer par une lettre minuscule. Pour les pools de nœuds Linux, la longueur doit être comprise entre 1 et 11 caractères.
    • --décompte de nœuds : nombre de nœuds dans le pool d’agents Kubernetes. La valeur par défaut est 3.
    • --activer le démarrage sécurisé : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • --activer-vtpm : Active le vTPM et effectue une attestation en mesurant la chaîne de démarrage complète de votre VM.

    Remarque

    Le démarrage sécurisé nécessite des chargeurs de démarrage signés, des noyaux de système d’exploitation et des pilotes. Si, après avoir activé le démarrage sécurisé, vos nœuds ne démarrent pas, vous pouvez vérifier quels composants de démarrage sont responsables des échecs du démarrage sécurisé au sein d’une machine virtuelle Azure Linux. Consulter Vérification des échecs de démarrage sécurisé.

    L’exemple suivant déploie un pool de nœuds avec vTPM et le démarrage sécurisé activé sur un cluster nommé myAKSCluster avec trois nœuds :

    az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot
    
  2. Vérifiez que votre pool de nœuds utilise une image de lancement approuvé.

    Les nœuds de lancement approuvés ont la sortie suivante :

    • Version de l'image de nœud contenant "TL", par exemple "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" doit être "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    
  1. Créez un modèle avec des paramètres de lancement approuvé. Avant de créer le modèle, passez en revue les paramètres suivants :

    • enableSecureBoot : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • enableVTPM : active vTPM et effectue une attestation en mesurant l’intégralité de la chaîne de démarrage de votre machine virtuelle.

    Dans votre modèle, fournissez des valeurs pour enableVTPM et enableSecureBoot. Le même schéma que celui utilisé pour le déploiement avec l’interface CLI existe dans la définition Microsoft.ContainerService/managedClusters/agentPools sous "properties", comme illustré dans l’exemple suivant :

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  2. Déployez votre modèle avec vTPM et le démarrage sécurisé activé sur votre cluster. Consultez Déployer un cluster AKS à l’aide d’un modèle ARM pour obtenir des instructions détaillées.

Activer vTPM ou le démarrage sécurisé sur un pool de nœuds de lancement approuvé existant

Vous pouvez mettre à jour un pool de nœuds de lancement approuvé existant pour activer vTPM ou le démarrage sécurisé. Les scénarios suivants sont pris en charge :

  • Lors de la création d’un pool de nœuds, vous spécifiez --enable-secure-bootuniquement , vous pouvez exécuter la commande de mise à jour vers --enable-vtpm
  • Lors de la création d’un pool de nœuds, vous spécifiez --enable-vtpmuniquement , vous pouvez exécuter la commande de mise à jour vers --enable-secure-boot

Si votre pool de nœuds n’a actuellement pas d’image de lancement approuvé, vous ne pourrez pas mettre à jour le pool de nœuds pour activer le démarrage sécurisé ou vTPM.

  1. Vérifiez que votre pool de nœuds utilise une image de lancement approuvé.

    Les nœuds de lancement approuvés ont la sortie suivante :

    • Version de l'image de nœud contenant "TL", par exemple "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" doit être "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    

    Si votre pool de nœuds n’a actuellement pas d’image de lancement approuvé, vous ne pourrez pas mettre à jour le pool de nœuds pour activer le démarrage sécurisé ou vTPM.

  2. Mettez à jour un pool de nœuds avec Trusted Launch activé à l’aide de la commande az aks nodepool update. Avant d’exécuter la commande, passez en revue les paramètres suivants :

    • --groupe de ressource : Saisissez le nom d’un groupe de ressources existant qui héberge votre cluster AKS existant.
    • --cluster-name : saisissez un nom unique pour le cluster AKS, comme myAKSCluster.
    • --nom : entrez le nom de votre pool de nœuds, par exemple mynodepool.
    • --activer le démarrage rapide : Active le démarrage sécurisé pour authentifier que l’image a été signée par un éditeur de confiance.
    • --activer-vtpm : Active le vTPM et effectue une attestation en mesurant la chaîne de démarrage complète de votre VM.

    Remarque

    Le démarrage sécurisé nécessite des chargeurs de démarrage signés, des noyaux de système d’exploitation et des pilotes. Si, après avoir activé le démarrage sécurisé, vos nœuds ne démarrent pas, vous pouvez vérifier quels composants de démarrage sont responsables des échecs du démarrage sécurisé au sein d’une machine virtuelle Azure Linux. Consulter Vérification des échecs de démarrage sécurisé.

    L’exemple suivant met à jour le pool de nœuds mynodepool sur myAKSCluster dans myResourceGroup et active vTPM. Dans ce scénario, le démarrage sécurisé a été activé lors de la création du pool de nœuds :

    az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-vtpm 
    

    L’exemple suivant met à jour le pool de nœuds mynodepool sur myAKSCluster dans myResourceGroup et active le démarrage sécurisé. Dans ce scénario, vTPM a été activé lors de la création du pool de nœuds :

    az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot
    
  1. Vérifiez que votre pool de nœuds utilise une image de lancement approuvé.

    Les nœuds de lancement approuvés ont la sortie suivante :

    • Version de l'image de nœud contenant "TL", par exemple "AKSUbuntu-2204-gen2TLcontainerd".
    • "Security-type" doit être "Trusted Launch".
    kubectl get nodes
    kubectl describe node {node-name} | grep -e node-image-version -e security-type
    

    Si votre pool de nœuds n’a actuellement pas d’image de lancement approuvé, vous ne pourrez pas mettre à jour le pool de nœuds pour activer le démarrage sécurisé ou vTPM.

  2. Créez un modèle avec des paramètres de lancement approuvé. Avant de créer le modèle, passez en revue les paramètres suivants :

    • enableSecureBoot : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • enableVTPM : active vTPM et effectue une attestation en mesurant l’intégralité de la chaîne de démarrage de votre machine virtuelle.

    Dans votre modèle, fournissez des valeurs pour enableVTPM et enableSecureBoot. Le même schéma que celui utilisé pour le déploiement avec l’interface CLI existe dans la définition Microsoft.ContainerService/managedClusters/agentPools sous "properties", comme illustré dans l’exemple suivant :

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "true",
            "enableSecureBoot": "true",
        }
    }
    
  3. Déployez votre modèle avec vTPM et le démarrage sécurisé activé sur votre cluster. Consultez Déployer un cluster AKS à l’aide d’un modèle ARM pour obtenir des instructions détaillées.

Affecter des pods à des nœuds avec Trusted Launch activé

Vous pouvez restreindre un pod pour qu'il s'exécute sur un nœud ou des nœuds spécifiques, ou préférer les nœuds avec le lancement sécurisé activé. Vous pouvez contrôler cela à l’aide du sélecteur de pool de nœuds suivant dans le manifeste de votre pod.

spec:
  nodeSelector:
        kubernetes.azure.com/security-type = "TrustedLaunch"

Désactiver vTPM ou le démarrage sécurisé sur un pool de nœuds de lancement approuvé existant

Vous pouvez mettre à jour un pool de nœuds existant pour désactiver vTPM ou le démarrage sécurisé. Lorsque cela se produit, vous restez sur l'image de lancement approuvée. Vous pouvez réactiver vTPM ou sécuriser le démarrage à tout moment en mettant à jour votre pool de nœuds.

Mettez à jour un pool de nœuds pour désactiver le démarrage sécurisé ou vTPM à l’aide de la az aks nodepool update commande. Avant d’exécuter la commande, passez en revue les paramètres suivants :

  • --groupe de ressource : Saisissez le nom d’un groupe de ressources existant qui héberge votre cluster AKS existant.
  • --cluster-name : saisissez un nom unique pour le cluster AKS, comme myAKSCluster.
  • --nom : entrez le nom de votre pool de nœuds, par exemple mynodepool.
  • --activer le démarrage rapide : Active le démarrage sécurisé pour authentifier que l’image a été signée par un éditeur de confiance.
  • --activer-vtpm : Active le vTPM et effectue une attestation en mesurant la chaîne de démarrage complète de votre VM.

Pour désactiver vTPM sur un pool de nœuds existant :

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm

Pour désactiver le démarrage sécurisé sur un pool de nœuds existant :

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot 
  1. Créez un modèle avec des paramètres de lancement approuvé. Avant de créer le modèle, passez en revue les paramètres suivants :

    • enableSecureBoot : permet au démarrage sécurisé d’authentifier une image signée par un éditeur approuvé.
    • enableVTPM : active vTPM et effectue une attestation en mesurant l’intégralité de la chaîne de démarrage de votre machine virtuelle.

    Dans votre modèle, fournissez des valeurs pour enableVTPM et enableSecureBoot. Le même schéma que celui utilisé pour le déploiement avec l’interface CLI existe dans la définition Microsoft.ContainerService/managedClusters/agentPools sous "properties", comme illustré dans l’exemple suivant :

    "properties": {
        ...,
        "securityProfile": {
            "enableVTPM": "false",
            "enableSecureBoot": "false",
        }
    }
    
  2. Déployez votre modèle avec vTPM et le démarrage sécurisé désactivé sur votre cluster. Consultez Déployer un cluster AKS à l’aide d’un modèle ARM pour obtenir des instructions détaillées.

Étapes suivantes

Dans cet article, vous avez appris à activer le lancement approuvé. En savoir plus sur Trusted Launch.