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) ist ein US-Regierungsstandards, der mindestsicherheitsanforderungen für kryptografische Module in Informationstechnologieprodukten und -systemen definiert. In diesem Artikel wird beschrieben, wie Sie den FIPS-Modus auf Clusterebene für Azure Kubernetes Service (AKS) aktivieren. FIPS auf Clusterebene erzwingt, dass jeder Knotenpool im Cluster ein FIPS-fähiges Betriebssystemimage verwendet und AKS-verwaltete Komponenten blockiert, die nicht FIPS-kompatibel sind. Diese Funktion ist für Kunden mit Complianceanforderungen wie FedRAMP vorgesehen, die eine einzige, deklarative Methode benötigen, um die FIPS-Nutzung über ihren AKS-Cluster hinweg sicherzustellen. Weitere Informationen zu FIPS finden Sie unter Federal Information Processing Standard (FIPS) 140.
Important
AKS-Preview-Funktionen stehen auf Selbstbedienungs- und Opt-in-Basis zur Verfügung. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Was ist FIPS-Modus in AKS?
FIPS 140-2/140-3 definiert us-amerikanische Regierungsstandards für kryptografische Module. Wenn Sie den FIPS-Modus auf einem AKS-Cluster aktivieren:
- Alle Knotenpools im Cluster, einschließlich Windows Knotenpools, müssen FIPS-fähige Betriebssystemimages verwenden.
- AKS blockiert die Erstellung von Nicht-FIPS-Knotenpools.
- AKS blockiert AKS-verwaltete Add-Ons, Features und Erweiterungen, die nicht auf FIPS-Konformität validiert sind.
FIPS (properties.enableFIPSClusterebene) ist von FIPS in einzelnen Knotenpools (enableFIPS auf jedem Agentpool) getrennt. FIPS auf Clusterebene erfordert, dass jeder Knotenpool FIPS aktiviert ist, aber das Deaktivieren von FIPS auf Clusterebene deaktiviert FIPS nicht in Ihren Knotenpools. Weitere Informationen zu FIPS-fähigen Knotenpools finden Sie unter Aktivieren von FIPS für AKS-Knotenpools.
Important
DER FIPS-Modus gilt für AKS-verwaltete Infrastruktur und Komponenten. Kunden bleiben dafür verantwortlich, dass ihre eigenen Anwendungscontainer FIPS-kompatible Kryptografie verwenden.
Prerequisites
- Ein aktives Azure-Abonnement. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Azure CLI Version 2.86.0 oder höher ist 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. - Die neueste Version der
aks-previewAzure CLI Erweiterung. Die Parameter--enable-fipsund--disable-fipssind nur in deraks-previewErweiterung verfügbar. Anweisungen finden Sie unter Installieren deraks-previewAzure CLI-Erweiterung. - Die
k8s-extensionAzure CLI-Erweiterung wird zum Auflisten und Entfernen von Clustererweiterungen verwendet. Installieren Sie es, indem Sie ausführenaz extension add --upgrade --name k8s-extension. -
kubectl installiert. Sie können es lokal mithilfe des
az aks install-cliBefehls installieren. - Das Feature-Flag
EnableFIPSPreviewist für Ihr Abonnement registriert. Anweisungen finden Sie unter Registrieren Sie dasEnableFIPSPreviewFeature-Flag. - Kubernetes, Version 1.35.0 oder höher. Verwenden Sie den
az aks get-versionsBefehl, um die in Ihrer Region verfügbaren Versionen anzuzeigen. Ein FIPS-fähiger Cluster, der auf einer früheren Version basiert, fällt nicht unter die Ausnahmeregelung: AKS lehnt jede Aktualisierung des Clusters ab, bis Sie ihn auf Version 1.35.0 oder höher aktualisieren oder FIPS deaktivieren. - Wenn Sie Azure Resource Manager (ARM)-Vorlagen oder die REST-API verwenden, verwenden Sie die API-Version
2026-03-02-previewoder höher fürMicrosoft.ContainerService/managedClustersundMicrosoft.ContainerService/managedClusters/agentPools.
Installieren Sie die aks-preview Azure CLI-Erweiterung
Installieren Sie die
aks-previewErweiterung mithilfe desaz extension addBefehls.az extension add --name aks-previewAktualisieren Sie die Erweiterung mithilfe des Befehls
az extension updateauf die neueste Version.az extension update --name aks-preview
Festlegen von Umgebungsvariablen
Legen Sie die folgenden Umgebungsvariablen für die Ressourcen fest, die Sie in diesem Artikel verwenden. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen Werte. Legen Sie dann ihren Abonnementkontext mithilfe des az account set Befehls fest.
export SUBSCRIPTION_ID="<subscription-id>"
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export NODE_POOL_NAME="fipsnp"
az account set --subscription $SUBSCRIPTION_ID
Registriere die EnableFIPSPreview-Feature-Flag
Registrieren Sie das
EnableFIPSPreviewFeature-Flag mithilfe desaz feature registerBefehls.az feature register --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Es dauert einige Minuten, bis der Status Registered (Registriert) angezeigt wird.
Überprüfen Sie den Registrierungsstatus mithilfe des
az feature showBefehls.az feature show --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Wenn der Status "Registriert" angezeigt wird, aktualisieren Sie die Registrierung des
Microsoft.ContainerServiceRessourcenanbieters mithilfe desaz provider registerBefehls.az provider register --namespace Microsoft.ContainerService
Limitations
Die folgenden Einschränkungen gelten beim Verwenden von FIPS-aktivierten AKS-Clustern.
Einige von AKS verwaltete Komponenten sind nicht FIPS-kompatibel und werden auf FIPS-fähigen Clustern blockiert. Für die Liste siehe Blockierte Komponenten.
Knotenpools, die eine Kata-Workload-Laufzeit (
KataVmIsolation,KataCcIsolationoderKataMshvVmIsolation) verwenden, werden nicht unterstützt.Knotenpools, die die benutzerdefinierte CA-Vertrauenseinstellung auf Poolebene (
enableCustomCATrust) verwenden, werden nicht unterstützt. Verwenden Sie stattdessen das benutzerdefinierte Zertifizierungsstellenvertrauen auf Cluster-Ebene.Alle für FIPS-fähigen Knotenpools dokumentierten Einschränkungen gelten auch für FIPS-fähige Cluster, einschließlich Betriebssystem-, Image- und Upgradeeinschränkungen. Ausführliche Informationen finden Sie unter Enable Federal Information Processing Standard (FIPS) für Azure Kubernetes Service (AKS) Knotenpools.
Blockierte Komponenten
Einige von AKS verwaltete Komponenten basieren noch nicht auf FIPS-kompatiblen kryptografischen Bibliotheken. Sie können diese Komponenten nicht auf einem FIPS-aktivierten Cluster aktivieren, und Sie können FIPS nicht für einen Cluster aktivieren, der sie verwendet. In der folgenden Tabelle sind die blockierten Komponenten und der Befehl Azure CLI aufgeführt, um die einzelnen Komponenten zu deaktivieren. Fügen Sie az aks zu jedem --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME-Befehl hinzu.
Important
Diese Liste gilt nur für von AKS verwaltete Komponenten. Kundenanwendungscontainer werden von AKS nicht validiert.
| Blockierte Komponente | Befehl deaktivieren |
|---|---|
cost-analysis |
az aks update --disable-cost-analysis |
approuting |
az aks approuting disable |
defender (Microsoft Defender for Containers-Sicherheitsüberwachung) |
az aks update --disable-defender |
azure-monitor (verwaltete Prometheus-Metriken, Containereinblicke und Anwendungsüberwachung) |
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 |
Sie können Cilium nicht aus einem vorhandenen Cluster entfernen. Erstellen Sie einen neuen Cluster. |
acns-observability |
az aks update --disable-acns oder az aks update --disable-acns-observability |
OpenServiceMesh |
az aks disable-addons --addons open-service-mesh |
kaito |
az aks update --disable-ai-toolchain-operator |
Istio-basiertes Service-Mesh-Add-on – Versionen vor asm-1-26 |
Führen Sie ein Upgrade auf Revision asm-1-26 oder höher durch. Anleitungen finden Sie unter Istio-basiertes Service-Mesh-Add-on aktualisieren. |
| Windows GPU-Treiberinstallation | Um einen Windows GPU-Knotenpool hinzuzufügen, überspringen Sie die Treiberinstallation mithilfe von --gpu-driver none. |
| Clustererweiterungen, die nicht FIPS-kompatibel sind, z. B. Flux (GitOps). Siehe die FIPS-Spalte in der Erweiterungsfunktionsmatrix. | az k8s-extension delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type managedClusters --name <extension-name> |
Wenn eine Automatisierung, z. B. eine Azure Policy-Zuordnung, versucht, eine Erweiterung zu installieren, die nicht FIPS-konform ist, auf einem FIPS-fähigen Cluster, lehnt AKS die Installation ab, und die Erweiterung zeigt einen Failed Bereitstellungsstatus an. Der Cluster ist nicht betroffen.
Erstellen eines FIPS-aktivierten AKS-Clusters
Sie können FIPS aktivieren, wenn Sie den Cluster mithilfe des --enable-fips Flags erstellen. Der Cluster kann keine der blockierten Komponenten verwenden.
Erstellen Sie einen FIPS-fähigen AKS-Cluster mithilfe des
az aks createBefehls mit dem--enable-fipsParameter.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --kubernetes-version 1.35 \ --enable-fips \ --generate-ssh-keysÜberprüfen Sie, ob Ihr Cluster FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den Wert enableFips abfragen.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"Die folgende Beispielausgabe zeigt, dass Ihr Cluster FIPS-aktiviert ist:
trueWenn der Befehl nicht
truezurückgibt, haben Sie dieaks-previewErweiterung beim Erstellen des Clusters nicht installiert. Ohne die Erweiterung behandelt die Azure CLI--enable-fipsals--enable-fips-imageund aktiviert FIPS nur im Standardknotenpool. Installieren Sie dieaks-previewErweiterung, und aktivieren Sie dann FIPS auf dem vorhandenen Cluster.Das Erstellen eines FIPS-fähigen Clusters erstellt automatisch einen FIPS-fähigen Knotenpool. Sie können dies überprüfen, indem Sie mithilfe des
az aks show-Befehls die Konfiguration des Knotenpools überprüfen und in agentPoolProfiles nach dem Wert enableFips suchen.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "agentPoolProfiles[].{Name:name, enableFips:enableFips}" \ --output tableDie folgende Beispielausgabe zeigt, dass der Standardknotenpool FIPS-aktiviert ist:
Name EnableFips --------- ---------- nodepool1 True
Aktualisieren eines vorhandenen AKS-Clusters zum Aktivieren oder Deaktivieren von FIPS
Um FIPS für einen vorhandenen Cluster zu aktivieren, bereiten Sie zuerst den Cluster vor, und aktualisieren Sie ihn dann.
Vorbereiten Ihres Clusters für FIPS
Führen Sie die folgenden Schritte aus, bevor Sie FIPS auf Clusterebene aktivieren.
Stellen Sie sicher, dass auf dem Cluster Kubernetes-Version 1.35.0 oder höher ausgeführt wird. Wenn Ihr Cluster eine frühere Version ausführt, führen Sie zuerst ein Upgrade des Clusters durch. Anweisungen finden Sie unter Einen AKS-Cluster aktualisieren.
Stellen Sie sicher, dass jeder Knotenpool FIPS-aktiviert ist. Aktualisieren Sie jeden Nicht-FIPS-Knotenpool so, dass FIPS-fähige Images verwendet werden. Anweisungen finden Sie unter Aktualisieren eines vorhandenen Knotenpools zum Aktivieren oder Deaktivieren von FIPS.
Die Ausführung der Knotenpools unter Windows Server 2022 erfolgt bereits mit aktivierter FIPS-Funktion im Betriebssystem, doch ihre Eigenschaft
enableFipsist aufFalsegesetzt, sofern Sie diese nicht manuell festlegen. Führen Sieaz aks nodepool update --enable-fips-imageauch für diese Knotenpools aus. Für diese Knotenpools legt das Update die Eigenschaft fest und ändert das Knotenimage nicht.Deaktivieren oder entfernen Sie jede Komponente, die in blockierten Komponenten aufgeführt ist, einschließlich Clustererweiterungen, die nicht FIPS-kompatibel sind. Verwenden Sie den
az k8s-extension listBefehl, um die Erweiterungen in Ihrem Cluster auflisten zu können. Verwenden Sie denaz k8s-extension deleteBefehl, um eine Erweiterung zu entfernen. Weitere Informationen finden Sie unter Verwalten von AKS-Erweiterungen.az k8s-extension list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --cluster-type managedClusters \ --query "[].{name:name, extensionType:extensionType, state:provisioningState}" \ --output tableNote
Eine Erweiterung kann nach der Clustererstellung automatisch installiert werden, z. B. durch eine Azure Policy Zuordnung. Listen Sie die Erweiterungen erneut auf, direkt bevor Sie FIPS aktivieren. Wenn eine Zuordnung weiterhin eine Erweiterung installiert, die nicht FIPS-kompatibel ist, nehmen Sie den Cluster von dieser Zuordnung aus.
Aktualisieren eines vorhandenen Clusters zum Aktivieren von FIPS
Nachdem Sie Den Cluster vorbereitet haben, aktivieren Sie FIPS. Wenn der Cluster keine Anforderung erfüllt, lehnt AKS das Update ab, und die Fehlermeldung beschreibt die Ursache. Hilfe finden Sie unter Problembehandlung bei FIPS-Fehlern auf Clusterebene.
Aktualisieren Sie einen AKS-Cluster mithilfe des
az aks updateBefehls mit dem--enable-fipsParameter.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --enable-fipsÜberprüfen Sie, ob Ihr Cluster FIPS-aktiviert ist, indem Sie den
az aks showBefehl verwenden und den Wert enableFips abfragen.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"Die folgende Beispielausgabe zeigt, dass Ihr Cluster FIPS-aktiviert ist:
true
Aktualisieren eines vorhandenen Clusters zum Deaktivieren von FIPS
Sie können einen vorhandenen Cluster aktualisieren, um FIPS zu deaktivieren. Wenn Sie den FIPS-Modus deaktivieren:
- Die FIPS-Erzwingung auf Clusterebene wird entfernt.
- Vorhandene Knotenpools werden nicht geändert.
- Sie können sowohl FIPS- als auch Nicht-FIPS-Knotenpools im selben Cluster ausführen.
- Sie können AKS-Erweiterungen und Add-Ons bereitstellen, die bei aktiviertem FIPS zuvor blockiert waren.
- Neue Knotenpools müssen nicht mehr FIPS-aktiviert sein.
Note
Durch das Deaktivieren von FIPS werden FIPS-fähige Knotenpools nicht automatisch in nicht FIPS-fähige Knotenpools umgewandelt. Bei Bedarf können Sie Knotenpools einzeln aktualisieren. Anweisungen finden Sie unter Deaktivieren von FIPS in einem vorhandenen Knotenpool. Windows Server 2025-Knotenpools können FIPS nicht deaktivieren.
Aktualisieren Sie einen AKS-Cluster mithilfe des
az aks updateBefehls mit dem--disable-fipsParameter.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --disable-fipsStellen Sie sicher, dass Ihr Cluster nicht FIPS-aktiviert ist, indem Sie den Befehl
az aks showverwenden und den enableFips-Wert abfragen.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"Die folgende Beispielausgabe zeigt, dass Ihr Cluster nicht FIPS aktiviert ist:
false
Einem FIPS-fähigen AKS-Cluster einen Knotenpool hinzufügen
Jeder neue Knotenpool in einem FIPS-fähigen Cluster muss FIPS-aktiviert sein. Fügen Sie einen Knotenpool mithilfe des az aks nodepool add Befehls mit dem --enable-fips-image Parameter hinzu. Wenn Sie --enable-fips-image weglassen, lehnt AKS die Anfrage ab.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--enable-fips-image
Behandeln von FIPS-Fehlern auf Clusterebene
Wenn eine Anforderung mit FIPS auf Clusterebene in Konflikt tritt, lehnt AKS sie in der Regel mit einem BadRequest Fehler ab, der die Ursache beschreibt. Allgemeine Fehlermeldungen und deren Behebung finden Sie unter Problembehandlung von FIPS-Fehlern auf Clusterebene in AKS.
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe und alle zugehörigen Ressourcen mithilfe des az group delete Befehls.
az group delete --name $RESOURCE_GROUP --yes --no-wait