Gestire gli account locali con l'integrazione di Microsoft Entra gestita dal servizio Azure Kubernetes
Quando si distribuisce un cluster del servizio Azure Kubernetes, gli account locali sono abilitati per impostazione predefinita. Anche quando si abilita il controllo degli accessi in base al ruolo o l'integrazione di Microsoft Entra, l'accesso --admin
esiste ancora come opzione backdoor non controllabile. Questo articolo illustra come disabilitare gli account locali in un cluster esistente, creare un nuovo cluster con account locali disabilitati e riabilitare gli account locali nei cluster esistenti.
Operazioni preliminari
- Per una panoramica e per le istruzioni di configurazione, vedere Integrazione di Microsoft Entra gestita dal servizio Azure Kubernetes.
Disabilitare gli account locali
È possibile disabilitare gli account locali usando il parametro disable-local-accounts
. Il campo properties.disableLocalAccounts
è stato aggiunto all'API del cluster gestito per indicare se la funzionalità è abilitata o meno nel cluster.
Nota
Nei cluster con l'integrazione di Microsoft Entra abilitata, gli utenti assegnati a un gruppo di amministratori di Microsoft Entra specificato da
aad-admin-group-object-ids
possono comunque ottenere l'accesso usando credenziali non di amministratore. Nei cluster senza l'integrazione di Microsoft Entra abilitata eproperties.disableLocalAccounts
impostato sutrue
, qualsiasi tentativo di autenticazione con credenziali utente o amministratore avrà esito negativo.Dopo aver disabilitato gli account utente locali in un cluster del servizio Azure Kubernetes esistente in cui gli utenti potrebbero aver eseguito l'autenticazione con gli account locali, l'amministratore deve ruotare i certificati del cluster per revocare i certificati a cui potrebbero avere accesso. Se si tratta di un nuovo cluster, non è necessaria alcuna azione.
Creare un nuovo cluster senza account locali
Creare un nuovo cluster del servizio Azure Kubernetes senza account locali usando il comando
az aks create
con il flagdisable-local-accounts
.az aks create \ --resource-group <resource-group> \ --name <cluster-name> \ --enable-aad \ --aad-admin-group-object-ids <aad-group-id> \ --disable-local-accounts \ --generate-ssh-keys
Nell'output, verificare che gli account locali siano stati disabilitati controllando che il campo
properties.disableLocalAccounts
sia impostato sutrue
."properties": { ... "disableLocalAccounts": true, ... }
Eseguire il comando
az aks get-credentials
per assicurarsi che il cluster sia impostato per disabilitare gli account locali.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
L'output dovrebbe mostrare il messaggio di errore seguente che indica che la funzionalità impedisce l'accesso:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Disabilitare gli account locali in un cluster esistente
Disabilitare gli account locali in un cluster del servizio Azure Kubernetes abilitato per l'integrazione di Microsoft Entra esistente usando il comando
az aks update
con il parametrodisable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
Nell'output, verificare che gli account locali siano stati disabilitati controllando che il campo
properties.disableLocalAccounts
sia impostato sutrue
."properties": { ... "disableLocalAccounts": true, ... }
Eseguire il comando
az aks get-credentials
per assicurarsi che il cluster sia impostato per disabilitare gli account locali.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
L'output dovrebbe mostrare il messaggio di errore seguente che indica che la funzionalità impedisce l'accesso:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Riabilitare gli account locali in un cluster esistente
Riabilitare un account locale disabilitato in un cluster esistente usando il comando
az aks update
con il parametroenable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
Nell'output, verificare che gli account locali siano stati riabilitato controllando che il campo
properties.disableLocalAccounts
sia impostato sufalse
."properties": { ... "disableLocalAccounts": false, ... }
Eseguire il comando
az aks get-credentials
per assicurarsi che il cluster sia impostato per abilitare gli account locali.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
L'output dovrebbe mostrare il messaggio seguente che indica che gli account locali sono stati abilitati correttamente nel cluster:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
Passaggi successivi
Azure Kubernetes Service