Compartilhar via


Gerenciar contas locais com a integração do Microsoft Entra gerenciada pelo Microsoft Entra

Ao implantar um cluster do AKS, as contas locais são habilitadas por padrão. Mesmo ao habilitar a integração do RBAC ou do Microsoft Entra, o acesso --adminainda existe como uma opção de backdoor não auditável. Este artigo mostra como desabilitar contas locais em um cluster existente, criar um novo cluster com contas locais desabilitadas e reabilitar contas locais em clusters existentes.

Antes de começar

Desabilitar contas locais

Você pode desabilitar contas locais usando o parâmetro disable-local-accounts. O campo properties.disableLocalAccounts foi adicionado à API de cluster gerenciado para indicar se o recurso está habilitado no cluster.

Observação

  • Em clusters com a integração do Microsoft Entra habilitada, os usuários atribuídos a um grupo de administradores do Microsoft Entra especificado por aad-admin-group-object-ids ainda podem obter acesso usando credenciais de não administrador. Em clusters sem a integração do Microsoft Entra habilitada e properties.disableLocalAccounts definido como true, qualquer tentativa de autenticação com credenciais de usuário ou administrador falhará.

  • Depois de desabilitar contas de usuário locais em um cluster do AKS existente em que os usuários podem ter se autenticado usando contas locais, o administrador precisa girar os certificados de cluster para revogar os certificados aos quais eles podem ter acesso. Se esse for um novo cluster, nenhuma ação será necessária.

Criar um novo cluster sem contas locais

  1. Crie um novo cluster do AKS sem nenhuma conta local usando o comando az aks create com o sinalizador 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. Na saída, confirme se as contas locais estão desabilitadas, verificando se o campo properties.disableLocalAccounts está definido como true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Execute o comando az aks get-credentials para garantir que o cluster esteja configurado para desabilitar contas locais.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Sua saída deve mostrar a seguinte mensagem de erro indicando que o recurso está impedindo o acesso:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Desabilitar contas locais em um cluster existente

  1. Desabilite contas locais em um cluster do AKS habilitado para integração com o Microsoft Entra existente usando o comando az aks update com o parâmetro disable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. Na saída, confirme se as contas locais estão desabilitadas, verificando se o campo properties.disableLocalAccounts está definido como true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Execute o comando az aks get-credentials para garantir que o cluster esteja configurado para desabilitar contas locais.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Sua saída deve mostrar a seguinte mensagem de erro indicando que o recurso está impedindo o acesso:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Reabilitar contas locais em um cluster existente

  1. Habilite novamente uma conta local desabilitada em um cluster existente usando o comando az aks update com o parâmetro enable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. Na saída, confirme se as contas locais foram habilitadas novamente verificando se o campo properties.disableLocalAccounts está definido como false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Execute o comando az aks get-credentials para garantir que o cluster esteja configurado para habilitar contas locais.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Sua saída deve mostrar a seguinte mensagem indicando que você habilitou com êxito as contas locais no cluster:

    Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
    

Próximas etapas