Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Federal Information Processing Standard (FIPS) è uno standard del governo degli Stati Uniti che definisce i requisiti minimi di sicurezza per i moduli crittografici nei prodotti e nei sistemi informatici. Questo articolo descrive come abilitare la modalità FIPS a livello di cluster per Servizio Azure Kubernetes (AKS). FIPS a livello di cluster impone che ogni pool di nodi nel cluster usi un'immagine del sistema operativo abilitata per FIPS e blocchi i componenti gestiti da AKS non conformi a FIPS. Questa funzionalità è destinata ai clienti con requisiti di conformità, ad esempio FedRAMP, che necessitano di un unico modo dichiarativo per garantire l'utilizzo di FIPS nel cluster AKS. Per altre informazioni su FIPS, vedere Federal Information Processing Standard (FIPS) 140.
Importante
Le funzionalità in anteprima di AKS sono disponibili in modalità self-service, su base volontaria. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime di AKS sono coperte solo parzialmente dall'assistenza clienti nei limiti del possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:
Che cos'è la modalità FIPS in AKS?
FIPS 140-2/140-3 definisce gli standard del governo degli Stati Uniti per i moduli crittografici. Quando si abilita la modalità FIPS in un cluster del servizio Azure Kubernetes:
- Tutti i pool di nodi nel cluster, inclusi i pool di nodi Windows, devono usare immagini del sistema operativo abilitate per FIPS.
- Il servizio Azure Kubernetes blocca la creazione di pool di nodi non FIPS.
- AKS blocca componenti aggiuntivi, funzionalità ed estensioni gestiti da AKS che non sono convalidati per la conformità FIPS.
FiPS a livello di cluster (properties.enableFIPS) è separato da FIPS in singoli pool di nodi (enableFIPS in ogni pool di agenti). FiPS a livello di cluster richiede che ogni pool di nodi sia abilitato per FIPS, ma la disabilitazione di FIPS a livello di cluster non disabilita FIPS nei pool di nodi. Per altre informazioni sui pool di nodi abilitati per FIPS, vedere Abilitare FIPS per i pool di nodi del servizio Azure Kubernetes.
Importante
La modalità FIPS si applica a infrastruttura e componenti gestiti da AKS. I clienti rimangono responsabili di garantire che i propri container di applicazioni usino la crittografia conforme a FIPS.
Prerequisites
- Una sottoscrizione di Azure attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- interfaccia della riga di comando di Azure versione 2.86.0 o successiva installata e configurata. Per trovare la versione, eseguire
az --version. Per altre informazioni sull'installazione o l'aggiornamento della interfaccia della riga di comando di Azure, vedere Installare interfaccia della riga di comando di Azure. - L'ultima versione dell'
aks-previewestensione dell'interfaccia della riga di comando di Azure. I parametri--enable-fipse--disable-fipssono disponibili solo nell'estensioneaks-preview. Per istruzioni, vedere Installare l'estensioneaks-previewinterfaccia della riga di comando di Azure. - L'estensione
k8s-extensioninterfaccia della riga di comando di Azure, usata per elencare e rimuovere le estensioni del cluster. Installala eseguendoaz extension add --upgrade --name k8s-extension. -
kubectl installato. È possibile installarlo in locale usando il
az aks install-clicomando . - Il flag di funzionalità
EnableFIPSPreviewregistrato nella tua sottoscrizione. Per le istruzioni, vedere Registrare ilEnableFIPSPreviewfeature flag. - Kubernetes versione 1.35.0 o successiva. Per visualizzare le versioni disponibili nella tua regione, usare il comando
az aks get-versions. Un cluster abilitato per FIPS in una versione precedente non è coperto da alcuna eccezione: il servizio Azure Kubernetes rifiuta ogni aggiornamento al cluster fino a quando non viene aggiornato alla versione 1.35.0 o successiva o non viene disabilitato FIPS. - Se si usano modelli di Azure Resource Manager (ARM) o l'API REST, usare la versione dell'API
2026-03-02-previewo successiva perMicrosoft.ContainerService/managedClusterseMicrosoft.ContainerService/managedClusters/agentPools.
Installare l'estensione aks-preview interfaccia della riga di comando di Azure
Installare l'estensione
aks-previewusando ilaz extension addcomando .az extension add --name aks-previewEseguire l'aggiornamento alla versione più recente dell'estensione usando il
az extension updatecomando .az extension update --name aks-preview
Impostare le variabili di ambiente
Impostare le variabili di ambiente seguenti per le risorse usate in questo articolo. Sostituire i valori segnaposto con i propri. Impostare quindi il contesto della sottoscrizione usando il az account set comando .
export SUBSCRIPTION_ID="<subscription-id>"
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export NODE_POOL_NAME="fipsnp"
az account set --subscription $SUBSCRIPTION_ID
Registrare il flag di funzionalità EnableFIPSPreview
Registra il feature flag
EnableFIPSPreviewusando il comandoaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Sono necessari alcuni minuti per visualizzare lo stato Registered.
Verificare lo stato della registrazione usando il
az feature showcomando .az feature show --namespace "Microsoft.ContainerService" --name "EnableFIPSPreview"Quando lo stato è Registrato, aggiornare la registrazione del
Microsoft.ContainerServiceprovider di risorse usando ilaz provider registercomando .az provider register --namespace Microsoft.ContainerService
Limitations
Quando si usano cluster del servizio Azure Kubernetes abilitati per FIPS, si applicano le limitazioni seguenti.
Alcuni componenti gestiti da AKS non sono conformi a FIPS e sono bloccati nei cluster abilitati per FIPS. Per l'elenco, vedere Componenti bloccati.
I pool di nodi che usano un runtime del carico di lavoro Kata (
KataVmIsolation,KataMshvVmIsolationoKataCcIsolation) non sono supportati.I pool di nodi che usano l'impostazione di attendibilità della CA personalizzata a livello di pool di nodi di anteprima (
enableCustomCATrust) non sono supportati. Usare invece l'attendibilità dell'autorità di certificazione personalizzata a livello di cluster .Tutte le limitazioni documentate per i pool di nodi abilitati per FIPS si applicano anche ai cluster abilitati per FIPS, inclusi vincoli di sistema operativo, immagine e aggiornamento. Per informazioni dettagliate, vedere Abilitare FIPS (Federal Information Processing Standard) per i pool di nodi Servizio Azure Kubernetes (AKS).
Componenti bloccati
Alcuni componenti gestiti da AKS non sono ancora compilati con librerie di crittografia conformi a FIPS. Non è possibile abilitare questi componenti in un cluster abilitato per FIPS e non è possibile abilitare FIPS in un cluster che li usa. Nella tabella seguente sono elencati i componenti bloccati e il comando interfaccia della riga di comando di Azure per disabilitare ognuno di essi. Aggiungere --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME a ogni az aks comando.
Importante
Questo elenco si applica solo ai componenti gestiti da AKS. I contenitori di applicazioni del cliente non vengono convalidati da AKS.
| Componente bloccato | Disabilita comando |
|---|---|
cost-analysis |
az aks update --disable-cost-analysis |
approuting |
az aks approuting disable |
defender (monitoraggio della sicurezza di Microsoft Defender for Containers) |
az aks update --disable-defender |
azure-monitor (metriche di Prometheus gestite, informazioni dettagliate sui contenitori e monitoraggio delle applicazioni) |
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 |
Non è possibile rimuovere Cilium da un cluster esistente. Creare un nuovo cluster. |
acns-observability |
az aks update --disable-acns oppure az aks update --disable-acns-observability |
OpenServiceMesh |
az aks disable-addons --addons open-service-mesh |
kaito |
az aks update --disable-ai-toolchain-operator |
Revisioni del componente aggiuntivo service mesh basato su Istio precedenti a asm-1-26 |
Eseguire l'aggiornamento alla revisione asm-1-26 o successiva. Per istruzioni, vedere Aggiornare il componente aggiuntivo Service Mesh basato su Istio. |
| Installazione del driver GPU di Windows | Per aggiungere un pool di nodi GPU Windows, ignorare l'installazione del driver usando --gpu-driver none. |
| Estensioni del cluster non conformi a FIPS, ad esempio Flux (GitOps). Vedere la colonna FIPS nella matrice delle funzionalità di estensione. | az k8s-extension delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type managedClusters --name <extension-name> |
Se un'automazione, ad esempio un'assegnazione di Criteri di Azure, tenta di installare un'estensione non conforme a FIPS in un cluster abilitato per FIPS, AKS rifiuta l'installazione e l'estensione mostra uno Failed stato di provisioning. Il cluster non è interessato.
Creare un cluster del servizio Azure Kubernetes abilitato per FIPS
È possibile abilitare FIPS quando si crea il cluster usando il --enable-fips flag . Il cluster non può usare nessuno dei componenti bloccati.
Creare un cluster AKS abilitato per FIPS usando il
az aks createcomando con il--enable-fipsparametro.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --kubernetes-version 1.35 \ --enable-fips \ --generate-ssh-keysVerificare che il cluster sia abilitato per FIPS usando il
az aks showcomando e la query per il valore enableFips .az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L'output di esempio seguente mostra che il cluster è abilitato per FIPS:
trueSe il comando non restituisce
true, non è stata installata l'estensioneaks-previewal momento della creazione del cluster. Senza l'estensione, il interfaccia della riga di comando di Azure considera--enable-fipscome--enable-fips-imagee abilita FIPS solo nel pool di nodi predefinito. Installare l'estensioneaks-previewe quindi abilitare FIPS nel cluster esistente.La creazione di un cluster abilitato per FIPS crea automaticamente un pool di nodi abilitato per FIPS. È possibile verificarlo esaminando la configurazione del pool di nodi usando il
az aks showcomando e la query per il valore enableFips in agentPoolProfiles.az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "agentPoolProfiles[].{Name:name, enableFips:enableFips}" \ --output tableL'output di esempio seguente mostra che il pool di nodi predefinito è abilitato per FIPS:
Name EnableFips --------- ---------- nodepool1 True
Aggiornare un cluster AKS esistente per abilitare o disabilitare FIPS
Per abilitare FIPS in un cluster esistente, preparare prima il cluster e quindi aggiornarlo.
Prepara il cluster per FIPS
Completare i passaggi seguenti prima di abilitare FIPS a livello di cluster.
Assicurarsi che il cluster esegua Kubernetes versione 1.35.0 o successiva. Se il cluster esegue una versione precedente, aggiornare prima il cluster. Per istruzioni, vedere Aggiornare un cluster AKS.
Assicurarsi che ogni pool di nodi sia abilitato per FIPS. Aggiornare ogni pool di nodi non FIPS per usare immagini abilitate per FIPS. Per istruzioni, vedere Aggiornare un pool di nodi esistente per abilitare o disabilitare FIPS.
i pool di nodi di Windows Server 2022 sono già in esecuzione con FIPS abilitato nel sistema operativo, ma la relativa proprietà
enableFipsèFalse, a meno che non la si imposti. Eseguiaz aks nodepool update --enable-fips-imageanche in questi pool di nodi. Per questi pool di nodi, l'aggiornamento imposta la proprietà e non modifica l'immagine dei nodi.Disabilitare o rimuovere ogni componente elencato in Componenti bloccati, incluse le estensioni del cluster non conformi a FIPS. Per elencare le estensioni nel cluster, usare il
az k8s-extension listcomando . Per rimuovere un'estensione, usare ilaz k8s-extension deletecomando . Per altre informazioni, vedere Gestire le estensioni di AKS.az k8s-extension list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --cluster-type managedClusters \ --query "[].{name:name, extensionType:extensionType, state:provisioningState}" \ --output tableNote
Un'estensione può essere installata automaticamente dopo la creazione del cluster, ad esempio da un'assegnazione Criteri di Azure. Elencare di nuovo le estensioni prima di abilitare FIPS. Se un'assegnazione continua a installare un'estensione non conforme a FIPS, esentare il cluster da tale assegnazione.
Aggiornare un cluster esistente per abilitare FIPS
Dopo aver preparato il cluster, abilitare FIPS. Se il cluster non soddisfa un requisito, il servizio Azure Kubernetes rifiuta l'aggiornamento e il messaggio di errore descrive la causa. Per informazioni, vedere Risolvere gli errori FIPS a livello di cluster.
Aggiornare un cluster AKS usando il comando
az aks updatecon il parametro--enable-fips.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --enable-fipsVerificare che il cluster sia abilitato per FIPS usando il
az aks showcomando e la query per il valore enableFips .az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L'output di esempio seguente mostra che il cluster è abilitato per FIPS:
true
Aggiornare un cluster esistente per disabilitare FIPS
È possibile aggiornare un cluster esistente per disabilitare FIPS. Quando si disabilita la modalità FIPS:
- L'applicazione di FIPS a livello di cluster è stata rimossa.
- I pool di nodi esistenti non vengono modificati.
- È possibile eseguire pool di nodi FIPS e non FIPS nello stesso cluster.
- È possibile distribuire estensioni e componenti aggiuntivi del servizio Azure Kubernetes bloccati in precedenza quando FIPS era abilitato.
- I nuovi pool di nodi non devono più essere abilitati per FIPS.
Note
La disabilitazione di FIPS non converte automaticamente i pool di nodi abilitati per FIPS in pool non FIPS. Se necessario, è possibile aggiornare i pool di nodi singolarmente. Per istruzioni, vedere Disabilitare FIPS in un pool di nodi esistente. I pool di nodi di Windows Server 2025 non possono disabilitare FIPS.
Aggiornare un cluster AKS usando il comando
az aks updatecon il parametro--disable-fips.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --disable-fipsVerificare che il cluster non sia abilitato per FIPS usando il
az aks showcomando e la query per il valore enableFips .az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "enableFips"L'output di esempio seguente mostra che il cluster non è abilitato per FIPS:
false
Aggiungere un pool di nodi a un cluster del servizio Azure Kubernetes abilitato per FIPS
Ogni nuovo pool di nodi in un cluster abilitato per FIPS deve essere abilitato per FIPS. Aggiungere un pool di nodi usando il az aks nodepool add comando con il --enable-fips-image parametro . Se si omette --enable-fips-image, il servizio Azure Kubernetes rifiuta la richiesta.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--enable-fips-image
Risolvere gli errori FIPS a livello di cluster
Quando una richiesta è in conflitto con FIPS a livello di cluster, il servizio Azure Kubernetes lo rifiuta, in genere con un BadRequest errore che descrive la causa. Per i messaggi di errore comuni e come risolverli, vedere Risolvere gli errori FIPS a livello di cluster in AKS.
Pulire le risorse
Quando non sono più necessarie le risorse create in questo articolo, eliminare il gruppo di risorse e tutte le risorse correlate usando il az group delete comando .
az group delete --name $RESOURCE_GROUP --yes --no-wait