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.
Le normes FIPS (Federal Information Processing Standard) 140-2 est une norme gouvernementale américaine qui définit les exigences de sécurité minimales pour les modules cryptographiques dans les produits et systèmes de technologies de l’information. Azure Kubernetes Service (AKS) vous permet de créer des pools de nœuds Linux et Windows avec FIPS 140-2 activé. Les déploiements s’exécutant sur des pools de nœuds compatibles FIPS peuvent utiliser ces modules cryptographiques pour fournir une sécurité accrue et aider à respecter les contrôles de sécurité dans le cadre de la conformité FedRAMP. Pour plus d’informations sur la norme FIPS 140-2, consultez Norme FIPS (Federal Information Processing Standard) 140.
Important
À compter de March 17, 2027, Azure Kubernetes Service (AKS) ne prend plus en charge ni ne fournit plus de mises à jour de sécurité pour Ubuntu 20.04. Toutes les images de nœud existantes seront supprimées et vous ne pourrez pas mettre à l’échelle les pools de nœuds exécutant Ubuntu 20.04. Migrez vers une version Ubuntu prise en charge en mettant à niveau vos pools de nœuds vers Kubernetes version 1.35+. Pour obtenir davantage de détails sur cette mise à service, consultez le problème GitHub Retirement ainsi que l’annonce correspondante dans Azure Updates. Pour rester informé des annonces et des mises à jour, suivez les notes de publication AKS.
Important
À compter de November 30, 2025, Azure Kubernetes Service (AKS) ne prend plus en charge ni ne fournit plus de mises à jour de sécurité pour Azure Linux 2.0. L’image de nœud Azure Linux 2.0 est figée dans 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 davantage d’informations, consultez le problème GitHub relatif à la mise hors service ainsi que l’annonce officielle correspondante concernant les mises à jour Azure. Pour rester informé des annonces et des mises à jour, suivez les notes de publication AKS.
Prérequis
Un abonnement actif Azure. Si vous n'avez pas d'abonnement Azure, créez un compte free avant de commencer.
Définissez votre contexte d’abonnement à l’aide de la
az account setcommande. Par exemple:az account set --subscription "00000000-0000-0000-0000-000000000000"kubectl installé. Vous pouvez l’installer localement à l’aide de la
az aks install-clicommande.
- Terraform installé localement. Pour obtenir des instructions d’installation, consultez Installer Terraform.
Compatibilité des versions
- Azure CLI version 2.32.0 ou ultérieure installée et configurée. Pour connaître la version de l’interface, exécutez
az --version. Pour plus d’informations sur l’installation ou la mise à niveau du Azure CLI, consultez Install Azure CLI.
- Les exemples de modèles ARM de cet article utilisent la version de l’API
2023-03-01pourMicrosoft.ContainerService/managedClustersetMicrosoft.ContainerService/managedClusters/agentPools.
- Les exemples Bicep de cet article utilisent la version d’API
2023-03-01pourMicrosoft.ContainerService/managedClustersetMicrosoft.ContainerService/managedClusters/agentPools.
- Les exemples Terraform de cet article utilisent le fournisseur AzureRM 3.x.
- Pour les paramètres FIPS Terraform, utilisez
enable_fips_imagesurazurerm_kubernetes_cluster.default_node_pooletfips_enabledsurazurerm_kubernetes_cluster_node_pool.
Limites
Les pools de nœuds compatibles FIPS présentent les limitations suivantes :
- Les pools de nœuds compatibles FIPS requièrent la version 1.19 ou une version ultérieure de Kubernetes.
- Pour mettre à jour les packages ou modules sous-jacents utilisés pour FIPS, vous devez utiliser la mise à niveau de l’image Node.
- Les images de conteneur sur les nœuds FIPS ne sont pas évaluées pour la conformité avec FIPS.
- Le montage d’un partage CIFS échoue, car FIPS désactive certains modules d’authentification. Pour contourner ce problème, consultez Erreurs lors du montage d’un partage de fichiers sur un pool de nœuds compatible FIPS.
- Les pools de nœuds compatibles FIPS avec des machines virtuelles Arm64 sont pris en charge uniquement avec Azure Linux 3.0+.
- Le module complémentaire de surveillance AKS prend en charge les pools de nœuds compatibles FIPS avec Ubuntu, Azure Linux et Windows à partir de l’agent version 3.1.17 (Linux) et win-3.1.17 (Windows).
Important
L’image Linux compatible FIPS est une image différente de celle de l’image Linux par défaut utilisée pour les pools de nœuds basés sur Linux.
Les images de nœud compatibles FIPS peuvent avoir des numéros de version différents, par exemple des versions différentes du noyau, par rapport aux images qui ne sont pas compatibles FIPS. Le cycle de mise à jour des pools de nœuds et des images de nœuds compatibles FIPS peut différer des pools de nœuds et des images qui ne sont pas compatibles FIPS.
Versions du système d'exploitation prises en charge
Vous pouvez créer des pools de nœuds compatibles FIPS sur tous les types de système d’exploitation pris en charge (Linux et Windows). Toutefois, toutes les versions du système d’exploitation ne prennent pas en charge les pools de nœuds compatibles FIPS. Une fois qu’une nouvelle version du système d’exploitation est publiée, il existe généralement une période d’attente avant qu’elle soit conforme à FIPS.
Le tableau suivant inclut les versions de système d’exploitation prises en charge pour les pools de nœuds compatibles FIPS :
| Type de système d’exploitation | Référence (SKU) du système d’exploitation | Conformité à la norme FIPS | Par défaut |
|---|---|---|---|
| Linux | Ubuntu | Pris en charge | Désactivée par défaut |
| Linux | Azure Linux | Pris en charge | Désactivée par défaut |
| Windows | Windows Server 2022 | Pris en charge | Activée par défaut |
| Windows | Windows Server 2025 | Pris en charge | Activé par défaut et ne peut pas être désactivé |
Lors de la demande d’Ubuntu compatible FIPS, si la version Ubuntu par défaut ne prend pas en charge FIPS, AKS est défini par défaut sur la version la plus récente prise en charge par FIPS d’Ubuntu. Par exemple, Ubuntu 22.04 est le système d’exploitation par défaut pour les pools de nœuds Linux. Étant donné que la version 22.04 ne prend actuellement pas en charge FIPS, AKS est défini par défaut sur Ubuntu 20.04 pour les pools de nœuds compatibles FIPS Linux.
Remarque
Auparavant, vous pouvez utiliser l’API GetOSOptions pour déterminer si un système d’exploitation donné prenait en charge FIPS. L’API GetOSOptions est désormais déconseillée et n’est plus incluse dans les nouvelles versions de l’API AKS à compter de 2024-05-01.
Créer le fichier de configuration Terraform
Les fichiers de configuration Terraform définissent l’infrastructure que Terraform crée et gère.
Créez un fichier nommé
main.tfet ajoutez le code suivant pour définir la version Terraform et spécifier le fournisseur Azure :terraform { required_version = ">= 1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.0" } } } provider "azurerm" { features {} }Ajoutez le code suivant à
main.tfpour créer un groupe de ressources Azure. N’hésitez pas à modifier le nom et l’emplacement du groupe de ressources en fonction des besoins.resource "azurerm_resource_group" "example" { name = "example-fips-rg" location = "East US" }
Créer un cluster AKS avec un pool de nœuds par défaut compatible FIPS
Vous pouvez activer FIPS sur le pool de nœuds par défaut lors de la création d’un cluster AKS.
Lors de la création de pools de nœuds supplémentaires sur un cluster qui possède déjà un pool de nœuds par défaut compatible FIPS, vous devez également activer FIPS sur les nouveaux pools de nœuds à l’aide du --enable-fips-image paramètre.
Créez un cluster AKS avec FIPS activé sur le pool de nœuds par défaut à l’aide de la
az aks createcommande avec le--enable-fips-imageparamètre.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 3 \ --enable-fips-imageVérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds par défaut est activé par FIPS :
Name enableFips --------- ------------ nodepool1 True
L'activation de FIPS lors de la création d'un cluster AKS n'est pas prise en charge dans le portail Azure. Pour créer un cluster avec un pool de nœuds par défaut compatible FIPS, utilisez les instructions Azure CLI, arm, Bicep ou Terraform dans cet article.
Lors de la création de pools de nœuds supplémentaires sur un cluster qui a déjà un pool de nœuds par défaut compatible FIPS, vous devez également activer FIPS sur les nouveaux pools de nœuds en définissant enableFips sur true.
Créez un cluster AKS avec FIPS activé sur le pool de nœuds par défaut à l’aide d’un modèle ARM en définissant la propriété
enableFipsàtruedans le profil du pool de nœuds. Par exemple:{ "type": "Microsoft.ContainerService/managedClusters", "location": "[parameters('location')]", "name": "[parameters('clusterName')]", "properties": { "kubernetesVersion": "1.27", "enableRBAC": true, "dnsPrefix": "[parameters('dnsPrefix')]", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "enableFips": true } ] }, "identity": { "type": "SystemAssigned" } }Déployez le modèle ARM à l’aide du portail Azure, Azure CLI ou Azure PowerShell. Pour plus d’informations sur le déploiement de modèles ARM, consultez Déployer des ressources avec des modèles ARM.
Vérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds par défaut est activé par FIPS :
Name enableFips --------- ------------ nodepool1 True
Lors de la création de pools de nœuds supplémentaires sur un cluster qui a déjà un pool de nœuds par défaut compatible FIPS, vous devez également activer FIPS sur les nouveaux pools de nœuds en définissant enableFIPS sur true.
Créez un cluster AKS avec FIPS activé sur le pool de nœuds par défaut à l’aide de Bicep en définissant
enableFIPSsurtruedans le profil du pool d’agents. Par exemple:param location string param clusterName string param dnsPrefix string resource aks 'Microsoft.ContainerService/managedClusters@2023-03-01' = { name: clusterName location: location identity: { type: 'SystemAssigned' } properties: { kubernetesVersion: '1.27' enableRBAC: true dnsPrefix: dnsPrefix agentPoolProfiles: [ { name: 'nodepool1' count: 3 vmSize: 'Standard_D2s_v3' osType: 'Linux' osSKU: 'Ubuntu' type: 'VirtualMachineScaleSets' mode: 'System' enableFIPS: true } ] } }Déployez le fichier Bicep à l’aide du Azure CLI, du Azure PowerShell ou du portail Azure. Pour plus d’informations sur le déploiement de fichiers Bicep, consultez Créer des fichiers Bicep à l’aide de Visual Studio Code.
Vérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds par défaut est activé par FIPS :
Name enableFips --------- ------------ nodepool1 True
Lorsque vous créez d’autres pools de nœuds sur un cluster qui dispose déjà d’un pool de nœuds par défaut compatible FIPS, vous devez également activer FIPS sur les nouveaux pools de nœuds en réglant fips_enabled sur true dans azurerm_kubernetes_cluster_node_pool.
Ajoutez le code suivant pour
main.tfcréer un cluster AKS avec FIPS activé sur le pool de nœuds par défaut :resource "azurerm_kubernetes_cluster" "example" { name = "example-aks-cluster" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name dns_prefix = "example-aks" default_node_pool { name = "nodepool1" node_count = 3 vm_size = "Standard_D2s_v3" os_sku = "Ubuntu" enable_fips_image = true } identity { type = "SystemAssigned" } }Initialisez Terraform dans le répertoire contenant votre
main.tffichier à l’aide de laterraform initcommande.terraform initCréez un plan d’exécution Terraform à l’aide de la commande
terraform plan.terraform planAppliquez la configuration à l’aide de la
terraform applycommande pour déployer le cluster avec un pool de nœuds par défaut compatible FIPS.terraform applyConnectez-vous au cluster AKS à l’aide de la commande [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterVérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds par défaut est activé par FIPS :
Name enableFips --------- ------------ nodepool1 True
Pour plus d’informations sur la ressource
Ajouter un pool de nœuds Linux compatible FIPS à un cluster AKS existant
Ajoutez un pool de nœuds Linux compatible FIPS à un cluster existant à l’aide de la
az aks nodepool addcommande avec le--enable-fips-imageparamètre.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-imageVérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds fipsnp est compatible FIPS :
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListez les nœuds à l’aide de la commande
kubectl get nodes.kubectl get nodesL’exemple de sortie suivant présente la liste des nœuds du cluster. Les nœuds commençant par
aks-fipsnpfont partie du pool de nœuds compatible FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9Exécutez un déploiement avec une session interactive sur l’un des nœuds du pool de nœuds compatible FIPS à l’aide de la commande
kubectl debug.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Dans la sortie de la session interactive, vérifiez que les bibliothèques de chiffrement FIPS sont activées. Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
L'activation de FIPS lors de l'ajout d'un pool de nœuds Linux n'est actuellement pas prise en charge dans le portail Azure. Pour ajouter un pool de nœuds Linux compatible FIPS, utilisez les instructions Azure CLI, modèle ARM, Bicep ou Terraform dans cet article.
Créez un pool de nœuds Linux compatible FIPS à l’aide d’un modèle ARM en déployant une ressource de pool d’agents avec la propriété
enableFipsdéfinie surtrue. Par exemple:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "apiVersion": "2023-03-01", "name": "[concat(parameters('clusterName'), '/fipsnp')]", "properties": { "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux", "osSKU": "Ubuntu", "mode": "User", "enableFips": true } }Déployez le modèle ARM à l’aide du portail Azure, Azure CLI ou Azure PowerShell. Pour plus d’informations sur le déploiement de modèles ARM, consultez Déployer des ressources avec des modèles ARM.
Vérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds fipsnp est compatible FIPS :
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListez les nœuds à l’aide de la commande
kubectl get nodes.kubectl get nodesL’exemple de sortie suivant présente la liste des nœuds du cluster. Les nœuds commençant par
aks-fipsnpfont partie du pool de nœuds compatible FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9Exécutez un déploiement avec une session interactive sur l’un des nœuds du pool de nœuds compatible FIPS à l’aide de la commande
kubectl debug.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Dans la sortie de la session interactive, vérifiez que les bibliothèques de chiffrement FIPS sont activées. Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Créez un pool de nœuds Linux compatible FIPS à l’aide de Bicep en déployant une ressource de pool d’agents avec
enableFIPSdéfini surtrue. Par exemple:param clusterName string param nodePoolName string = 'fipsnp' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { count: 3 vmSize: 'Standard_D2s_v3' osType: 'Linux' osSKU: 'Ubuntu' mode: 'User' enableFIPS: true } }Déployez le fichier Bicep à l’aide du Azure CLI, du Azure PowerShell ou du portail Azure. Pour plus d’informations sur le déploiement de fichiers Bicep, consultez Créer des fichiers Bicep à l’aide de Visual Studio Code.
Vérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds fipsnp est compatible FIPS :
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListez les nœuds à l’aide de la commande
kubectl get nodes.kubectl get nodesL’exemple de sortie suivant présente la liste des nœuds du cluster. Les nœuds commençant par
aks-fipsnpfont partie du pool de nœuds compatible FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9Exécutez un déploiement avec une session interactive sur l’un des nœuds du pool de nœuds compatible FIPS à l’aide de la commande
kubectl debug.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Dans la sortie de la session interactive, vérifiez que les bibliothèques de chiffrement FIPS sont activées. Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Ajoutez le code suivant à
main.tfpour ajouter un pool de nœuds Linux compatible FIPS dans votre cluster AKS :resource "azurerm_kubernetes_cluster_node_pool" "fips_linux" { name = "fipsnp" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = true node_taints = [] }Appliquez la configuration Terraform mise à jour à l’aide des commandes
terraform planetterraform apply.terraform plan terraform applyConnectez-vous au cluster AKS à l’aide de la commande [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterVérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds fipsnp est compatible FIPS :
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListez les nœuds à l’aide de la commande
kubectl get nodes.kubectl get nodesL’exemple de sortie suivant présente la liste des nœuds du cluster. Les nœuds commençant par
aks-fipsnpfont partie du pool de nœuds compatible FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9Exécutez un déploiement avec une session interactive sur l’un des nœuds du pool de nœuds compatible FIPS à l’aide de la commande
kubectl debug.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Dans la sortie de la session interactive, vérifiez que les bibliothèques de chiffrement FIPS sont activées. Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Pour plus d'informations sur la ressource azurerm_kubernetes_cluster_node_pool, consultez la documentation du fournisseur Terraform pour Azure.
Ajouter un pool de nœuds compatible FIPS Windows
Dans cette section, nous ajoutons un pool de nœuds Windows à un cluster AKS existant.
Windows Server 2022 et les pools de nœuds ultérieurs activent FIPS par défaut même si enableFips n'affiche pas True.
Windows Server 2025 et les pools de nœuds ultérieurs ne prennent pas en charge la désactivation de FIPS.
Créez un pool de nœuds Windows à l’aide de la commande
az aks nodepool add. Contrairement aux pools de nœuds Linux, les pools de nœuds Windows partagent le même ensemble d’images.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type WindowsVérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableVérifiez que Windows pools de nœuds ont accès aux bibliothèques de chiffrement FIPS en créant une connexion RDP à un nœud Windows dans un pool de nœuds et en vérifiant le Registre. À partir de l’application Exécuter, entrez
regedit.Recherchez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicydans le registre.Si
Enabledest défini sur 1, FIPS est activé.
Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Il n'existe pas d'expérience de portail Azure pour activer ou désactiver les paramètres FIPS pour les pools de nœuds Windows. Les pools de nœuds Windows créés à l’aide du portail Azure ont activé FIPS. Windows Server 2022 et les pools de nœuds ultérieurs activent FIPS par défaut, et Windows Server 2025 et les pools de nœuds ultérieurs ne prennent pas en charge la désactivation de FIPS.
Créez un pool de nœuds Windows à l’aide d’un modèle ARM en déployant une ressource de pool d’agents avec
osTypedéfini surWindows. Par exemple:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "apiVersion": "2023-03-01", "name": "[concat(parameters('clusterName'), '/fipsnp')]", "properties": { "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Windows", "osSKU": "Windows2022", "mode": "User" } }Déployez le modèle ARM à l’aide du portail Azure, Azure CLI ou Azure PowerShell. Pour plus d’informations sur le déploiement de modèles ARM, consultez Déployer des ressources avec des modèles ARM.
Vérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableVérifiez que Windows pools de nœuds ont accès aux bibliothèques de chiffrement FIPS en créant une connexion RDP à un nœud Windows dans un pool de nœuds et en vérifiant le Registre. À partir de l’application Exécuter, entrez
regedit.Recherchez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicydans le registre.Si
Enabledest défini sur 1, FIPS est activé.
Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Créez un pool de nœuds Windows à l’aide de Bicep en déployant une ressource de pool d’agents avec
osTypeconfiguré surWindows. Par exemple:param clusterName string param nodePoolName string = 'fipsnp' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { count: 3 vmSize: 'Standard_D2s_v3' osType: 'Windows' osSKU: 'Windows2022' mode: 'User' enableFIPS: true } }Déployez le fichier Bicep à l’aide du Azure CLI, du Azure PowerShell ou du portail Azure. Pour plus d’informations sur le déploiement de fichiers Bicep, consultez Créer des fichiers Bicep à l’aide de Visual Studio Code.
Vérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableVérifiez que Windows pools de nœuds ont accès aux bibliothèques de chiffrement FIPS en créant une connexion RDP à un nœud Windows dans un pool de nœuds et en vérifiant le Registre. À partir de l’application Exécuter, entrez
regedit.Recherchez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicydans le registre.Si
Enabledest défini sur 1, FIPS est activé.
Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Ajoutez le code suivant à
main.tfpour créer un pool de nœuds Windows dans votre cluster AKS :resource "azurerm_kubernetes_cluster_node_pool" "fips_windows" { name = "fipsnp" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Windows" os_sku = "Windows2022" node_count = 3 fips_enabled = true node_taints = [] }Appliquez la configuration Terraform mise à jour à l’aide des commandes
terraform planetterraform apply.terraform plan terraform applyConnectez-vous au cluster AKS à l’aide de la commande [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterVérifiez la configuration de votre pool de nœuds à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableVérifiez que Windows pools de nœuds ont accès aux bibliothèques de chiffrement FIPS en créant une connexion RDP à un nœud Windows dans un pool de nœuds et en vérifiant le Registre. À partir de l’application Exécuter, entrez
regedit.Recherchez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicydans le registre.Si
Enabledest défini sur 1, FIPS est activé.
Les pools de nœuds compatibles FIPS présentent également une étiquette kubernetes.azure.com/fips_enabled=true, que les déploiements peuvent utiliser pour cibler ces pools de nœuds.
Mettre à jour un pool de nœuds existant pour activer ou désactiver FIPS
Les pools de nœuds Linux existants peuvent être mis à jour pour activer ou désactiver FIPS. Si vous envisagez de migrer vos pools de nœuds de non-FIPS vers FIPS, vérifiez d’abord que votre application fonctionne correctement dans un environnement de test avant de la migrer vers un environnement de production. La validation de votre application dans un environnement de test doit empêcher les problèmes causés par le noyau FIPS bloquant certains algorithmes de chiffrement faible, tel qu'un algorithme MD4 qui n'est pas conforme aux normes FIPS.
Remarque
Lors de la mise à jour d’un pool de nœuds Linux existant pour activer ou désactiver FIPS, la mise à jour du pool de nœuds se déplace entre l’image fips et nonfips. Cette mise à jour du pool de nœuds déclenche une réimagerie pour finaliser la mise à jour. La mise à jour du pool de nœuds peut prendre quelques minutes.
Conditions préalables à la mise à jour d’un pool de nœuds existant
Azure CLI version 2.64.0 ou ultérieure. Pour connaître la version de l’interface, exécutez az --version. Si vous devez installer ou mettre à niveau, consultez Installer Azure CLI.
Activer FIPS sur un pool de nœuds existant
Vous pouvez mettre à jour des pools de nœuds Linux existants pour activer FIPS. Lorsque vous mettez à jour un pool de nœuds existant, l’image de nœud passe de l’image actuelle à l’image FIPS recommandée du même SKU de système d’exploitation.
Mettez à jour un pool de nœuds à l'aide de la commande
az aks nodepool updateavec le paramètre--enable-fips-image.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-imageCette commande déclenche immédiatement une nouvelle image du pool de nœuds pour déployer le système d’exploitation conforme à FIPS. Cette réinitialisation se produit pendant la mise à jour du pool de nœuds. Aucune étape supplémentaire n’est requise.
Vérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np est compatible avec FIPS :
Name enableFips --------- ------------ np True nodepool1 False
L'activation de FIPS sur un pool de nœuds existant n'est pas prise en charge dans le portail Azure. Pour activer FIPS sur un pool de nœuds existant, utilisez les instructions Azure CLI, modèle ARM, Bicep ou Terraform dans cet article.
Activez FIPS sur un pool de nœuds existant à l’aide d’un modèle ARM en mettant à jour le profil du pool d’agents pour définir la propriété
enableFipsàtrue. Par exemple:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": true } }Déployez le modèle mis à jour à l’aide du portail Azure, Azure CLI ou Azure PowerShell. Pour plus d’informations sur le déploiement de modèles ARM, consultez Déployer des ressources avec des modèles ARM.
Vérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np est compatible avec FIPS :
Name enableFips --------- ------------ np True nodepool1 False
Activez FIPS sur un pool de nœuds existant à l’aide de Bicep en mettant à jour la ressource du pool d’agents pour définir
enableFIPSsurtrue. Par exemple:param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: true } }Déployez le fichier Bicep mis à jour à l’aide des Azure CLI, des Azure PowerShell ou du portail Azure. Pour plus d’informations sur le déploiement de fichiers Bicep, consultez Créer des fichiers Bicep à l’aide de Visual Studio Code.
Vérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np est compatible avec FIPS :
Name enableFips --------- ------------ np True nodepool1 False
Mettez à jour la
azurerm_kubernetes_cluster_node_poolressource enmain.tfdéfinissantfips_enabledsurtrue:resource "azurerm_kubernetes_cluster_node_pool" "example" { name = "np" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = true }Appliquez la configuration Terraform mise à jour à l’aide des commandes
terraform planetterraform apply. Terraform détecte la modification defips_enabledet déclenche l’opération de réinitialisation nécessaire.terraform plan terraform applyConnectez-vous au cluster AKS à l’aide de la commande [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterVérifiez que votre pool de nœuds est activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np est compatible avec FIPS :
Name enableFips --------- ------------ np True nodepool1 False
Désactiver FIPS sur un pool de nœuds existant
Vous pouvez mettre à jour des pools de nœuds Linux existants pour désactiver FIPS. Lors de la mise à jour d’un pool de nœuds existant, l’image de nœud passe de l’image FIPS actuelle à l’image non FIPS recommandée du même SKU de système d’exploitation. La modification de l’image de nœud se produit après une nouvelle image.
Mettez à jour un pool de nœuds Linux à l’aide de la
az aks nodepool updatecommande avec le--disable-fips-imageparamètre.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-imageCette commande déclenche immédiatement une nouvelle image du pool de nœuds pour déployer le système d’exploitation conforme à FIPS. Cette réinitialisation se produit pendant la mise à jour du pool de nœuds. Aucune étape supplémentaire n’est requise.
Vérifiez que votre pool de nœuds n’est pas activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np n’est pas activé par FIPS :
Name enableFips --------- ------------ np False nodepool1 False
La désactivation de FIPS sur un pool de nœuds existant n'est pas prise en charge dans le portail Azure. Pour désactiver FIPS sur un pool de nœuds existant, utilisez les instructions Azure CLI, modèle ARM, Bicep ou Terraform dans cet article.
Désactivez FIPS sur un pool de nœuds existant à l’aide d’un modèle ARM en mettant à jour le profil du pool d’agents pour définir la propriété
enableFipssurfalse. Par exemple:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": false } }Déployez le modèle mis à jour à l’aide du portail Azure, Azure CLI ou Azure PowerShell. Pour plus d’informations sur le déploiement de modèles ARM, consultez Déployer des ressources avec des modèles ARM.
Vérifiez que votre pool de nœuds n’est pas activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np n’est pas activé par FIPS :
Name enableFips --------- ------------ np False nodepool1 False
Désactivez FIPS sur un pool de nœuds existant à l’aide de Bicep en mettant à jour la ressource du pool d’agents pour définir
enableFIPSsurfalse. Par exemple:param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: false } }Déployez le fichier Bicep mis à jour à l’aide des Azure CLI, des Azure PowerShell ou du portail Azure. Pour plus d’informations sur le déploiement de fichiers Bicep, consultez Créer des fichiers Bicep à l’aide de Visual Studio Code.
Vérifiez que votre pool de nœuds n’est pas activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np n’est pas activé par FIPS :
Name enableFips --------- ------------ np False nodepool1 False
Mettez à jour la
azurerm_kubernetes_cluster_node_poolressource enmain.tfdéfinissantfips_enabledsurfalse:resource "azurerm_kubernetes_cluster_node_pool" "example" { name = "np" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = false }Appliquez la configuration Terraform mise à jour à l’aide des commandes
terraform planetterraform apply. Terraform détecte la modification defips_enabledet déclenche l’opération de réinitialisation nécessaire.terraform plan terraform applyVérifiez que votre pool de nœuds n’est pas activé par FIPS à l’aide de la
az aks showcommande et interrogez la valeur enableFIPS dans agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableL’exemple de sortie suivant montre que le pool de nœuds np n’est pas activé par FIPS :
Name enableFips --------- ------------ np False nodepool1 False
Message du jour
Vous pouvez remplacer le message du jour (MOTD) sur les nœuds Linux à l’aide de l’indicateur lors de la --message-of-the-day création d’un cluster ou de l’ajout d’un pool de nœuds.
Créez un cluster et remplacez le message du jour à l’aide de la az aks create commande par l’indicateur --message-of-the-day défini sur le chemin du nouveau fichier MOTD.
az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Ajoutez un pool de nœuds et remplacez le message du jour à l’aide de la az aks nodepool add commande par l’indicateur --message-of-the-day défini sur le chemin du nouveau fichier MOTD.
az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Contenu connexe
Pour en savoir plus sur la sécurité AKS, consultez Pratiques de sécurité et de mise à niveau des clusters dans Azure Kubernetes Service (AKS).