Ingressar uma máquina virtual do Ubuntu Linux a um domínio gerenciado do Microsoft Entra Domain Services
Para permitir que os usuários entrem em VMs (máquinas virtuais) no Azure usando um só conjunto de credenciais, ingresse as VMs em um domínio gerenciado do Microsoft Entra Domain Services. Quando você ingressa uma VM em um domínio gerenciado do Domain Services, as contas de usuário e as credenciais do domínio podem ser usadas para se conectar e gerenciar os servidores. Associações a grupos por meio do domínio gerenciado também são possíveis, permitindo controlar o acesso a arquivos ou serviços na VM.
Este artigo mostra como ingressar uma VM do Ubuntu Linux em um domínio gerenciado.
Pré-requisitos
Para concluir este tutorial, você precisará dos seguintes recursos e privilégios:
- Uma assinatura ativa do Azure.
- Caso não tenha uma assinatura do Azure, crie uma conta.
- Um locatário do Microsoft Entra associado com a assinatura, sincronizado com um diretório local ou somente em nuvem.
- Se necessário, crie um locatário do Microsoft Entra ou associe uma assinatura do Azure à sua conta.
- Um domínio gerenciado do Microsoft Entra Domain Services habilitado e configurado em seu locatário do Microsoft Entra.
- Se necessário, o primeiro tutorial cria e configura um domínio gerenciado do Microsoft Entra Domain Services.
- Uma conta de usuário que é parte do domínio gerenciado. Confirme que 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 de cada usuário será gerado automaticamente. Para obter mais informações, consulte Como objetos e credenciais são sincronizados em um domínio gerenciado do Microsoft Entra Domain Services.
- Nomes exclusivos de VM do Linux que tenham no máximo 15 caracteres para evitar nomes truncados que possam causar conflitos no Active Directory.
Criar e conectar-se a uma VM do Ubuntu Linux
Caso já tenha uma VM do Ubuntu Linux no Azure, conecte-se a ela usando SSH e prossiga para a próxima etapa a fim de começar a configurar a VM.
Se precisar criar uma VM do Ubuntu Linux ou se desejar criar uma VM de teste para usar com este artigo, você poderá 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 em que você tenha ativado o Microsoft Entra Domain Services.
- Implante a VM em uma sub-rede diferente do domínio gerenciado do Microsoft Entra Domain Services.
Depois que a VM for implantada, siga as etapas para se conectar à VM usando SSH.
Configurar o arquivo de hosts
Para confirmar se 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 do host da VM Ubuntu que você está ingressando no domínio gerenciado.
Substitua esses nomes por seus próprios valores:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Quando terminar, salve e saia do arquivo de hosts usando o comando do editor :wq
.
Instalar os pacotes necessários
São necessários alguns pacotes adicionais para ingressar a VM no domínio gerenciado. Para instalar e configurar esses pacotes, atualize e instale as ferramentas de ingresso no domínio usando o apt-get
Durante a instalação do Kerberos, o pacote krb5-user solicita o nome de realm, tudo em letras MAIÚSCULAS. Por exemplo, se o nome do seu domínio gerenciado for aaddscontoso.com, insira AADDSCONTOSO.com no campo realm. A instalação grava as seções [realm]
e [domain_realm]
no arquivo de configuração /etc/krb5.conf. Especifique o realm com todas as letras 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 NTP (protocolo NTP)
Para que a comunicação de domínio funcione corretamente, a data e hora da sua VM do Ubuntu devem estar sincronizadas com o domínio gerenciado. Adicione nome do host NTP do seu domínio gerenciado no arquivo /etc/ntp.conf.
Abra o arquivo ntp.conf em 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 será adicionada. Use o seu próprio nome DNS:
server aaddscontoso.com
Ao terminar, salve e saia do arquivo ntp.conf usando o comando
:wq
do editor.Para verificar se a VM está sincronizada com o domínio gerenciado, execute as seguintes etapas:
- Interromper o servidor NTP
- Atualizar a data e a hora com base no domínio gerenciado
- Reiniciar o serviço do NTP
Execute os comandos a seguir para concluir essas etapas. Use o seu próprio nome DNS com o comando
ntpdate
:sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Ingressar a VM no domínio gerenciado
Agora que os pacotes necessários estão instalados na VM e o NTP está configurado, ingresse a VM no domínio gerenciado.
Use o comando
realm discover
para descobrir o domínio gerenciado. O exemplo a seguir descobre o realm AADDSCONTOSO.COM. Especifique seu próprio nome de domínio gerenciado em letras MAIÚSCULAS:sudo realm discover AADDSCONTOSO.COM
Se o comando
realm discover
não conseguir localizar o domínio gerenciado, revise as seguintes etapas de solução de problemas:- Verifique se o domínio está acessível da VM. Tente
ping aaddscontoso.com
para ver se uma resposta positiva é retornada. - 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.
- Verifique se atualizou as configurações do servidor DNS da a rede virtual para apontar para os controladores de domínio do domínio gerenciado.
- Verifique se o domínio está acessível da VM. Tente
Agora, inicialize o Kerberos usando o comando
kinit
. 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 letras MAIÚSCULAS. No exemplo a seguir, a conta denominada
contosoadmin@aaddscontoso.com
é usada para inicializar o Kerberos. Insira sua própria conta de usuário que faz parte do domínio gerenciado:sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Por fim, una a VM ao domínio gerenciado usando o comando
realm join
. Use a mesma conta de usuário que faz parte do domínio gerenciado especificada no comandokinit
anterior, comocontosoadmin@AADDSCONTOSO.COM
:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
Leva alguns instantes para unir a VM ao domínio gerenciado. O seguinte exemplo de saída mostra que a VM ingressou com sucesso no domínio gerenciado:
Successfully enrolled machine in realm
Se a sua VM não puder concluir com sucesso o processo de ingresso no domínio, verifique se o grupo de segurança de rede da VM permite o tráfego de saída do Kerberos na porta TCP + UDP 464 para a sub-rede da rede virtual do seu domínio gerenciado.
Se você receber o erro Falha de GSS não especificada. O código secundário pode fornecer mais informações (servidor não encontrado no banco de dados do Kerberos), abra o arquivo /etc/krb5.conf, adicione o seguinte código na seção [libdefaults]
e tente novamente:
rdns=false
Atualizar a configuração do SSSD
Um dos pacotes instalados em uma etapa anterior era para o SSSD (Daemon de Serviços de Segurança do Sistema). Quando um usuário tenta entrar em uma VM usando credenciais de domínio, o SSSD transmite a solicitação para um provedor de autenticação. Nesse cenário, o SSSD usa o Domain Services para autenticar a solicitação.
Abra o arquivo sssd.conf em um editor:
sudo vi /etc/sssd/sssd.conf
Adicione uma marca de comentário na linha use_fully_qualified_names, da seguinte maneira:
# use_fully_qualified_names = True
Ao terminar, salve e saia do arquivo sssd.conf usando o comando
:wq
do editor.Para aplicar a alteração, reinicie o serviço SSSD:
sudo systemctl restart sssd
Configurar a conta de usuário e as configurações de grupo
Com a VM ingressada no domínio gerenciado e configurada para autenticação, há algumas opções de configuração de usuário a serem concluídas. Essas alterações de configuração incluem a permissão de autenticação baseada em senha e a criação automática de diretórios base na VM local quando os usuários do domínio entram 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 falhou. Ao unir a VM a um domínio gerenciado, as contas do domínio precisam usar a autenticação baseada em senha. Atualize a configuração de SSH para permitir a autenticação baseada em senha da maneira a seguir.
Abra o arquivo sshd_conf com um editor:
sudo vi /etc/ssh/sshd_config
Atualize a linha de PasswordAuthentication para Sim:
PasswordAuthentication yes
Quando terminar, salve e saia do arquivo de sshd_conf usando o comando do editor
:wq
.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 do diretório base
Para habilitar a criação automática de diretório base quando um usuário entrar pela primeira vez, conclua as seguintes etapas:
Abra o arquivo
/etc/pam.d/common-session
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
Ao terminar, salve e saia do arquivo common-session usando o comando
:wq
do editor.
Conceder os privilégios sudo de grupo 'Administradores de controlador de domínio do AAD'
Para conceder aos membros do grupo Administradores do AAD DC privilégios administrativos sobre a VM do Ubuntu, adicione uma entrada ao arquivo /etc/sudoers. Depois de adicionados, os membros do grupo Administradores do AAD DC podem usar o comando sudo
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
Ao terminar, salve e saia do editor usando o comando
Ctrl-X
.
Entrar na VM usando uma conta de domínio
Para verificar se a VM uniu-se 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 conexão SSH por meio do seu console. Use uma conta de domínio que pertença ao domínio gerenciado executando o comando
ssh -l
, comocontosoadmin@aaddscontoso.com
e, em seguida, insira o endereço da VM, como ubuntu.aaddscontoso.com. Se você usa 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
Após conectar-se com êxito à VM, verifique se o diretório base foi inicializado corretamente:
sudo pwd
Você deve estar no diretório /home com seu 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 as associações de grupo do domínio gerenciado.
Se tiver entrado na VM como um membro do grupo de Administradores do AAD DC, verifique se você poderá usar corretamente o comando
sudo
:sudo apt-get update
Próximas etapas
Caso tenha problemas para conectar a VM ao domínio gerenciado ou entrar com uma conta de domínio, consulte Solução de problemas de união de domínios.