Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A integração do Microsoft Entra gerenciada pelo AKS simplifica o processo de integração do Microsoft Entra. Anteriormente, era necessário criar aplicações cliente e servidor, e o locatário do Microsoft Entra tinha de atribuir permissões de função de Leitores de Diretório. Agora, o provedor de recursos do Serviço Kubernetes do Azure (AKS) gerencia os aplicativos cliente e servidor para você.
Os administradores de cluster podem configurar o controle de acesso baseado em função do Kubernetes (Kubernetes RBAC) com base na identidade do usuário ou na associação ao grupo de diretórios. A autenticação do Microsoft Entra é disponibilizada aos clusters AKS com OpenID Connect. OpenID Connect é uma camada de identidade construída sobre o protocolo OAuth 2.0. Para obter mais informações sobre o OpenID Connect, consulte a documentação do OpenID Connect.
Saiba mais sobre o fluxo de integração do Microsoft Entra na documentação do Microsoft Entra.
Limitações
A seguir estão as restrições para integrar a autenticação no AKS:
- A integração não pode ser desativada depois de adicionada.
- Os downgrades de um cluster integrado para clusters Microsoft Entra ID legados não são suportados.
- Clusters sem suporte a RBAC do Kubernetes não conseguem adicionar a integração.
Antes de começar
Para instalar o addon AKS, verifique se você tem os seguintes itens:
- Você tem a CLI do Azure versão 2.29.0 ou posterior instalada e configurada. Para localizar a versão, execute o
az --versioncomando. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI). - Você precisa
kubectlcom uma versão mínima de 1.18.1 oukubelogin. Com a CLI do Azure e o módulo do Azure PowerShell, esses dois comandos são incluídos e gerenciados automaticamente. Ou seja, eles são atualizados por padrão e a execuçãoaz aks install-clinão é necessária ou recomendada. Se você estiver usando um pipeline automatizado, precisará gerenciar atualizações para a versão correta ou mais recente. A diferença entre as versões secundárias do Kubernetes ekubectlnão deve ser mais de uma versão. Caso contrário, ocorrerão problemas de autenticação na versão errada. - Se você estiver usando helm, você precisa de uma versão mínima do helm 3.3.
- Essa configuração requer que você tenha um grupo do Microsoft Entra para seu cluster. Esse grupo é registrado como um grupo de administradores no cluster para conceder permissões de administrador. Se você não tiver um grupo existente do Microsoft Entra, poderá criar um usando o
az ad group createcomando.
Nota
Os clusters integrados do Microsoft Entra usando uma versão do Kubernetes mais recente que a versão 1.24 usam automaticamente o kubelogin formato. A partir do Kubernetes versão 1.24, o clusterUser formato padrão da credencial para clusters de ID do Microsoft Entra é exec, que requer kubelogin binário na execução PATH. Não há nenhuma alteração de comportamento para clusters que não sejam do Microsoft Entra ou clusters de ID do Microsoft Entra que executam uma versão anterior à 1.24.
Os kubeconfig já descarregados continuam a funcionar. Um parâmetro format de consulta opcional é incluído ao obter a credencial clusterUser para substituir o comportamento padrão original. Você pode especificar explicitamente o formato para azure se precisar manter o formato antigo kubeconfig .
Habilite a integração em seu cluster AKS
Criar um novo cluster
Crie um grupo de recursos do Azure usando o
az group createcomando.az group create --name myResourceGroup --location centralusCrie um cluster AKS e habilite o acesso de administração para seu grupo do Microsoft Entra usando o
az aks createcomando.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <id> \ --aad-tenant-id <id> \ --generate-ssh-keysUma criação bem-sucedida de um cluster do Microsoft Entra ID gerenciado pelo AKS inclui a seguinte secção no corpo da resposta.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Usar um cluster existente
Habilite a integração do Microsoft Entra gerenciada pelo AKS em seu cluster existente habilitado para Kubernetes RBAC usando o az aks update comando. Certifique-se de definir seu grupo de administradores para manter o acesso no cluster.
az aks update \
--resource-group MyResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id-1>,<id-2> \
--aad-tenant-id <id>
Uma ativação bem-sucedida de um cluster de ID do Microsoft Entra gerenciado pelo AKS tem a seguinte seção no corpo da resposta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Migrar cluster legado para integração
Se o cluster usa a integração herdada do Microsoft Entra, você pode atualizar para a integração do Microsoft Entra gerenciada pelo AKS por meio do az aks update comando.
Aviso
Os clusters de camada livre podem enfrentar tempo de inatividade do servidor de API durante a atualização. Recomendamos que a atualização seja feita fora do horário habitual de funcionamento.
Após a atualização, o kubeconfig conteúdo é alterado. Você precisa executar az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> para mesclar as novas credenciais no kubeconfig arquivo.
az aks update \
--resource-group myResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id> \
--aad-tenant-id <id>
Uma migração bem-sucedida de um cluster de ID do Microsoft Entra gerenciado pelo AKS tem a seguinte seção no corpo da resposta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Acessar o cluster habilitado
Obtenha as credenciais de usuário para acessar seu cluster usando o
az aks get-credentialscomando.az aks get-credentials --resource-group myResourceGroup --name myManagedClusterSiga as instruções para iniciar sessão.
Defina
kubeloginpara usar a CLI do Azure.kubelogin convert-kubeconfig -l azurecliExiba os nós no cluster com o
kubectl get nodescomando.kubectl get nodes
Login não interativo com kubelogin
Existem alguns cenários não interativos que não suportam kubectl. Nesses casos, use kubelogin para se conectar ao cluster com uma credencial de principal de serviço não interativa, a fim de executar pipelines de integração contínua.
Nota
Os clusters integrados do Microsoft Entra usando uma versão do Kubernetes mais recente que a versão 1.24 usam automaticamente o kubelogin formato. A partir da versão 1.24 do Kubernetes, o clusterUser formato padrão da credencial para clusters de ID do Microsoft Entra é exec, que requer kubelogin binário no PATH de execução. Não há nenhuma alteração de comportamento para clusters que não sejam do Microsoft Entra ou clusters de ID do Microsoft Entra que executam uma versão anterior à 1.24.
Os kubeconfig já descarregados continuam a funcionar. Um parâmetro format de consulta opcional é incluído ao obter a credencial clusterUser para substituir o comportamento padrão original. Você pode especificar explicitamente o formato para azure se precisar manter o formato antigo kubeconfig .
Ao obter a clusterUser credencial, pode usar o format parâmetro de consulta para substituir o comportamento padrão. Você pode definir o valor para azure usar o formato original kubeconfig :
az aks get-credentials --format azure
Se o cluster integrado do Microsoft Entra usa o Kubernetes versão 1.24 ou inferior, você precisa converter manualmente o kubeconfig formato.
export KUBECONFIG=/path/to/kubeconfig
kubelogin convert-kubeconfig
Se você receber a mensagem de erro: O plug-in de autenticação do Azure foi removido., você precisará executar o comando kubelogin convert-kubeconfig para converter o kubeconfig formato manualmente. Para obter mais informações, consulte Problemas conhecidos do Kubelogin do Azure.
Resolver problemas de acesso
Importante
A etapa descrita nesta seção sugere um método de autenticação alternativo em comparação com a autenticação de grupo normal do Microsoft Entra. Utilize esta opção apenas em caso de emergência.
Se não tiver acesso administrativo a um grupo válido do Microsoft Entra, pode seguir esta solução alternativa. Entre com uma conta que seja membro da função Administrador do Cluster de Serviço do Kubernetes do Azure e conceda ao seu grupo ou credenciais de administrador de locatário para acessar seu cluster.
Próximos passos
- Saiba mais sobre a integração do Microsoft Entra com o Kubernetes RBAC.
- Saiba mais sobre os conceitos de identidade AKS e Kubernetes.
- Saiba como usar o kubelogin para todos os métodos de autenticação Microsoft Entra suportados no AKS.
- Use os modelos do Azure Resource Manager para criar clusters habilitados para Microsoft Entra ID gerenciados pelo AKS.