Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La norme FIPS (Federal Information Processing Standard) est une norme du gouvernement américain qui définit les exigences de sécurité minimales pour les modules de chiffrement dans les produits et systèmes informatiques. Cet article explique comment activer le mode FIPS au niveau du cluster pour Azure Kubernetes Service (AKS). FIPS au niveau du cluster impose que chaque pool de nœuds du cluster utilise une image de système d’exploitation compatible FIPS et bloque les composants gérés par AKS qui ne sont pas conformes à FIPS. Cette fonctionnalité est destinée aux clients ayant des exigences de conformité telles que FedRAMP qui ont besoin d’un moyen déclaratif unique pour garantir l’utilisation de FIPS sur leur cluster AKS. Pour plus d’informations sur FIPS, consultez Federal Information Processing Standard (FIPS) 140.
Important
Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions préliminaires sont fournies « en l’état » et « selon leur disponibilité » et ne sont pas couvertes par les accords de niveau de service ni par la garantie limitée. Les versions préliminaires d’AKS sont partiellement couvertes par le support client, dans la limite du raisonnable. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Qu’est-ce que le mode FIPS dans AKS ?
FIPS 140-2/140-3 définit les normes gouvernementales américaines pour les modules de chiffrement. Lorsque vous activez le mode FIPS sur un cluster AKS :
- Tous les pools de nœuds du cluster, y compris les pools de nœuds Windows, doivent utiliser des images de système d’exploitation compatibles FIPS.
- AKS bloque la création de pools de nœuds non FIPS.
- AKS bloque les modules complémentaires, fonctionnalités et extensions gérés par AKS qui ne sont pas validés pour la conformité FIPS.
FIPS au niveau du cluster (properties.enableFIPS) est distinct de FIPS sur des pools de nœuds individuels (enableFIPS sur chaque pool d’agents). FIPS au niveau du cluster nécessite que chaque pool de nœuds ait FIPS activé, mais la désactivation de FIPS au niveau du cluster ne désactive pas FIPS sur vos pools de nœuds. Pour plus d’informations sur les pools de nœuds compatibles FIPS, consultez Activer FIPS pour les pools de nœuds AKS.
Important
Le mode FIPS s’applique à l’infrastructure et aux composants gérés par AKS. Les clients restent responsables de la garantie que leurs propres conteneurs d’applications utilisent le chiffrement conforme à FIPS.
Prerequisites
- Un abonnement Azure actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Azure CLI version 2.86.0 ou ultérieure installé et configuré. Pour connaître la version, exécutez
az --version. Pour plus d’informations sur l’installation ou la mise à niveau du Azure CLI, consultez Install Azure CLI. - La dernière version de l’extension Azure CLI
aks-preview. Les--enable-fipsparamètres et--disable-fipsles paramètres sont disponibles uniquement dans l’extensionaks-preview. Pour des instructions, consultez Installer l’aks-previewExtension Azure CLI. - L’extension
k8s-extensionAzure CLI, utilisée pour répertorier et supprimer des extensions de cluster. Installez-le en exécutantaz extension add --upgrade --name k8s-extension. -
kubectl installé. Vous pouvez l’installer localement à l’aide de la
az aks install-clicommande. - L’indicateur de fonctionnalité
EnableFIPSPreviewinscrit sur votre abonnement. Pour obtenir des instructions, consultez Inscrire l’EnableFIPSPreviewindicateur de fonctionnalité. - Version 1.35.0 ou ultérieure de Kubernetes. Pour afficher les versions disponibles dans votre région, utilisez la commande
az aks get-versions. Un cluster compatible FIPS sur une version antérieure ne bénéficie pas d’une exception de compatibilité : AKS rejette toutes les mises à jour du cluster jusqu’à ce que vous le mettiez à niveau vers la version 1.35.0 ou ultérieure ou que vous désactiviez FIPS. - Si vous utilisez des modèles Azure Resource Manager (ARM) ou l’API REST, utilisez la version de l’API
2026-03-02-previewou une version ultérieure pourMicrosoft.ContainerService/managedClustersetMicrosoft.ContainerService/managedClusters/agentPools.
Installer l’extension aks-preview Azure CLI
Installez l’extension
aks-previewen utilisant la commandeaz extension add.az extension add --name aks-previewEffectuez une mise à jour vers la dernière version de l’extension à l’aide de la
az extension updatecommande.az extension update --name aks-preview
Définir des variables d’environnement
Définissez les variables d’environnement suivantes pour les ressources que vous utilisez dans cet article. Remplacez les valeurs par défaut par vos propres valeurs. Définissez ensuite votre contexte d’abonnement à l’aide de la az account set commande.
export SUBSCRIPTION_ID="<subscription-id>"
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export NODE_POOL_NAME="fipsnp"
az account set --subscription $SUBSCRIPTION_ID
Inscrire l’indicateur de fonctionnalité EnableFIPSPreview
Enregistrez l’indicateur de fonctionnalité
EnableFIPSPreviewà l’aide de la commandeaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Quelques minutes sont nécessaires pour que l’état s’affiche Registered (Inscrit).
Vérifiez l’état de l’inscription à l’aide de la
az feature showcommande.az feature show --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Lorsque l’état indique Enregistré, actualisez l’enregistrement du
Microsoft.ContainerServicefournisseur de ressources à l’aide de laaz provider registercommande.az provider register --namespace Microsoft.ContainerService
Limitations
Les limitations suivantes s’appliquent lors de l’utilisation de clusters AKS compatibles FIPS.
Certains composants gérés par AKS ne sont pas conformes à FIPS et sont bloqués sur des clusters avec FIPS activé. Pour la liste, consultez Composants bloqués.
Les pools de nœuds qui utilisent un runtime de charge de travail Kata (
KataVmIsolation,KataMshvVmIsolationouKataCcIsolation) ne sont pas pris en charge.Les pools de nœuds qui utilisent le paramètre d’approbation d’autorité de certification personnalisée au niveau du pool de nœuds en préversion (
enableCustomCATrust) ne sont pas pris en charge. Utilisez plutôt la confiance accordée à une autorité de certification personnalisée au niveau du cluster.Toutes les limitations documentées pour les pools de nœuds compatibles FIPS s’appliquent également aux clusters compatibles FIPS, notamment les contraintes de système d’exploitation, d’image et de mise à niveau. Pour plus d’informations, consultez Activer la norme FIPS (Federal Information Processing Standard) pour les pools de nœuds d’Azure Kubernetes Service (AKS).
Composants bloqués
Certains composants gérés par AKS ne sont pas encore compilés avec des bibliothèques de chiffrement compatibles FIPS. Vous ne pouvez pas activer ces composants sur un cluster avec FIPS activé, et vous ne pouvez pas activer FIPS sur un cluster qui les utilise. Le tableau suivant répertorie les composants bloqués et la commande Azure CLI pour les désactiver. Ajoutez --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME à chaque commande az aks.
Important
Cette liste s’applique uniquement aux composants gérés par AKS. Les conteneurs d’applications clientes ne sont pas validés par AKS.
| Composant bloqué | Désactiver la commande |
|---|---|
cost-analysis |
az aks update --disable-cost-analysis |
approuting |
az aks approuting disable |
defender (Microsoft Defender for Containers surveillance de la sécurité) |
az aks update --disable-defender |
azure-monitor (Métriques Prometheus gérées, Container Insights et surveillance des applications) |
az aks update --disable-azure-monitor-metricsaz aks disable-addons --addons monitoringaz aks update --disable-azure-monitor-app-monitoring |
blob-csi |
az aks update --disable-blob-driver |
ACCSGXDevicePlugin |
az aks disable-addons --addons confcom |
IngressApplicationGateway |
az aks disable-addons --addons ingress-appgw |
calico, azure-npm |
az aks update --network-policy none |
cilium |
Vous ne pouvez pas supprimer Cilium d’un cluster existant. Créez un cluster. |
acns-observability |
az aks update --disable-acns ou az aks update --disable-acns-observability |
OpenServiceMesh |
az aks disable-addons --addons open-service-mesh |
kaito |
az aks update --disable-ai-toolchain-operator |
Révisions du module complémentaire de maillage de services Istio antérieures à asm-1-26 |
Effectuez une mise à niveau vers la révision asm-1-26 ou ultérieure. Pour obtenir des instructions, consultez Mettre à niveau le module complémentaire de maillage de service basé sur Istio. |
| installation du pilote GPU Windows | Pour ajouter un pool de nœuds GPU Windows, ignorez l’installation du pilote à l’aide de --gpu-driver none. |
| Extensions de cluster qui ne sont pas conformes à FIPS, telles que Flux (GitOps). Consultez la colonne FIPS dans la matrice de capacité d’extension. | az k8s-extension delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type managedClusters --name <extension-name> |
Si une automatisation, telle qu’une affectation d’Azure Policy, tente d’installer une extension qui n’est pas conforme à FIPS sur un cluster avec FIPS activé, AKS rejette l’installation et l’extension affiche un état de provisionnement Failed. Le cluster n’est pas affecté.
Créer un cluster AKS compatible FIPS
Vous pouvez activer FIPS lorsque vous créez le cluster à l’aide de l’indicateur --enable-fips . Le cluster ne peut pas utiliser les composants bloqués.
Créez un cluster AKS compatible FIPS à l’aide de la commande
az aks createavec le paramètre--enable-fips.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --kubernetes-version 1.35 \ --enable-fips \ --generate-ssh-keysVérifiez que votre cluster est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFips .az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L’exemple de sortie suivant montre que votre cluster est activé par FIPS :
trueSi la commande ne retourne pas
true, vous n’avez pas installé l’extensionaks-previewlors de la création du cluster. Sans l’extension, le Azure CLI traite--enable-fipscomme--enable-fips-imageet active FIPS uniquement sur le pool de nœuds par défaut. Installez l’extensionaks-preview, puis activez FIPS sur le cluster existant.La création d’un cluster compatible FIPS crée automatiquement un pool de nœuds compatible FIPS. Vous pouvez le vérifier en inspectant la configuration du pool de nœuds en utilisant la
az aks showcommande et en interrogeant la valeur enableFips dans agentPoolProfiles.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "agentPoolProfiles[].{Name:name, enableFips:enableFips}" \ --output tableL’exemple de sortie suivant montre que le pool de nœuds par défaut est activé par FIPS :
Name EnableFips --------- ---------- nodepool1 True
Mettre à jour un cluster AKS existant pour activer ou désactiver FIPS
Pour activer FIPS sur un cluster existant, préparez d’abord le cluster, puis mettez-le à jour.
Préparer votre cluster pour FIPS
Effectuez les étapes suivantes avant d’activer FIPS au niveau du cluster.
Vérifiez que le cluster exécute Kubernetes version 1.35.0 ou ultérieure. Si votre cluster exécute une version antérieure, mettez d’abord à niveau le cluster. Pour obtenir des instructions, consultez Mettre à niveau un cluster AKS.
Vérifiez que chaque pool de nœuds est activé par FIPS. Mettez à jour chaque pool de nœuds non FIPS pour utiliser des images activées pour FIPS. Pour obtenir des instructions, consultez Mettre à jour un pool de nœuds existant pour activer ou désactiver FIPS.
Les pools de nœuds Windows Server 2022 s’exécutent déjà avec FIPS activé dans le système d’exploitation, mais leur propriété
enableFipsestFalsesauf si vous la définissez. Exécutezaz aks nodepool update --enable-fips-imageégalement sur ces pools de nœuds. Pour ces pools de nœuds, la mise à jour définit la propriété et ne modifie pas l’image de nœud.Désactivez ou supprimez chaque composant répertorié dans les composants bloqués, y compris les extensions de cluster qui ne sont pas conformes à FIPS. Pour répertorier les extensions de votre cluster, utilisez la commande
az k8s-extension list. Pour supprimer une extension, utilisez la commandeaz k8s-extension delete. Pour plus d’informations, consultez Gérer les extensions AKS.az k8s-extension list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --cluster-type managedClusters \ --query "[].{name:name, extensionType:extensionType, state:provisioningState}" \ --output tableNote
Une extension peut être installée automatiquement après la création du cluster, par exemple par une assignation de stratégie Azure Policy. Répertoriez à nouveau les extensions juste avant d’activer FIPS. Si une affectation continue d’installer une extension qui n’est pas conforme à FIPS, exemptez le cluster de cette affectation.
Mettre à jour un cluster existant pour activer FIPS
Après avoir préparé votre cluster, activez FIPS. Si le cluster ne répond pas à une exigence, AKS rejette la mise à jour et le message d’erreur décrit la cause. Pour obtenir de l’aide, consultez Résoudre les erreurs FIPS au niveau du cluster.
Mettez à jour un cluster AKS à l’aide de la commande
az aks updateavec le paramètre--enable-fips.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --enable-fipsVérifiez que votre cluster est avec FIPS activé à l’aide de la commande
az aks showet interrogez la valeur enableFips.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L’exemple de sortie suivant montre que votre cluster est activé par FIPS :
true
Mettre à jour un cluster existant pour désactiver FIPS
Vous pouvez mettre à jour un cluster existant pour désactiver FIPS. Lorsque vous désactivez le mode FIPS :
- L’application de la norme FIPS au niveau du cluster est supprimée.
- Les pools de nœuds existants ne sont pas modifiés.
- Vous pouvez exécuter des pools de nœuds FIPS et non-FIPS dans le même cluster.
- Vous pouvez déployer des extensions et des modules complémentaires AKS qui ont été précédemment bloqués pendant l’activation de FIPS.
- Les nouveaux pools de nœuds n’ont plus besoin d’être compatibles FIPS.
Note
La désactivation de FIPS ne convertit pas automatiquement les pools de nœuds avec FIPS activé en pools de nœuds non FIPS. Si nécessaire, vous pouvez mettre à jour des pools de nœuds individuellement. Pour obtenir des instructions, consultez Désactiver FIPS sur un pool de nœuds existant. Windows Server pools de nœuds 2025 ne peuvent pas désactiver FIPS.
Mettez à jour un cluster AKS à l’aide de la commande
az aks updateavec le paramètre--disable-fips.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --disable-fipsVérifiez que votre cluster n’est pas activé avec FIPS à l’aide de la commande
az aks showet interrogez la valeur enableFips.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L’exemple de sortie suivant montre que votre cluster n’est pas activé par FIPS :
false
Ajouter un pool de nœuds à un cluster AKS compatible FIPS
Chaque nouveau pool de nœuds d’un cluster activé avec FIPS doit être activé avec FIPS. Ajoutez un pool de nœuds à l’aide de la az aks nodepool add commande avec le --enable-fips-image paramètre. Si vous omettez --enable-fips-image, AKS rejette la demande.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--enable-fips-image
Résoudre les erreurs FIPS au niveau du cluster
Lorsqu’une requête est en conflit avec FIPS au niveau du cluster, AKS la rejette généralement, avec une erreur BadRequest qui décrit la cause. Pour connaître les messages d’erreur courants et comment les résoudre, consultez Résoudre les erreurs FIPS au niveau du cluster dans AKS.
Nettoyer les ressources
Lorsque vous n’avez plus besoin des ressources que vous avez créées dans cet article, supprimez le groupe de ressources et toutes les ressources associées à l’aide de la commande az group delete.
az group delete --name $RESOURCE_GROUP --yes --no-wait