Condividi tramite


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

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 e properties.disableLocalAccounts impostato su true, 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

  1. Creare un nuovo cluster del servizio Azure Kubernetes senza account locali usando il comando az aks create con il flag disable-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
    
  2. Nell'output, verificare che gli account locali siano stati disabilitati controllando che il campo properties.disableLocalAccounts sia impostato su true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. 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

  1. 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 parametro disable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. Nell'output, verificare che gli account locali siano stati disabilitati controllando che il campo properties.disableLocalAccounts sia impostato su true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. 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

  1. Riabilitare un account locale disabilitato in un cluster esistente usando il comando az aks update con il parametro enable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. Nell'output, verificare che gli account locali siano stati riabilitato controllando che il campo properties.disableLocalAccounts sia impostato su false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. 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