Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 associa uma VM a um domínio gerido pelos Serviços de Domínio, as contas de utilizador e as credenciais do domínio podem ser utilizadas para iniciar sessão e gerir 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 assinatura 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, criar uma entidade no Microsoft Entra ou associar uma subscrição 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 comece 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:
- Centro de administração do Microsoft Entra
- da CLI do Azure
- Azure PowerShell
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 ficheiro hosts
Para certificar-se de que o nome do host da VM está configurado corretamente para o domínio gerenciado, edite o arquivo de /etc/hosts e defina o nome do host:
sudo vi /etc/hosts
No hospeda arquivo, 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 tua VM Ubuntu que estás a ligar ao domínio gerido.
Atualize estes nomes com os seus próprios valores:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Quando terminar, salve e saia do hospeda arquivo usando o comando :wq
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 o 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 gerido for aaddscontoso.com, insira AADDSCONTOSO.COM como o domínio. A instalação grava as seções [realm]
e [domain_realm]
em arquivo de configuração de /etc/krb5.conf. Certifique-se de especificar o domínio em 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 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 de /etc/ntp.conf.
Abra o arquivo de ntp.conf com um editor:
sudo vi /etc/ntp.conf
No arquivo de ntp.conf, crie uma linha para adicionar o nome DNS do seu domínio gerenciado. No exemplo a seguir, é adicionada uma entrada para aaddscontoso.com. Use seu próprio nome DNS:
server aaddscontoso.com
Quando terminar, guarde e saia do ficheiro ntp.conf usando o comando
:wq
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
Para concluir essas etapas, execute os seguintes comandos. Use seu próprio nome DNS com o comando
ntpdate
: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
realm discover
para descobrir o domínio gerenciado. O exemplo a seguir descobre o domínio AADDSCONTOSO.COM. Especifique o seu próprio nome de domínio gerido em LETRAS MAIÚSCULAS:sudo realm discover AADDSCONTOSO.COM
Se o comando
realm discover
não conseguir localizar seu 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
para ver se uma resposta positiva é retornada. - Verifique se a VM está implantada na mesma 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 comando
kinit
. Especifique um usuário que faça parte do domínio gerenciado. Se necessário, adicionar uma conta de utilizador 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 chamada
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 comando
realm join
. Use a mesma conta de usuário que faz parte do domínio gerenciado que você especificou no comandokinit
anterior, 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 seção [libdefaults]
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 do 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 comando
:wq
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.
Observação
As imagens do Marketplace do Ubuntu geralmente têm algumas opções de configuração definidas em /etc/ssh/sshd_config.d, incluindo PasswordAuthentication no arquivo 50-cloud-init.conf, então, certifique-se de também atualizar este arquivo para evitar que ele sobrescreva as configurações definidas com as etapas abaixo.
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 sshd_conf usando o comando
:wq
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 arquivo
/etc/pam.d/common-session
em um editor:sudo vi /etc/pam.d/common-session
Adicione a seguinte linha neste ficheiro abaixo da linha
session optional pam_sss.so
:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Quando terminar, guarde e saia do ficheiro de sessão comum usando o comando
:wq
do editor.
Conceda privilégios sudo ao grupo 'Administradores de DC do Azure AD'
Para conceder privilégios administrativos aos membros do grupo Administradores de DC do AAD na VM do Ubuntu, adicione uma entrada ao /etc/sudoers. Uma vez adicionados, os membros do grupo Administradores de DC do AAD podem usar o comando sudo
na VM do Ubuntu.
Abra o arquivo sudoers para edição:
sudo visudo
Adicione a seguinte entrada ao final de arquivo de /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 comando
Ctrl-X
.
Entrar na VM usando uma conta de domínio
Para verificar se a VM ingressou com êxito no 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
ssh -l
, comocontosoadmin@aaddscontoso.com
e, em seguida, digite o endereço da sua VM, como 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 iniciar sessão na VM como membro do grupo AAD Administradores de DC, certifique-se de que pode usar corretamente o comando
sudo
.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.