Junte uma máquina virtual Ubuntu Linux a um domínio gerenciado dos Serviços de Domínio Microsoft Entra
Para permitir que os usuários entrem em máquinas virtuais (VMs) no Azure usando um único conjunto de credenciais, você pode unir VMs a um domínio gerenciado dos Serviços de Domínio Microsoft Entra. Quando você associa uma VM a um domínio gerenciado pelos Serviços de Domínio, as contas de usuário e as credenciais do domínio podem ser usadas para entrar e gerenciar servidores. As associações de grupo do domínio gerenciado também são aplicadas para permitir que você controle o acesso a arquivos ou serviços na VM.
Este artigo mostra como unir uma VM Ubuntu Linux a um domínio gerenciado.
Pré-requisitos
Para concluir este tutorial, você precisa dos seguintes recursos e privilégios:
- Uma subscrição ativa do Azure.
- Se você não tiver uma assinatura do Azure, crie uma conta.
- Um locatário do Microsoft Entra associado à sua assinatura, sincronizado com um diretório local ou um diretório somente na nuvem.
- Se necessário, crie um locatário do Microsoft Entra ou associe uma assinatura do Azure à sua conta.
- Um domínio gerenciado dos Serviços de Domínio Microsoft Entra habilitado e configurado em seu locatário do Microsoft Entra.
- Se necessário, o primeiro tutorial cria e configura um domínio gerenciado dos Serviços de Domínio Microsoft Entra.
- Uma conta de usuário que faz parte do domínio gerenciado. Verifique se o atributo SAMAccountName para o usuário não é gerado automaticamente. Se várias contas de usuário no locatário do Microsoft Entra tiverem o mesmo atributo mailNickname, o atributo SAMAccountName para cada usuário será gerado automaticamente. Para obter mais informações, consulte Como objetos e credenciais são sincronizados em um domínio gerenciado dos Serviços de Domínio Microsoft Entra.
- Nomes exclusivos de VM Linux com no máximo 15 caracteres para evitar nomes truncados que possam causar conflitos no Ative Directory.
Criar e conectar-se a uma VM Ubuntu Linux
Se você tiver uma VM Ubuntu Linux existente no Azure, conecte-se a ela usando SSH e, em seguida, continue para a próxima etapa para começar a configurar a VM.
Se você precisar criar uma VM Ubuntu Linux ou quiser criar uma VM de teste para uso com este artigo, você pode usar um dos seguintes métodos:
Ao criar a VM, preste atenção às configurações de rede virtual para garantir que a VM possa se comunicar com o domínio gerenciado:
- Implante a VM na mesma rede virtual ou em uma rede virtual emparelhada na qual você habilitou os Serviços de Domínio Microsoft Entra.
- Implante a VM em uma sub-rede diferente do domínio gerenciado dos Serviços de Domínio Microsoft Entra.
Depois que a VM for implantada, siga as etapas para se conectar à VM usando SSH.
Configurar o arquivo hosts
Para certificar-se de que o nome do host da VM está configurado corretamente para o domínio gerenciado, edite o arquivo /etc/hosts e defina o nome do host:
sudo vi /etc/hosts
No arquivo hosts, atualize o endereço localhost. No exemplo a seguir:
- aaddscontoso.com é o nome de domínio DNS do seu domínio gerenciado.
- ubuntu é o nome de host da sua VM Ubuntu que você está ingressando no domínio gerenciado.
Atualize estes nomes com os seus próprios valores:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Quando terminar, salve e saia do arquivo hosts usando o :wq
comando do editor.
Instalar pacotes necessários
A VM precisa de alguns pacotes adicionais para unir a VM ao domínio gerenciado. Para instalar e configurar esses pacotes, atualize e instale as ferramentas de ingresso no domínio usando apt-get
Durante a instalação do Kerberos, o pacote krb5-user solicita o nome do território em ALL UPPERCASE. Por exemplo, se o nome do seu domínio gerenciado for aaddscontoso.com, insira AADDSCONTOSO.COM como o realm. A instalação grava as [realm]
seções e [domain_realm]
no arquivo de configuração /etc/krb5.conf . Certifique-se de especificar o realm em TODAS as maiúsculas:
sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli
Configurar o protocolo NTP (Network Time Protocol)
Para que a comunicação de domínio funcione corretamente, a data e a hora da sua VM Ubuntu devem ser sincronizadas com o domínio gerenciado. Adicione o nome de host NTP do seu domínio gerenciado ao arquivo /etc/ntp.conf .
Abra o arquivo ntp.conf com um editor:
sudo vi /etc/ntp.conf
No arquivo ntp.conf, crie uma linha para adicionar o nome DNS do seu domínio gerenciado. No exemplo a seguir, uma entrada para aaddscontoso.com é adicionada. Use seu próprio nome DNS:
server aaddscontoso.com
Quando terminar, salve e saia do arquivo ntp.conf usando o
:wq
comando do editor.Para certificar-se de que a VM está sincronizada com o domínio gerenciado, as seguintes etapas são necessárias:
- Pare o servidor NTP
- Atualizar a data e a hora do domínio gerenciado
- Iniciar o serviço NTP
Execute os seguintes comandos para concluir estas etapas. Use seu próprio nome DNS com o
ntpdate
comando:sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Associar VM ao domínio gerenciado
Agora que os pacotes necessários estão instalados na VM e o NTP está configurado, associe a VM ao domínio gerenciado.
Use o comando para descobrir o
realm discover
domínio gerenciado. O exemplo a seguir descobre o reino AADDSCONTOSO.COM. Especifique seu próprio nome de domínio gerenciado em TODAS as maiúsculas:sudo realm discover AADDSCONTOSO.COM
Se o comando não conseguir localizar seu
realm discover
domínio gerenciado, revise as seguintes etapas de solução de problemas:- Certifique-se de que o domínio está acessível a partir da VM. Tente
ping aaddscontoso.com
ver se uma resposta positiva é devolvida. - Verifique se a VM está implantada na mesma rede virtual ou em uma rede virtual emparelhada na qual o domínio gerenciado está disponível.
- Confirme se as configurações do servidor DNS para a rede virtual foram atualizadas para apontar para os controladores de domínio do domínio gerenciado.
- Certifique-se de que o domínio está acessível a partir da VM. Tente
Agora inicialize o Kerberos usando o
kinit
comando. Especifique um usuário que faça parte do domínio gerenciado. Se necessário, adicione uma conta de usuário a um grupo no Microsoft Entra ID.Novamente, o nome de domínio gerenciado deve ser inserido em TODAS as maiúsculas. No exemplo a seguir, a conta nomeada
contosoadmin@aaddscontoso.com
é usada para inicializar Kerberos. Introduza a sua própria conta de utilizador que faz parte do domínio gerido:sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Por fim, associe a VM ao domínio gerenciado usando o
realm join
comando. Use a mesma conta de usuário que faz parte do domínio gerenciado especificado no comando anteriorkinit
, comocontosoadmin@AADDSCONTOSO.COM
:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Leva alguns minutos para unir a VM ao domínio gerenciado. A saída de exemplo a seguir mostra que a VM ingressou com êxito no domínio gerenciado:
Successfully enrolled machine in realm
Se a VM não conseguir concluir com êxito o processo de ingresso no domínio, verifique se o grupo de segurança de rede da VM permite o tráfego Kerberos de saída na porta TCP + UDP 464 para a sub-rede de rede virtual do domínio gerenciado.
Se você recebeu o erro Falha não especificada do GSS. O código secundário pode fornecer mais informações (Servidor não encontrado no banco de dados Kerberos), abra o arquivo /etc/krb5.conf e adicione o seguinte código na [libdefaults]
seção e tente novamente:
rdns=false
Atualizar a configuração do SSSD
Um dos pacotes instalados em uma etapa anterior foi para System Security Services Daemon (SSSD). Quando um usuário tenta entrar em uma VM usando credenciais de domínio, o SSSD retransmite a solicitação para um provedor de autenticação. Nesse cenário, o SSSD usa os Serviços de Domínio para autenticar a solicitação.
Abra o arquivo sssd.conf com um editor:
sudo vi /etc/sssd/sssd.conf
Comente a linha para use_fully_qualified_names da seguinte maneira:
# use_fully_qualified_names = True
Quando terminar, salve e saia do arquivo sssd.conf usando o
:wq
comando do editor.Para aplicar a alteração, reinicie o serviço SSSD:
sudo systemctl restart sssd
Definir configurações de conta de usuário e grupo
Com a VM unida ao domínio gerenciado e configurada para autenticação, há algumas opções de configuração do usuário a serem concluídas. Essas alterações de configuração incluem permitir a autenticação baseada em senha e criar automaticamente diretórios base na VM local quando os usuários do domínio entrarem pela primeira vez.
Permitir autenticação de senha para SSH
Por padrão, os usuários só podem entrar em uma VM usando a autenticação baseada em chave pública SSH. A autenticação baseada em senha falha. Quando você associa a VM a um domínio gerenciado, essas contas de domínio precisam usar a autenticação baseada em senha. Atualize a configuração SSH para permitir a autenticação baseada em senha da seguinte maneira.
Abra o arquivo sshd_conf com um editor:
sudo vi /etc/ssh/sshd_config
Atualize a linha para PasswordAuthentication para yes:
PasswordAuthentication yes
Quando terminar, salve e saia do arquivo sshd_conf usando o
:wq
comando do editor.Para aplicar as alterações e permitir que os usuários entrem usando uma senha, reinicie o serviço SSH:
sudo systemctl restart ssh
Configurar a criação automática de diretório base
Para habilitar a criação automática do diretório base quando um usuário entrar pela primeira vez, conclua as seguintes etapas:
Abra o
/etc/pam.d/common-session
arquivo em um editor:sudo vi /etc/pam.d/common-session
Adicione a seguinte linha neste arquivo abaixo da linha
session optional pam_sss.so
:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Quando terminar, salve e saia do arquivo de sessão comum usando o
:wq
comando do editor.
Conceda privilégios sudo ao grupo 'Administradores de DC do AAD'
Para conceder aos membros do grupo Administradores de DC do AAD privilégios administrativos na VM do Ubuntu, adicione uma entrada ao /etc/sudoers. Uma vez adicionado, os membros do grupo Administradores de DC do AAD podem usar o sudo
comando na VM do Ubuntu.
Abra o arquivo sudoers para edição:
sudo visudo
Adicione a seguinte entrada ao final do arquivo /etc/sudoers :
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
Quando terminar, salve e saia do editor usando o
Ctrl-X
comando.
Entrar na VM usando uma conta de domínio
Para verificar se a VM foi associada com êxito ao domínio gerenciado, inicie uma nova conexão SSH usando uma conta de usuário de domínio. Confirme se um diretório base foi criado e se a associação de grupo do domínio foi aplicada.
Crie uma nova conexão SSH a partir do seu console. Use uma conta de domínio que pertença ao domínio gerenciado usando o comando, como e, em seguida, digite o
ssh -l
endereço da sua VM, comocontosoadmin@aaddscontoso.com
ubuntu.aaddscontoso.com. Se você usar o Azure Cloud Shell, use o endereço IP público da VM em vez do nome DNS interno.sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
Quando você tiver se conectado com êxito à VM, verifique se o diretório base foi inicializado corretamente:
sudo pwd
Você deve estar no diretório /home com seu próprio diretório que corresponda à conta de usuário.
Agora verifique se as associações de grupo estão sendo resolvidas corretamente:
sudo id
Você deve ver suas associações de grupo do domínio gerenciado.
Se você entrou na VM como membro do grupo Administradores de DC do AAD, verifique se pode usar corretamente o
sudo
comando:sudo apt-get update
Próximos passos
Se você tiver problemas para conectar a VM ao domínio gerenciado ou entrar com uma conta de domínio, consulte Solução de problemas de ingresso no domínio.