Federal Information Processing Standard (FIPS) für Azure Kubernetes Service (AKS)-Cluster aktivieren (Vorschau)

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 --version aus, 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-preview Azure CLI Erweiterung. Die Parameter --enable-fips und --disable-fips sind nur in der aks-preview Erweiterung verfügbar. Anweisungen finden Sie unter Installieren der aks-preview Azure CLI-Erweiterung.
  • Die k8s-extension Azure CLI-Erweiterung wird zum Auflisten und Entfernen von Clustererweiterungen verwendet. Installieren Sie es, indem Sie ausführen az extension add --upgrade --name k8s-extension.
  • kubectl installiert. Sie können es lokal mithilfe des az aks install-cli Befehls installieren.
  • Das Feature-Flag EnableFIPSPreview ist für Ihr Abonnement registriert. Anweisungen finden Sie unter Registrieren Sie das EnableFIPSPreview Feature-Flag.
  • Kubernetes, Version 1.35.0 oder höher. Verwenden Sie den az aks get-versions Befehl, 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-preview oder höher für Microsoft.ContainerService/managedClusters und Microsoft.ContainerService/managedClusters/agentPools.

Installieren Sie die aks-preview Azure CLI-Erweiterung

  1. Installieren Sie die aks-preview Erweiterung mithilfe des az extension add Befehls.

    az extension add --name aks-preview
    
  2. Aktualisieren Sie die Erweiterung mithilfe des Befehls az extension update auf 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

  1. Registrieren Sie das EnableFIPSPreview Feature-Flag mithilfe des az feature register Befehls.

    az feature register --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"
    

    Es dauert einige Minuten, bis der Status Registered (Registriert) angezeigt wird.

  2. Überprüfen Sie den Registrierungsstatus mithilfe des az feature show Befehls.

    az feature show --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"
    
  3. Wenn der Status "Registriert" angezeigt wird, aktualisieren Sie die Registrierung des Microsoft.ContainerService Ressourcenanbieters mithilfe des az provider register Befehls.

    az provider register --namespace Microsoft.ContainerService
    

Limitations

Die folgenden Einschränkungen gelten beim Verwenden von FIPS-aktivierten AKS-Clustern.

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-metrics
az aks disable-addons --addons monitoring
az 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.

  1. Erstellen Sie einen FIPS-fähigen AKS-Cluster mithilfe des az aks create Befehls mit dem --enable-fips Parameter.

    az aks create \
        --name $CLUSTER_NAME \
        --resource-group $RESOURCE_GROUP \
        --kubernetes-version 1.35 \
        --enable-fips \
        --generate-ssh-keys
    
  2. Überprüfen Sie, ob Ihr Cluster FIPS-aktiviert ist, indem Sie den az aks show Befehl 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
    

    Wenn der Befehl nicht true zurückgibt, haben Sie die aks-preview Erweiterung beim Erstellen des Clusters nicht installiert. Ohne die Erweiterung behandelt die Azure CLI --enable-fips als --enable-fips-image und aktiviert FIPS nur im Standardknotenpool. Installieren Sie die aks-preview Erweiterung, und aktivieren Sie dann FIPS auf dem vorhandenen Cluster.

  3. 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 table
    

    Die 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.

  1. 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.

  2. 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 enableFips ist auf False gesetzt, sofern Sie diese nicht manuell festlegen. Führen Sie az aks nodepool update --enable-fips-image auch für diese Knotenpools aus. Für diese Knotenpools legt das Update die Eigenschaft fest und ändert das Knotenimage nicht.

  3. 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 list Befehl, um die Erweiterungen in Ihrem Cluster auflisten zu können. Verwenden Sie den az k8s-extension delete Befehl, 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 table
    

    Note

    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.

  1. Aktualisieren Sie einen AKS-Cluster mithilfe des az aks update Befehls mit dem --enable-fips Parameter.

    az aks update \
        --name $CLUSTER_NAME \
        --resource-group $RESOURCE_GROUP \
        --enable-fips
    
  2. Überprüfen Sie, ob Ihr Cluster FIPS-aktiviert ist, indem Sie den az aks show Befehl 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.

  1. Aktualisieren Sie einen AKS-Cluster mithilfe des az aks update Befehls mit dem --disable-fips Parameter.

    az aks update \
        --name $CLUSTER_NAME \
        --resource-group $RESOURCE_GROUP \
        --disable-fips
    
  2. Stellen Sie sicher, dass Ihr Cluster nicht FIPS-aktiviert ist, indem Sie den Befehl az aks show verwenden 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