Aggiungere una macchina virtuale Ubuntu Linux a un dominio gestito di Microsoft Entra Domain Services
Per consentire agli utenti di accedere alle macchine virtuali (VM) in Azure usando un singolo set di credenziali, è possibile aggiungere macchine virtuali a un dominio gestito di Microsoft Entra Domain Services. Quando si aggiunge una macchina virtuale a un dominio gestito di Servizi di dominio, è possibile usare account utente e credenziali dal dominio per accedere e gestire i server. Le appartenenze ai gruppi del dominio gestito vengono applicate anche per consentire di controllare l'accesso ai file o ai servizi nella macchina virtuale.
Questo articolo illustra come aggiungere una macchina virtuale Ubuntu Linux a un dominio gestito.
Prerequisiti
Per completare l'esercitazione, sono necessari i privilegi e le risorse seguenti:
- Una sottoscrizione di Azure attiva.
- Se non si ha una sottoscrizione di Azure, creare un account.
- Un tenant di Microsoft Entra associato alla sottoscrizione, sincronizzato con una directory locale o una directory solo cloud.
- Se necessario, creare un tenant di Microsoft Entra o associare una sottoscrizione di Azure all'account.
- Un dominio gestito di Microsoft Entra Domain Services abilitato e configurato nel tenant di Microsoft Entra.
- Se necessario, la prima esercitazione crea e configura un dominio gestito di Microsoft Entra Domain Services.
- Un account utente che fa parte del dominio gestito. Assicurarsi che l'attributo SAMAccountName per l'utente non venga generato automaticamente. Se più account utente nel tenant di Microsoft Entra hanno lo stesso attributo mailNickname, viene generato automaticamente l'attributo SAMAccountName per ogni utente. Per altre informazioni, vedere Modalità di sincronizzazione di oggetti e credenziali in un dominio gestito di Microsoft Entra Domain Services.
- Nomi univoci di macchine virtuali Linux con un massimo di 15 caratteri per evitare nomi troncati che potrebbero causare conflitti in Active Directory.
Creare e connettersi a una macchina virtuale Ubuntu Linux
Se si dispone di una macchina virtuale Ubuntu Linux esistente in Azure, connettersi usando SSH, quindi continuare con il passaggio successivo per iniziare a configurare la macchina virtuale.
Se è necessario creare una macchina virtuale Ubuntu Linux o creare una macchina virtuale di test da usare con questo articolo, è possibile usare uno dei metodi seguenti:
- Interfaccia di amministrazione di Microsoft Entra
- Interfaccia della riga di comando di Azure
- Azure PowerShell
Quando si crea la macchina virtuale, prestare attenzione alle impostazioni della rete virtuale per assicurarsi che la macchina virtuale possa comunicare con il dominio gestito:
- Distribuire la macchina virtuale nella stessa rete virtuale con peering in cui è stato abilitato Microsoft Entra Domain Services.
- Distribuire la macchina virtuale in una subnet diversa rispetto al dominio gestito di Microsoft Entra Domain Services.
Dopo aver distribuito la macchina virtuale, seguire la procedura per connettersi alla macchina virtuale tramite SSH.
Configurare il file hosts
Per assicurarsi che il nome host della macchina virtuale sia configurato correttamente per il dominio gestito, modificare il file /etc/hosts e impostare il nome host:
sudo vi /etc/hosts
Nel file hosts aggiornare l'indirizzo localhost. Nell'esempio seguente:
- aaddscontoso.com è il nome di dominio DNS del dominio gestito.
- ubuntu è il nome host della macchina virtuale Ubuntu che si sta aggiungendo al dominio gestito.
Aggiornare questi nomi con i propri valori:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Al termine, salvare ed uscire dal file hosts usando il :wq
comando dell'editor.
Installare i pacchetti necessari
La macchina virtuale richiede alcuni pacchetti aggiuntivi per aggiungere la macchina virtuale al dominio gestito. Per installare e configurare questi pacchetti, aggiornare e installare gli strumenti di aggiunta a un dominio usando apt-get
Durante l'installazione di Kerberos, il pacchetto krb5-user richiede il nome dell'area di autenticazione in ALL UPPERCA edizione Standard. Ad esempio, se il nome del dominio gestito è aaddscontoso.com, immettere AADDSCONTOSO.COM come area di autenticazione. L'installazione scrive le [realm]
sezioni e [domain_realm]
nel file di configurazione /etc/krb5.conf . Assicurarsi di specificare l'area di autenticazione come ALL UPPERCA edizione Standard:
sudo apt-get update
sudo apt-get install krb5-user samba sssd sssd-tools libnss-sss libpam-sss ntp ntpdate realmd adcli
Configurare il protocollo NTP (Network Time Protocol)
Per il corretto funzionamento della comunicazione del dominio, la data e l'ora della macchina virtuale Ubuntu devono essere sincronizzate con il dominio gestito. Aggiungere il nome host NTP del dominio gestito al file /etc/ntp.conf .
Aprire il file ntp.conf con un editor:
sudo vi /etc/ntp.conf
Nel file ntp.conf creare una riga per aggiungere il nome DNS del dominio gestito. Nell'esempio seguente viene aggiunta una voce per aaddscontoso.com . Usare il proprio nome DNS:
server aaddscontoso.com
Al termine, salvare e uscire dal file ntp.conf usando il
:wq
comando dell'editor.Per assicurarsi che la macchina virtuale sia sincronizzata con il dominio gestito, sono necessari i passaggi seguenti:
- Arrestare il server NTP
- Aggiornare la data e l'ora dal dominio gestito
- Avviare il servizio NTP
Eseguire i comandi seguenti per completare questi passaggi. Usare il proprio nome DNS con il
ntpdate
comando :sudo systemctl stop ntp sudo ntpdate aaddscontoso.com sudo systemctl start ntp
Aggiungere una macchina virtuale al dominio gestito
Ora che i pacchetti necessari sono installati nella macchina virtuale e NTP è configurato, aggiungere la macchina virtuale al dominio gestito.
Usare il
realm discover
comando per individuare il dominio gestito. Nell'esempio seguente viene individuata la AADDSCONTOSO.COM dell'area di autenticazione. Specificare il proprio nome di dominio gestito in ALL UPPERCA edizione Standard:sudo realm discover AADDSCONTOSO.COM
Se il comando non riesce a trovare il
realm discover
dominio gestito, esaminare i passaggi seguenti per la risoluzione dei problemi:- Assicurarsi che il dominio sia raggiungibile dalla macchina virtuale. Provare
ping aaddscontoso.com
a verificare se viene restituita una risposta positiva. - Verificare che la macchina virtuale sia distribuita nella stessa rete virtuale con peering in cui è disponibile il dominio gestito.
- Verificare che le impostazioni del server DNS per la rete virtuale siano state aggiornate in modo che puntino ai controller di dominio del dominio gestito.
- Assicurarsi che il dominio sia raggiungibile dalla macchina virtuale. Provare
Inizializzare Ora Kerberos usando il
kinit
comando . Specificare un utente che fa parte del dominio gestito. Se necessario, aggiungere un account utente a un gruppo in Microsoft Entra ID.Anche in questo caso, il nome di dominio gestito deve essere immesso in ALL UPPERCA edizione Standard. Nell'esempio seguente l'account denominato
contosoadmin@aaddscontoso.com
viene usato per inizializzare Kerberos. Immettere il proprio account utente che fa parte del dominio gestito:sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Infine, aggiungere la macchina virtuale al dominio gestito usando il
realm join
comando . Usare lo stesso account utente che fa parte del dominio gestito specificato nel comando precedentekinit
, ad esempiocontosoadmin@AADDSCONTOSO.COM
:sudo realm join --verbose AADDSCONTOSO.COM -U 'contosoadmin@AADDSCONTOSO.COM' --install=/
L'aggiunta della macchina virtuale al dominio gestito richiede alcuni istanti. L'output di esempio seguente mostra che la macchina virtuale è stata aggiunta correttamente al dominio gestito:
Successfully enrolled machine in realm
Se la macchina virtuale non riesce a completare correttamente il processo di aggiunta al dominio, assicurarsi che il gruppo di sicurezza di rete della macchina virtuale consenta il traffico Kerberos in uscita sulla porta TCP + UDP 464 alla subnet di rete virtuale per il dominio gestito.
Se è stato ricevuto l'errore GSS non specificato. Il codice secondario può fornire altre informazioni (server non trovato nel database Kerberos), aprire il file /etc/krb5.conf e aggiungere il codice seguente nella [libdefaults]
sezione e riprovare:
rdns=false
Aggiornare la configurazione di SSSD
Uno dei pacchetti installati in un passaggio precedente era per il daemon dei servizi di sicurezza di sistema (SSSD). Quando un utente tenta di accedere a una macchina virtuale usando le credenziali di dominio, SSSD inoltra la richiesta a un provider di autenticazione. In questo scenario, SSSD usa Servizi di dominio per autenticare la richiesta.
Aprire il file sssd.conf con un editor:
sudo vi /etc/sssd/sssd.conf
Impostare come commento la riga per use_fully_qualified_names come indicato di seguito:
# use_fully_qualified_names = True
Al termine, salvare ed uscire dal file sssd.conf usando il
:wq
comando dell'editor.Per applicare la modifica, riavviare il servizio SSSD:
sudo systemctl restart sssd
Configurare le impostazioni dell'account utente e del gruppo
Con la macchina virtuale aggiunta al dominio gestito e configurata per l'autenticazione, sono disponibili alcune opzioni di configurazione utente da completare. Queste modifiche alla configurazione includono l'autenticazione basata su password e la creazione automatica delle home directory nella macchina virtuale locale quando gli utenti di dominio accedono per la prima volta.
Consenti autenticazione password per SSH
Per impostazione predefinita, gli utenti possono accedere solo a una macchina virtuale usando l'autenticazione basata su chiave pubblica SSH. L'autenticazione basata su password ha esito negativo. Quando si aggiunge la macchina virtuale a un dominio gestito, questi account di dominio devono usare l'autenticazione basata su password. Aggiornare la configurazione SSH per consentire l'autenticazione basata su password come indicato di seguito.
Aprire il file sshd_conf con un editor:
sudo vi /etc/ssh/sshd_config
Aggiornare la riga per PasswordAuthentication su sì:
PasswordAuthentication yes
Al termine, salvare e uscire dal file sshd_conf usando il
:wq
comando dell'editor.Per applicare le modifiche e consentire agli utenti di accedere usando una password, riavviare il servizio SSH:
sudo systemctl restart ssh
Configurare la creazione automatica della home directory
Per abilitare la creazione automatica della home directory quando un utente accede per la prima volta, completare la procedura seguente:
Aprire il
/etc/pam.d/common-session
file in un editor:sudo vi /etc/pam.d/common-session
Aggiungere la riga seguente in questo file sotto la riga
session optional pam_sss.so
:session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
Al termine, salvare ed uscire dal file di sessione comune usando il
:wq
comando dell'editor.
Concedere i privilegi sudo al gruppo "Amministratori di AAD DC"
Per concedere ai membri del controller di dominio di AAD Amministrazione istrators privilegi amministrativi nella macchina virtuale Ubuntu, aggiungere una voce ai /etc/sudoers. Dopo l'aggiunta, i membri del gruppo AAD DC Amministrazione istrators possono usare il sudo
comando nella macchina virtuale Ubuntu.
Aprire il file sudoers per la modifica:
sudo visudo
Aggiungere la voce seguente alla fine del file /etc/sudoers :
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators ALL=(ALL) NOPASSWD:ALL
Al termine, salvare e uscire dall'editor usando il
Ctrl-X
comando .
Accedere alla macchina virtuale usando un account di dominio
Per verificare che la macchina virtuale sia stata aggiunta correttamente al dominio gestito, avviare una nuova connessione SSH usando un account utente di dominio. Verificare che sia stata creata una home directory e che venga applicata l'appartenenza a un gruppo dal dominio.
Creare una nuova connessione SSH dalla console. Usare un account di dominio appartenente al dominio gestito usando il
ssh -l
comando , ad esempiocontosoadmin@aaddscontoso.com
e quindi immettere l'indirizzo della macchina virtuale, ad esempio ubuntu.aaddscontoso.com. Se si usa Azure Cloud Shell, usare l'indirizzo IP pubblico della macchina virtuale anziché il nome DNS interno.sudo ssh -l contosoadmin@AADDSCONTOSO.com ubuntu.aaddscontoso.com
Dopo aver eseguito la connessione alla macchina virtuale, verificare che la home directory sia stata inizializzata correttamente:
sudo pwd
Si dovrebbe trovarsi nella directory /home con la propria directory corrispondente all'account utente.
Verificare ora che le appartenenze ai gruppi siano state risolte correttamente:
sudo id
Verranno visualizzate le appartenenze ai gruppi dal dominio gestito.
Se è stato eseguito l'accesso alla macchina virtuale come membro del gruppo di Amministrazione istrators di AAD DC, verificare che sia possibile usare correttamente il
sudo
comando :sudo apt-get update
Passaggi successivi
In caso di problemi di connessione della macchina virtuale al dominio gestito o all'accesso con un account di dominio, vedere Risoluzione dei problemi di aggiunta al dominio.