Partilhar via


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

Quando você implanta um cluster AKS, as contas locais são habilitadas por padrão. Mesmo quando você habilita a integração RBAC ou Microsoft Entra, --admin o acesso ainda 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 reativar contas locais em clusters existentes.

Antes de começar

  • Consulte a integração do Microsoft Entra gerenciada pelo AKS para obter uma visão geral e instruções de configuração.

Desativar contas locais

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

Nota

  • 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 definida como true, qualquer tentativa de autenticação com credenciais de usuário ou administrador falhará.

  • Depois de desativar as contas de usuário locais em um cluster AKS existente onde os usuários podem ter se autenticado com contas locais, o administrador deve alternar os certificados de cluster para revogar os certificados aos quais eles possam ter tido acesso. Se este for um novo cluster, nenhuma ação será necessária.

Criar um novo cluster sem contas locais

  1. Crie um novo cluster AKS sem contas locais usando o comando com o az aks createdisable-local-accounts sinalizador.

    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 desativadas verificando se o campo properties.disableLocalAccounts está definido como true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Execute o comando para garantir que o az aks get-credentials 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. Desative as contas locais em um cluster AKS habilitado para integração existente do Microsoft Entra usando o comando com o az aks updatedisable-local-accounts parâmetro.

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

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Execute o comando para garantir que o az aks get-credentials 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.
    

Reativar contas locais em um cluster existente

  1. Reative uma conta local desabilitada em um cluster existente usando o comando com o az aks updateenable-local-accounts parâmetro.

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

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Execute o comando para garantir que o az aks get-credentials cluster esteja definido 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óximos passos