Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Federal Information Processing Standard (FIPS) 140-2 ist ein Standard der US-Regierung, der Mindestsicherheitsanforderungen für kryptografische Module in IT-Produkten und -Systemen definiert. mit Azure Kubernetes Service (AKS) können Sie Linux- und Windows-Knotenpools mit aktivierter FIPS 140-2 erstellen. Bereitstellungen, die in FIPS-fähigen Knotenpools ausgeführt werden, können mithilfe dieser Kryptografiemodule mehr Sicherheit bieten und Sicherheitskontrollen im Rahmen der FedRAMP-Compliance erfüllen. Weitere Informationen zu FIPS 140-2 finden Sie unter Federal Information Processing Standard (FIPS) 140.
Wichtig
Ab March 17, 2027 unterstützt Azure Kubernetes Service (AKS) keine Sicherheitsupdates mehr für Ubuntu 20.04. Alle vorhandenen Knotenimages werden gelöscht, und Sie können keine Knotenpools skalieren, die Ubuntu 20.04 ausführen. Migrieren Sie zu einer unterstützten Ubuntu-Version, indem Sie Ihre Knotenpools auf Kubernetes Version 1.35+ aktualisieren. Weitere Informationen zu dieser Einstellung finden Sie unter Retirement GitHub Issue und der Ankündigung zur Einstellung der Azure Updates. Um über Ankündigungen und Updates auf dem Laufenden zu bleiben, folgen Sie den AKS-Versionshinweisen.
Wichtig
Ab November 30, 2025 unterstützt Azure Kubernetes Service (AKS) keine Sicherheitsupdates mehr für Azure Linux 2.0. Das Azure Linux 2.0-Knoten-Image wurde am Release 202512.06.0 eingefroren. Ab dem 31. März 2026 werden Knotenimages entfernt, und Sie können Ihre Knotenpools nicht skalieren. Migrieren Sie zu einer unterstützten Azure Linux-Version, indem Sie Ihre Knotenpools auf eine unterstützte Kubernetes-Version upgraden oder zu osSku AzureLinux3 migrieren. Weitere Informationen finden Sie im GitHub-Issue zur Einstellung und in der Ankündigung zur Einstellung von Azure-Updates. Um über Ankündigungen und Updates auf dem Laufenden zu bleiben, folgen Sie den AKS-Versionshinweisen.
Voraussetzungen
Ein aktives Azure-Abonnement. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein free-Konto, bevor Sie beginnen.
Legen Sie ihren Abonnementkontext mithilfe des
az account setBefehls fest. Beispiel:az account set --subscription "00000000-0000-0000-0000-000000000000"kubectl installiert. Sie können es lokal mit dem
az aks install-cliBefehl installieren.
- Terraform lokal installiert. Installationsanweisungen finden Sie unter Install Terraform.
Versionskompatibilität
- Azure CLI Version 2.32.0 oder höher installiert und konfiguriert. Führen Sie
az --versionaus, um die Version zu finden. Weitere Informationen zum Installieren oder Aktualisieren des Azure CLI finden Sie unter Install Azure CLI.
- ARM-Vorlagenbeispiele in diesem Artikel verwenden API-Version
2023-03-01fürMicrosoft.ContainerService/managedClustersundMicrosoft.ContainerService/managedClusters/agentPools.
- In den Bicep-Beispielen in diesem Artikel wird API-Version
2023-03-01fürMicrosoft.ContainerService/managedClustersundMicrosoft.ContainerService/managedClusters/agentPoolsverwendet.
- Terraform-Beispiele in diesem Artikel verwenden den AzureRM-Anbieter 3.x.
- Für die Terraform FIPS-Einstellungen wird
enable_fips_imageaufazurerm_kubernetes_cluster.default_node_poolundfips_enabledaufazurerm_kubernetes_cluster_node_poolverwendet.
Einschränkungen
FIPS-fähige Knotenpools weisen die folgenden Einschränkungen auf:
- FIPS-fähige Knotenpools erfordern Kubernetes, Version 1.19 und höher.
- Um die zugrunde liegenden Pakete oder Module zu aktualisieren, die für FIPS verwendet werden, müssen Sie das Node-Imageupgrade verwenden.
- Container-Images auf den FIPS-Knoten werden nicht auf FIPS-Konformität bewertet.
- Das Einbinden einer CIFS-Freigabe schlägt fehl, da FIPS einige Authentifizierungsmodule deaktiviert. Weitere Informationen zum Umgehen dieses Problems finden Sie unter Fehler beim Einbinden einer Dateifreigabe in einem FIPS-fähigen Knotenpool.
- FIPS-fähige Knotenpools mit Arm64-VMs werden nur mit Azure Linux 3.0+ unterstützt.
- Das AKS-Überwachungs-Add-On unterstützt FIPS-fähige Knotenpools mit Ubuntu, Azure Linux und Windows ab Agent-Version 3.1.17 (Linux) und Win-3.1.17 (Windows).
Wichtig
Das FIPS-fähige Linux-Image ist ein anderes als das Linux-Standardimage, das bei Linux-basierten Knotenpools verwendet wird.
FIPS-fähige Knotenimages können unterschiedliche Versionsnummern aufweisen, z. B. Kernelversion, als Bilder, die nicht FIPS-aktiviert sind. Der Updatezyklus für FIPS-fähige Knotenpools und Knotenimages kann sich von Knotenpools und Images unterscheiden, die nicht FIPS-aktiviert sind.
Unterstützte Betriebssystemversionen
Sie können FIPS-fähige Knotenpools für alle unterstützten Betriebssystemtypen (Linux und Windows) erstellen. Nicht alle Betriebssystemversionen unterstützen jedoch FIPS-fähige Knotenpools. Nachdem eine neue Betriebssystemversion veröffentlicht wurde, gibt es in der Regel eine Wartezeit, bevor sie FIPS-kompatibel ist.
Die folgende Tabelle enthält die unterstützten Betriebssystemversionen für FIPS-fähige Knotenpools:
| Betriebssystemtyp | Betriebssystem-SKU | FIPS-Konformität | Vorgabe |
|---|---|---|---|
| Linux | Ubuntu | Unterstützt | Standardmäßig deaktiviert |
| Linux | Azure Linux | Unterstützt | Standardmäßig deaktiviert |
| Windows | Windows Server 2022 | Unterstützt | Standardmäßig aktiviert |
| Windows | Windows Server 2025 | Unterstützt | Standardmäßig aktiviert und kann nicht deaktiviert werden |
Bei der Anforderung eines FIPS-fähigen Ubuntu verwendet AKS standardmäßig die neueste FIPS-unterstützte Version von Ubuntu, falls die standardmäßige Ubuntu-Version FIPS nicht unterstützt. Beispielsweise ist Ubuntu 22.04 standardmäßig für Linux-Knotenpools. Da 22.04 derzeit FIPS nicht unterstützt, wird AKS standardmäßig auf Ubuntu 20.04 für FIPS-fähige Linux-Knotenpools festgelegt.
Hinweis
Zuvor konnten Sie die GetOSOptions API verwenden, um zu bestimmen, ob ein bestimmtes Betriebssystem FIPS unterstützt. Die GetOSOptions API ist jetzt veraltet und ist ab 2024-05-01 nicht mehr in neuen AKS-API-Versionen enthalten.
Erstellen der Terraform-Konfigurationsdatei
Terraform-Konfigurationsdateien definieren die Infrastruktur, die Terraform erstellt und verwaltet.
Erstellen Sie eine Datei mit dem Namen
main.tf, und fügen Sie den folgenden Code hinzu, um die Terraform-Version zu definieren und den Azure Anbieter anzugeben:terraform { required_version = ">= 1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.0" } } } provider "azurerm" { features {} }Fügen Sie dem
main.tfden folgenden Code hinzu, um eine Azure Ressourcengruppe zu erstellen. Sie können den Namen und den Speicherort der Ressourcengruppe nach Bedarf ändern.resource "azurerm_resource_group" "example" { name = "example-fips-rg" location = "East US" }
Erstellen eines AKS-Clusters mit einem FIPS-aktivierten Standardknotenpool
Sie können FIPS im Standardknotenpool aktivieren, wenn Sie einen neuen AKS-Cluster erstellen.
Wenn Sie weitere Knotenpools auf einem Cluster erstellen, der bereits über einen FIPS-aktivierten Standardknotenpool verfügt, müssen Sie FIPS auch für die neuen Knotenpools mit dem --enable-fips-image Parameter aktivieren.
Erstellen Sie einen AKS-Cluster mit FIPS, der im Standardknotenpool aktiviert ist, mithilfe des
az aks createBefehls mit dem--enable-fips-imageParameter.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 3 \ --enable-fips-imageÜberprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Standardknotenpool FIPS-aktiviert ist:
Name enableFips --------- ------------ nodepool1 True
Das Aktivieren von FIPS während der Erstellung von AKS-Clustern wird zurzeit im Azure-Portal nicht unterstützt. Um einen Cluster mit einem FIPS-aktivierten Standardknotenpool zu erstellen, verwenden Sie die Anweisungen für Azure CLI, ARM, Bicep oder Terraform in diesem Artikel.
Wenn Sie weitere Knotenpools in einem Cluster erstellen, der bereits über einen FIPS-aktivierten Standardknotenpool verfügt, müssen Sie FIPS auch für die neuen Knotenpools aktivieren, indem Sie diese Einstellung festlegen enableFipstrue.
Erstellen Sie einen AKS-Cluster mit FIPS aktiviert im Standardknotenpool, indem Sie mithilfe einer ARM-Vorlage die
enableFips-Eigenschaft auftrueim Agentpoolprofil festlegen. Beispiel:{ "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" } }Stellen Sie die ARM-Vorlage mithilfe des portals Azure, Azure CLI oder Azure PowerShell bereit. Weitere Informationen zum Bereitstellen von ARM-Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen.
Überprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Standardknotenpool FIPS-aktiviert ist:
Name enableFips --------- ------------ nodepool1 True
Wenn Sie weitere Knotenpools in einem Cluster erstellen, der bereits über einen FIPS-aktivierten Standardknotenpool verfügt, müssen Sie FIPS auch für die neuen Knotenpools aktivieren, indem Sie diese Einstellung festlegen enableFIPStrue.
Erstellen Sie einen AKS-Cluster mit aktiviertem FIPS im Standardknotenpool mithilfe von Bicep, indem Sie im Agentenpoolprofil
enableFIPSauftruesetzen. Beispiel: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 } ] } }Stellen Sie die Bicep Datei mithilfe der Azure CLI, Azure PowerShell oder des Azure Portals bereit. Weitere Informationen zum Bereitstellen von Bicep Dateien finden Sie unter Create Bicep files using Visual Studio Code.
Überprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Standardknotenpool FIPS-aktiviert ist:
Name enableFips --------- ------------ nodepool1 True
Wenn Sie weitere Knotenpools auf einem Cluster erstellen, der bereits über einen FIPS-aktivierten Standardknotenpool verfügt, müssen Sie FIPS auch für die neuen Knotenpools aktivieren, indem Sie fips_enabled auf true Ein azurerm_kubernetes_cluster_node_pool setzen.
Fügen Sie den folgenden Code zu
main.tfhinzu, um einen AKS-Cluster mit aktiviertem FIPS im Standardknotenpool zu erstellen.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" } }Initialisieren Sie Terraform im Verzeichnis, das Ihre
main.tfDatei enthält, mithilfe desterraform initBefehls.terraform initErstellen Sie mit dem Befehl „
terraform plan“ einen Terraform-Ausführungsplan.terraform planWenden Sie die Konfiguration mithilfe des
terraform applyBefehls an, um den Cluster mit einem FIPS-aktivierten Standardknotenpool bereitzustellen.terraform applyStellen Sie mithilfe des Befehls [
az aks get-credentials][az-aks-get-credentials] eine Verbindung mit dem AKS-Cluster her.az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterÜberprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Standardknotenpool FIPS-aktiviert ist:
Name enableFips --------- ------------ nodepool1 True
Weitere Informationen zur ressource azurerm_kubernetes_cluster finden Sie in der Terraform Azure Anbieterdokumentation.
Hinzufügen eines FIPS-fähigen Linux-Knotenpools zu einem vorhandenen AKS-Cluster
Fügen Sie einem vorhandenen Cluster mithilfe des Befehls mit dem
az aks nodepool add--enable-fips-imageParameter einen FIPS-fähigen Linux-Knotenpool hinzu.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-imageÜberprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool fipsnp FIPS-fähig ist:
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListen Sie die Knoten mithilfe des Befehls „
kubectl get nodes“ auf.kubectl get nodesDie folgende Beispielausgabe führt alle Knoten im Cluster auf. Die Knoten, deren Namen mit
aks-fipsnpanfangen, sind Teil des FIPS-fähigen Knotenpools.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.9Führen Sie mithilfe des Befehls „
kubectl debug“ eine Bereitstellung bei einer interaktiven Sitzung auf einem dieser Knoten im FIPS-fähigen Knotenpool.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Überprüfen Sie anhand der Ausgabe der interaktiven Sitzung, ob die FIPS-Kryptografiebibliotheken aktiviert wurden. Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Aktivieren von FIPS beim Hinzufügen eines Linux-Knotenpools wird derzeit im Azure Portal nicht unterstützt. Verwenden Sie zum Hinzufügen eines FIPS-fähigen Linux-Knotenpools die Anweisungen Azure CLI, ARM, Bicep oder Terraform in diesem Artikel.
Erstellen Sie einen FIPS-fähigen Linux-Knotenpool mithilfe einer ARM-Vorlage, indem Sie eine Agentpoolressource bereitstellen, bei der die Eigenschaft
enableFipsauftruegesetzt ist. Beispiel:{ "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 } }Stellen Sie die ARM-Vorlage mithilfe des portals Azure, Azure CLI oder Azure PowerShell bereit. Weitere Informationen zum Bereitstellen von ARM-Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen.
Überprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool fipsnp FIPS-fähig ist:
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListen Sie die Knoten mithilfe des Befehls „
kubectl get nodes“ auf.kubectl get nodesDie folgende Beispielausgabe führt alle Knoten im Cluster auf. Die Knoten, deren Namen mit
aks-fipsnpanfangen, sind Teil des FIPS-fähigen Knotenpools.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.9Führen Sie mithilfe des Befehls „
kubectl debug“ eine Bereitstellung bei einer interaktiven Sitzung auf einem dieser Knoten im FIPS-fähigen Knotenpool.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Überprüfen Sie anhand der Ausgabe der interaktiven Sitzung, ob die FIPS-Kryptografiebibliotheken aktiviert wurden. Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Erstellen Sie einen FIPS-fähigen Linux-Knotenpool mit Bicep, indem Sie eine Agentpoolressource bereitstellen, wobei
enableFIPSauftruefestgelegt ist. Beispiel: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 } }Stellen Sie die Bicep Datei mithilfe der Azure CLI, Azure PowerShell oder des Azure Portals bereit. Weitere Informationen zum Bereitstellen von Bicep Dateien finden Sie unter Create Bicep files using Visual Studio Code.
Überprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool fipsnp FIPS-fähig ist:
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListen Sie die Knoten mithilfe des Befehls „
kubectl get nodes“ auf.kubectl get nodesDie folgende Beispielausgabe führt alle Knoten im Cluster auf. Die Knoten, deren Namen mit
aks-fipsnpanfangen, sind Teil des FIPS-fähigen Knotenpools.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.9Führen Sie mithilfe des Befehls „
kubectl debug“ eine Bereitstellung bei einer interaktiven Sitzung auf einem dieser Knoten im FIPS-fähigen Knotenpool.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Überprüfen Sie anhand der Ausgabe der interaktiven Sitzung, ob die FIPS-Kryptografiebibliotheken aktiviert wurden. Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Fügen Sie den folgenden Code zu
main.tfhinzu, um einen FIPS-fähigen Linux-Knotenpool in Ihrem AKS-Cluster hinzuzufügen: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 = [] }Wenden Sie die aktualisierte Terraform-Konfiguration mit den Befehlen
terraform planundterraform applyan.terraform plan terraform applyStellen Sie mithilfe des Befehls [
az aks get-credentials][az-aks-get-credentials] eine Verbindung mit dem AKS-Cluster her.az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterÜberprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool fipsnp FIPS-fähig ist:
Name enableFips --------- ------------ fipsnp True nodepool1 FalseListen Sie die Knoten mithilfe des Befehls „
kubectl get nodes“ auf.kubectl get nodesDie folgende Beispielausgabe führt alle Knoten im Cluster auf. Die Knoten, deren Namen mit
aks-fipsnpanfangen, sind Teil des FIPS-fähigen Knotenpools.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.9Führen Sie mithilfe des Befehls „
kubectl debug“ eine Bereitstellung bei einer interaktiven Sitzung auf einem dieser Knoten im FIPS-fähigen Knotenpool.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0Überprüfen Sie anhand der Ausgabe der interaktiven Sitzung, ob die FIPS-Kryptografiebibliotheken aktiviert wurden. Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Weitere Informationen zur ressource azurerm_kubernetes_cluster_node_pool finden Sie in der Terraform Azure Anbieterdokumentation.
Hinzufügen eines FIPS-fähigen Windows Knotenpools
In diesem Abschnitt fügen wir einem vorhandenen AKS-Cluster einen Windows Knotenpool hinzu.
Windows Server 2022 und neuere Knotenpools aktivieren FIPS standardmäßig, auch wenn enableFips nicht True angezeigt wird.
Windows Server 2025 und spätere Knotenpools unterstützen das Deaktivieren von FIPS nicht.
Erstellen Sie einen Windows Knotenpool mithilfe des Befehls
az aks nodepool add. Im Gegensatz zu Linux-basierten Knotenpools verwenden Windows Knotenpools denselben Imagesatz.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type WindowsÜberprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableÜberprüfen Sie, ob Windows Knotenpools Zugriff auf FIPS-Kryptografiebibliotheken haben, indem Sie eine RDP-Verbindung mit einem Windows Knoten in einem Knotenpool erstellen und die Registrierung überprüfen. Geben Sie über die Ausführen-Anwendung
regeditein.Suchen Sie in der Registrierung nach
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy.Wenn
Enabledauf 1 festgelegt ist, ist FIPS aktiviert.
FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Es gibt keine Azure Portalumgebung, um FIPS-Einstellungen für Windows Knotenpools zu aktivieren oder zu deaktivieren. Alle Windows Knotenpools, die mit Azure Portal erstellt wurden, sind FIPS aktiviert. Windows Server 2022 und neueren Knotenpools FIPS standardmäßig aktivieren, und Windows Server 2025- und höher-Knotenpools unterstützen das Deaktivieren von FIPS nicht.
Erstellen Sie einen Windows Knotenpool mithilfe einer ARM-Vorlage, indem Sie eine Agentpoolressource bereitstellen, wobei
osTypeaufWindowsfestgelegt ist. Beispiel:{ "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" } }Stellen Sie die ARM-Vorlage mithilfe des portals Azure, Azure CLI oder Azure PowerShell bereit. Weitere Informationen zum Bereitstellen von ARM-Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen.
Überprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableÜberprüfen Sie, ob Windows Knotenpools Zugriff auf FIPS-Kryptografiebibliotheken haben, indem Sie eine RDP-Verbindung mit einem Windows Knoten in einem Knotenpool erstellen und die Registrierung überprüfen. Geben Sie über die Ausführen-Anwendung
regeditein.Suchen Sie in der Registrierung nach
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy.Wenn
Enabledauf 1 festgelegt ist, ist FIPS aktiviert.
FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Erstellen Sie einen Windows Knotenpool mithilfe von Bicep, indem Sie eine Agentpoolressource bereitstellen, wobei
osTypeaufWindowsfestgelegt ist. Beispiel: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 } }Stellen Sie die Bicep Datei mithilfe der Azure CLI, Azure PowerShell oder des Azure Portals bereit. Weitere Informationen zum Bereitstellen von Bicep Dateien finden Sie unter Create Bicep files using Visual Studio Code.
Überprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableÜberprüfen Sie, ob Windows Knotenpools Zugriff auf FIPS-Kryptografiebibliotheken haben, indem Sie eine RDP-Verbindung mit einem Windows Knoten in einem Knotenpool erstellen und die Registrierung überprüfen. Geben Sie über die Ausführen-Anwendung
regeditein.Suchen Sie in der Registrierung nach
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy.Wenn
Enabledauf 1 festgelegt ist, ist FIPS aktiviert.
FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Fügen Sie den folgenden Code zu
main.tfhinzu, um einen Windows-Knotenpool in Ihrem AKS-Cluster zu erstellen.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 = [] }Wenden Sie die aktualisierte Terraform-Konfiguration mit den Befehlen
terraform planundterraform applyan.terraform plan terraform applyStellen Sie mithilfe des Befehls [
az aks get-credentials][az-aks-get-credentials] eine Verbindung mit dem AKS-Cluster her.az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterÜberprüfen Sie die Konfiguration des Knotenpools mithilfe des
az aks showBefehls und der Abfrage nach dem enableFIPS-Wert in "agentPoolProfiles".az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableÜberprüfen Sie, ob Windows Knotenpools Zugriff auf FIPS-Kryptografiebibliotheken haben, indem Sie eine RDP-Verbindung mit einem Windows Knoten in einem Knotenpool erstellen und die Registrierung überprüfen. Geben Sie über die Ausführen-Anwendung
regeditein.Suchen Sie in der Registrierung nach
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy.Wenn
Enabledauf 1 festgelegt ist, ist FIPS aktiviert.
FIPS-fähige Knotenpools haben auch die Bezeichnung kubernetes.azure.com/fips_enabled=true, die von Bereitstellungen für diese Knotenpools verwendet werden können.
Updaten eines vorhandenen Knotenpools zum Aktivieren oder Deaktivieren des FIPS (Vorschau)
Vorhandene Knotenpools können upgedatet werden, um den FIPS zu aktivieren oder zu deaktivieren. Wenn Sie planen, Ihre Knotenpools von Nicht-FIPS zu FIPS zu migrieren, validieren Sie zunächst, ob Ihre Anwendung in einer Testumgebung ordnungsgemäß funktioniert; bevor Sie sie in eine Produktionsumgebung migrieren. Beim Validieren Ihrer Anwendung in einer Testumgebung sollten Probleme vermieden werden, die durch den FIPS-Kernel verursacht werden, der einige schwache Chiffrier- oder Verschlüsselungsalgorithmen blockiert, z. B. einen MD4-Algorithmus, der nicht FIPS-kompatibel ist.
Hinweis
Beim Aktualisieren eines vorhandenen Linux-Knotenpools zum Aktivieren oder Deaktivieren von FIPS wird das Knotenpoolupdate zwischen dem Fips- und dem Nonfips-Image verschoben. Durch dieses Knotenpool-Update wird eine Neuabbildung ausgelöst, um das Update abzuschließen. Dies kann dazu führen, dass die Aktualisierung des Knotenpools einige Minuten dauert.
Voraussetzungen für die Aktualisierung eines vorhandenen Knotenpools
Azure CLI Version 2.64.0 oder höher. Führen Sie az --version aus, um die Version zu finden. Informationen zum Installieren oder Aktualisieren finden Sie unter Install Azure CLI.
Aktivieren des FIPS in einem vorhandenen Knotenpool
Sie können vorhandene Linux-Knotenpools aktualisieren, um FIPS zu aktivieren. Wenn Sie einen vorhandenen Knotenpool aktualisieren, ändert sich das Knotenimage vom aktuellen Image in das empfohlene FIPS-Image derselben Betriebssystem-SKU.
Aktualisieren Sie einen Knotenpool mithilfe des
az aks nodepool updateBefehls mit dem--enable-fips-imageParameter.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-imageDieser Befehl löst sofort eine Neuimage des Knotenpools aus, um das FIPS-kompatible Betriebssystem bereitzustellen. Dieser Reimagingvorgang wird während des Knotenpoolupdates durchgeführt. Es sind keine zusätzlichen Schritte erforderlich.
Überprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool np FIPS-fähig ist:
Name enableFips --------- ------------ np True nodepool1 False
Das Aktivieren von FIPS in einem vorhandenen Knotenpool wird derzeit im Azure Portal nicht unterstützt. Um FIPS in einem vorhandenen Knotenpool zu aktivieren, verwenden Sie die Anweisungen Azure CLI, ARM, Bicep oder Terraform in diesem Artikel.
Aktivieren Sie FIPS in einem vorhandenen Knotenpool mithilfe einer ARM-Vorlage, indem Sie das Agentpoolprofil aktualisieren, um die
enableFipsEigenschaft auf festzulegentrue. Beispiel:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": true } }Stellen Sie die aktualisierte Vorlage mithilfe des portals Azure, Azure CLI oder Azure PowerShell bereit. Weitere Informationen zum Bereitstellen von ARM-Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen.
Überprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool np FIPS-fähig ist:
Name enableFips --------- ------------ np True nodepool1 False
Aktivieren Sie FIPS in einem vorhandenen Knotenpool mithilfe von Bicep, indem Sie die Agentpoolressource aktualisieren, um
enableFIPSauftruefestzulegen. Beispiel:param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: true } }Stellen Sie die aktualisierte Bicep Datei mithilfe der Azure CLI, Azure PowerShell oder des Azure Portals bereit. Weitere Informationen zum Bereitstellen von Bicep Dateien finden Sie unter Create Bicep files using Visual Studio Code.
Stellen Sie sicher, dass ihr Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den enableFIPS-Wert in "agentPoolProfiles" abfragen.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool np FIPS-fähig ist:
Name enableFips --------- ------------ np True nodepool1 False
Aktualisieren Sie die
azurerm_kubernetes_cluster_node_poolRessource inmain.tf, indem Siefips_enabledauftruefestlegen.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 }Wenden Sie die aktualisierte Terraform-Konfiguration mit den Befehlen
terraform planundterraform applyan. Terraform erkennt die Änderung anfips_enabledund löst den notwendigen Reimage-Vorgang aus.terraform plan terraform applyStellen Sie mithilfe des Befehls [
az aks get-credentials][az-aks-get-credentials] eine Verbindung mit dem AKS-Cluster her.az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterÜberprüfen Sie, ob der Knotenpool FIPS-aktiviert ist, indem Sie den
az aks showBefehl und die Abfrage für den enableFIPS-Wert in agentPoolProfiles verwenden.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der Knotenpool np FIPS-fähig ist:
Name enableFips --------- ------------ np True nodepool1 False
Deaktivieren des FIPS in einem vorhandenen Knotenpool
Sie können vorhandene Linux-Knotenpools aktualisieren, um FIPS zu deaktivieren. Beim Aktualisieren eines vorhandenen Knotenpools ändert sich das Knotenimage vom aktuellen FIPS-Image in das empfohlene Nicht-FIPS-Image derselben Betriebssystem-SKU. Die Knotenabbildänderung tritt nach einer Neuabbildung auf.
Aktualisieren Sie einen Linux-Knotenpool mithilfe des
az aks nodepool updateBefehls mit dem--disable-fips-imageParameter.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-imageDieser Befehl löst sofort eine Neuimage des Knotenpools aus, um das FIPS-kompatible Betriebssystem bereitzustellen. Dieser Reimagingvorgang wird während des Knotenpoolupdates durchgeführt. Es sind keine zusätzlichen Schritte erforderlich.
Überprüfen Sie, ob ihr Knotenpool nicht FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den EnableFIPS-Wert in "agentPoolProfiles" abfragen.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der np-Knotenpool nicht FIPS-aktiviert ist.
Name enableFips --------- ------------ np False nodepool1 False
Deaktivieren von FIPS in einem vorhandenen Knotenpool ist derzeit im Azure-Portal nicht unterstützt. Um FIPS in einem vorhandenen Knotenpool zu deaktivieren, verwenden Sie die Anweisungen Azure CLI, ARM, Bicep oder Terraform in diesem Artikel.
Deaktivieren Sie FIPS in einem vorhandenen Knotenpool mithilfe einer ARM-Vorlage, indem Sie das Agentpoolprofil aktualisieren, um die
enableFipsEigenschaft auf festzulegenfalse. Beispiel:{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": false } }Stellen Sie die aktualisierte Vorlage mithilfe des portals Azure, Azure CLI oder Azure PowerShell bereit. Weitere Informationen zum Bereitstellen von ARM-Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen.
Überprüfen Sie, ob ihr Knotenpool nicht FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den EnableFIPS-Wert in "agentPoolProfiles" abfragen.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der np-Knotenpool nicht FIPS-aktiviert ist.
Name enableFips --------- ------------ np False nodepool1 False
Deaktivieren Sie FIPS für einen vorhandenen Knotenpool mithilfe von Bicep, indem Sie die Agentpoolressource aktualisieren, um
enableFIPSauffalsefestzulegen. Beispiel:param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: false } }Stellen Sie die aktualisierte Bicep Datei mithilfe der Azure CLI, Azure PowerShell oder des Azure Portals bereit. Weitere Informationen zum Bereitstellen von Bicep Dateien finden Sie unter Create Bicep files using Visual Studio Code.
Überprüfen Sie, ob ihr Knotenpool nicht FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den EnableFIPS-Wert in "agentPoolProfiles" abfragen.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der np-Knotenpool nicht FIPS-aktiviert ist.
Name enableFips --------- ------------ np False nodepool1 False
Aktualisieren Sie die Ressource
azurerm_kubernetes_cluster_node_poolinmain.tf, indem Siefips_enabledauffalsefestlegen: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 }Wenden Sie die aktualisierte Terraform-Konfiguration mit den Befehlen
terraform planundterraform applyan. Terraform erkennt die Änderung anfips_enabledund löst den notwendigen Neuabbildungsvorgang aus.terraform plan terraform applyÜberprüfen Sie, ob ihr Knotenpool nicht FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den EnableFIPS-Wert in "agentPoolProfiles" abfragen.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableDie folgende Beispielausgabe zeigt, dass der np-Knotenpool nicht FIPS-aktiviert ist.
Name enableFips --------- ------------ np False nodepool1 False
Nachricht des Tages
Sie können die Nachricht des Tages (MOTD) auf Linux-Knoten mithilfe der --message-of-the-day Kennzeichnung ersetzen, wenn Sie einen Cluster erstellen oder einen Knotenpool hinzufügen.
Erstellen Sie einen Cluster und ersetzen Sie die Nachricht des Tages (MOTD) mithilfe des Befehls az aks create, wobei das Kennzeichen --message-of-the-day auf den Pfad der neuen MOTD-Datei festgelegt ist.
az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Fügen Sie einen Knotenpool hinzu und ersetzen Sie die Nachricht des Tages, indem Sie den az aks nodepool add-Befehl verwenden und das --message-of-the-day-Flag auf den Pfad der neuen MOTD-Datei festlegen.
az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Verwandte Inhalte
Weitere Informationen zur AKS-Sicherheit finden Sie unter Best practices for cluster security and upgrades in Azure Kubernetes Service (AKS).