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 questa 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 tua sottoscrizione, sincronizzato con una directory locale o una directory esclusivamente cloud.
- Un dominio gestito di Microsoft Entra Domain Services, attivato e configurato nel tenant di Microsoft Entra.
- Se necessario, il primo tutorial 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 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 passare al 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:
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 VM (macchina virtuale) nella stessa rete virtuale o in una 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
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 dell'host della macchina virtuale Ubuntu che stai aggiungendo al dominio gestito.
Aggiornare questi nomi con i propri valori:
127.0.0.1 ubuntu.aaddscontoso.com ubuntu
Al termine, salvare e uscire dall'host file usando il comando :wq
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 del dominio in MAIUSCOLO. Ad esempio, se il nome del dominio gestito è aaddscontoso.com, immettere AADDSCONTOSO.COM come realm. L'installazione scrive le sezioni [realm]
e [domain_realm]
nel file di configurazione /etc/krb5.conf. Assicurati di specificare l'ambito in TUTTE MAIUSCOLE:
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 comando
:wq
dell'editor.Per assicurarsi che la macchina virtuale sia sincronizzata con il dominio gestito, sono necessari i passaggi seguenti:
- Fermare 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 comando
ntpdate
: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 comando
realm discover
per individuare il dominio gestito. Nell'esempio seguente viene scoperto il dominio AADDSCONTOSO.COM. Specificare il proprio nome di dominio gestito in ALL UPPERCASE:sudo realm discover AADDSCONTOSO.COM
Se il comando
realm discover
non riesce a trovare il dominio gestito, esaminare i passaggi seguenti per la risoluzione dei problemi:- Assicurarsi che il dominio sia raggiungibile dalla macchina virtuale. Provare
ping aaddscontoso.com
per verificare se viene restituita una risposta positiva. - Verificare che la macchina virtuale sia distribuita nella stessa rete virtuale o in una 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
Inizializza ora Kerberos usando il comando
kinit
. Specificare un utente che fa parte del dominio gestito. Se necessario, aggiungere un account utente a un gruppo in Microsoft Entra ID.Di nuovo, il nome di dominio gestito deve essere immesso in maiuscolo. Nell'esempio seguente viene usato l'account denominato
contosoadmin@aaddscontoso.com
per inizializzare Kerberos. Inserisci il tuo account utente personale che fa parte del dominio gestito.sudo kinit -V contosoadmin@AADDSCONTOSO.COM
Infine, aggiungere la macchina virtuale al dominio gestito usando il comando
realm join
. Usare lo stesso account utente che fa parte del dominio gestito specificato nel comandokinit
precedente, 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 con successo il processo di unione al dominio, assicuratevi che il gruppo di sicurezza di rete della VM consenta il traffico Kerberos in uscita sulla porta TCP + UDP 464 verso la subnet di rete virtuale per il vostro dominio gestito.
Se è stato ricevuto l'errore 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 sezione [libdefaults]
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 il file
sssd.conf e uscire utilizzando il 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.
Nota
Le immagini del marketplace Ubuntu in genere avranno alcune opzioni di configurazione impostate in /etc/ssh/sshd_config.d, tra cui PasswordAuthentication nel file 50-cloud-init.conf, quindi assicurarsi di aggiornare anche il file per evitare di sovrascrivere quello impostato con la procedura seguente.
Aprire il file sshd_conf con un editor:
sudo vi /etc/ssh/sshd_config
Aggiornare la riga per PasswordAuthentication in sì:
PasswordAuthentication yes
Al termine, salvare e uscire dal file sshd_conf usando il comando
:wq
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 file
/etc/pam.d/common-session
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 sessione comune usando il comando
:wq
dell'editor.
Concedere al gruppo "AAD DC Administrators" i privilegi sudo
Per concedere i privilegi amministrativi del gruppo sulla macchina virtuale Ubuntu ai membri del gruppo AAD DC Administrators, aggiungi una voce al file /etc/sudoers. Dopo l'aggiunta, i membri del gruppo amministratori di AAD DC possono usare il comando sudo
nella macchina virtuale Ubuntu.
Aprire il file sudoers per la modifica:
sudo visudo
Aggiungere la seguente voce 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 comando
Ctrl-X
.
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 comando
ssh -l
, 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
Dovresti poter vedere le appartenze ai gruppi dal dominio gestito.
Se hai effettuato l'accesso alla macchina virtuale come membro del gruppo AAD DC Administrators di
, verifica di poter utilizzare correttamente il comando : sudo apt-get update
Passaggi successivi
Se si verificano problemi durante la connessione della macchina virtuale al dominio gestito o l'accesso con un account di dominio, vedere Risoluzione dei problemi di aggiunta al dominio.