Implementare Azure AD Domain Services

Gli Azure AD Domain Services permettono di poter aggiungere (joinare) macchine virtuali ad un dominio gestito senza la necessità di distribuire e manutenere i domain controller. Abilitando gli Azure AD Domain Services, verranno create in Azure due macchine virtuali che diventeranno i domain controller del dominio che vorrete creare. Queste due macchine saranno collegate ad una Azure Virtual Network (VNET) e sarà possibile aggiungere computer sia ospitati in macchine virtuali Azure sia ospitati on-premises, se la vostra rete virtuale è collegata in modalità Site-to-Site alla vostra infrastruttura aziendale. Per poter accedere alle applicazioni potrete utilizzare le vostre credenziali di Azure AD.

Sfruttando le funzionalità offerte, sarà possibile utilizzare LDAP, NTLM (NT LAN Manager) e l’autenticazione Kerberos, ampiamente usate nelle aziende, per eseguire la migrazione in Azure di applicazioni legacy compatibili con le directory.

Per abilitare le funzionalità di Azure AD Domain Services è necessario prima avere una directory di Azure AD (sincronizzata con una directory locale oppure solo cloud).

Una volta abilitata la funzionalità di Azure AD Domain Services sarà possibile eseguire i seguenti compiti amministrativi:

  • Aggiungere computer al dominio gestito.
  • Configurare le Group Policy per le unità organizzative (OU) “AADDC Computers” e “AADDC Users” nel dominio gestito.
  • Amministrare il DNS nel dominio gestito.
  • Creare e amministrare unità organizzative (OU) personalizzate nel dominio gestito.
  • Ottenere l’accesso amministrativo ai computer aggiunti al dominio gestito.

Privilegi amministrativi non disponibili in un dominio gestito

Il dominio viene gestito da Microsoft, incluse le attività quali applicazione di patch, monitoraggio ed esecuzione di backup. Il dominio è bloccato e non si hanno privilegi per eseguire alcune attività amministrative. Ecco alcuni esempi di attività che non è possibile eseguire:

  • Non vengono concessi privilegi di amministratore di dominio (Domain Admin) o amministratore dell’organizzazione (Enterprise Admin) per il dominio gestito.
  • Non è possibile estendere lo Schema del dominio gestito.
  • Non è possibile connettersi ai controller di dominio per il dominio gestito usando Desktop remoto.
  • Non è possibile aggiungere controller di dominio al dominio gestito.

Configurazione della directory di Azure

In questo articolo utilizzerò una directory di Azure che utilizza un dominio personalizzato chiamato “demolab.it”. Per aggiungere un dominio personalizzato alla vostra Azure Active Directory potete seguire le indicazioni contenute nell’articolo Aggiungere un nome di dominio personalizzato ad Azure Active Directory

Figura 1: Dominio personalizzato da utilizzare per gli Azure AD Domain Services

Poiché sto utilizzando un Directory esistente, ho anche alcuni gruppi ed alcuni utenti attivi. Agli utenti ho cambiato il logon name (username) in modo tale che utilizzino il dominio personalizzato “demolab.it”.

Figura 2: Utenti già esistenti in Azure AD

Abilitazione della funzionalità di Azure AD Domain Services

Dal portale di Azure scegliete di creare una nuova risorsa di tipo Azure AD Domain Services e scegliete quale sarà il DNS Domain Name che verrà utilizzato per creare il dominio gestito. Come già anticipato, io utilizzerò il dominio “demolab.it”. Indicate la sottoscrizione, il Resource Group e la Location dove creare le risorse.

Figura 3: Scelta del nome di dominio ce dovrà utilizzare Azure AD Domain Services

Nella schermata successiva scegliete a quale Virtual Network vorrete collegare i vostri Azure AD Domain Services ed il dominio gestito. Potete utilizzare una rete esistente oppure crearne una nuova. Nel mio caso ho deciso di creare una nuova rete virtuale.

Figura 4: Creazione di una nuova VNET da utilizzare con gli Azure AD Domain Services

Alla VNET verrà associato anche un Network Security Group, ottimizzato per proteggere gli Azure AD Domain Services.

Figura 5: Scelta della VNET e creazione di un Network Security Group associato

Nel passaggio successivo dovrete aggiungere gli utenti al gruppo AAD DC Administrators, uno speciale gruppo che avrà i privilegi nel dominio gestito che verrà creato. Questo gruppo verrà aggiunto al gruppo Administrators locale di tutte le macchine che verranno aggiunte al dominio gestito, come succede ai Domain Admins in Active Directory on-premises, e potranno connettersi in Desktop remoto alle macchine che verranno successivamente aggiunte (joinate) al dominio gestito.

NOTA: In un dominio gestito con Azure AD Domain Services non ci sono né Domain Admins né Enterprise Admins.

Figura 6: Aggiunta degli utenti al gruppo degli AAD DC Administrators

Controllate le configurazioni e cliccate su OK per completare la creazione degli Azure AD Domain Services. Ci vorranno circa 30 minuti per completare la creazione dei due domain controller.

Figura 7: Configurazione completata

Dopo circa 30 minuti sarà possibile verificare l’avvenuta creazione degli Azure AD Domain Services e sarà possibile aggiornare i DNS della vostra Virtual Network in modo tale che puntino agli indirizzi IP dei due domain controller creati per il dominio gestito. Cliccate su Configure e nel giro di pochi secondi la VNET verrà configurata automaticamente con i due IP da utilizzare per la risoluzione DNS.

Figura 8: Creazione completata e configurazione dei DNS

Infatti, se controllate le configurazioni della VNET vedrete che saranno stati modificati i server DNS.

Figura 9: Modifica dei server DNS della VNET compleltata

Nota: Durante il processo di provisioning, Azure AD Domain Services crea le applicazioni “Domain Controller Services” e “AzureActiveDirectoryDomainControllerServices” all’interno della directory dell’organizzazione. Queste applicazioni sono necessarie per far funzionare il dominio gestito ed è fondamentale che non vengono mai eliminate.

Figura 10: Applicazioni create per la gestione di Azure AD Domain Services

Connessione al dominio gestito

Per utilizzare il dominio gestito e per configurarlo è possibile creare una nuova VM e collegarla alla VNET utilizzata.

Figura 11: Creazione di una nuova VM per gestire Azure AD Domain Services

Terminata la creazione della VM potete collegarvi col le credenziali di amministratore locale che avete indicato al momento della creazione. Se controllate le configurazioni di rete della VM noterete che ha ottenuto i DNS corretti e quindi sarà capace di connettersi al dominio gestito “demolab.it”

Figura 12: La macchina virtuale ha ottenuto le configurazioni di rete corrette e può risolvere il nome del dominio gestito “demolab.it”

Per poter aggiungere la macchina al dominio gestito potete utilizzare le credenziali di un utente del gruppo AAD DC Administrators, come mostrato in figura:

Figura 13: aggiunta della VM al dominio gestito utilizzando le credenziali di un utente membro del gruppo AAD DC Administrators

Per autenticare gli utenti nel dominio gestito, Azure Active Directory Domain Services necessita dell’hash delle password in un formato idoneo per l’autenticazione NTLM e Kerberos. Azure AD non genera o archivia l’hash delle password nel formato necessario per l’autenticazione NTLM o Kerberos finché non si abilita Azure Active Directory Domain Services per il tenant. Per ovvi motivi di sicurezza, Azure AD non archivia nemmeno le credenziali di tipo password in un formato non crittografato. Azure AD quindi non può generare automaticamente questi hash delle password NTLM o Kerberos in base alle credenziali esistenti degli utenti.

Se avete configurato Azure AD per avere account utente solo cloud, tutti gli utenti che devono usare Azure Active Directory Domain Services devono cambiare le proprie password.

Se Azure Ad è sincronizzata con una directory on-premises (per mezzo di Azure AD Connect), è necessario abilitare la sincronizzazione degli hash NTLM e Kerberos per usare il dominio gestito. Fate riferimento all’articolo Abilitare la sincronizzazione password nel dominio gestito per gli account utente sincronizzati con l’istanza locale di AD per abilitare la sincronizzazione degli hash delle password.

Poiché l’utente che sto utilizzando per aggiungere la macchina virtuale al dominio gestito “demolab.it” era già presente in Azure AD (nel mio caso è solo Cloud) prima della creazione degli Azure AD Domain Services, non riesco a joinare la macchina al dominio gestito e ricevo un messaggio di errore (in realtà non chiarissimo).

Figura 14:Messaggio di errore dovuto alla mancanza di un hash delle password in formato corretto

Procedo quindi al cambiamento della password per l’utente admin@demolab.it, che avevo aggiunto al gruppo AAD DC Administrators. Il processo di modifica delle password determina la generazione in Azure AD degli hash delle password richiesti da Azure Active Directory Domain Services per l’autenticazione Kerberos e NTLM. È possibile impostare come scadute le password per tutti gli utenti del tenant che devono usare Azure Active Directory Domain Services oppure richiedere a tali utenti di cambiare le proprie password.

In questo caso mi sono collegato alla pagina https://mypass.microsoft.com e ho cambiato la password dell’utente admin@demolab.it, che stavo utilizzando per joinare la VM al dominio gestito.

Figura 15: Modifica della password dell’utente del gruppo AAD DC Administrators che stavo utilizzando per joinare la VM al dominio gestito

Dopo circa 20 minuti dalla modifica, la nuova password è utilizzabile in Azure Active Directory Domain Services. Ho riprovato ad aggiungere la VM al dominio gestito e questa volta non ho ricevuto nessun errore.

Figura 16: Dopo la modifica della password e l’attesa di qualche minuto, il join al dominio gestito avviene senza problemi

Gestione di Azure AD Domain Services

Adesso che avete aggiunto la VM al dominio gestito potete installare le console per la gestione. Io ho aggiunto la Group Policy Console, tutti gli AD DS Tools ed anche la console per la gestione del DNS.

Figura 17: Aggiunta degli strumento di amministrazione

Come si può vedere nelle schermate successive, è ora possibile amministrare il dominio gestito. Potete utilizzare la console Active Directory Users and Computers, L’Active Directory Administrative Center oppure AD PowerShell.

Figura 18: Console Active Directory Users and Computers e visualizzazione dei Domain Controllers del dominio gestito

Nella OU AADDC Users potrete vedere tutti gli utenti che avere creato in Azure AD (sia che siano solo cloud, sia che siano sincronizzati con Active Directory on-premises). Si può notare che i pulsanti di creazione dei nuovi utenti e dei nuovi gruppi non sono abilitati. La gestione degli utenti dovrà continuare ad essere effettuata da Azure AD.

Figura 19: Utenti del dominio gestito, gli stessi presenti in Azure AD

Per creare un nuovo utente o un nuovo gruppo dovete collegarvi al Portale di Azure e effettuare l’operazione dal nodo Azure Active Directory. Come già detto prima, siate pazienti perché ci vorranno circa 20 minuti per sincronizzare Azure AD con Azure AD Domain Services e per vedere il nuovo utente apparire nella console di Active Directory Users and Computers.

Figura 20: Utenti di Azure AD

Per amministrare il DNS potete invece collegarvi ad uno dei domain controller che sono stati creati nel dominio gestito (recuperate i nomi nella OU dei DC)), come mostrato in figura:

Figura 21: Console di gestione del DNS

È possibile utilizzare la console Group Policy Management nella macchina virtuale aggiunta al dominio per amministrare le Group Policy (GPO) nel dominio gestito, a patto che siate membri del gruppo AAD DC Administrators.

Sono presenti diverse GPO nel dominio gestito, tra cui la Default Domain Policy, AADDC Computers GPO e AADDC users GPO. È possibile personalizzare queste GPO o crearne delle altre. Io ho creato una nuova Organizational Unit (OU) e una nuova Group policy (GPO), come mostrato in figura:

Figura 22: Console di gestione delle GPO del dominio gestito

Conclusioni

Molto spesso in azienda si usano applicazioni che usano LDAP per l’accesso in lettura o scrittura alla directory aziendale oppure usano l’autenticazione integrata di Windows (autenticazione NTLM o Kerberos) per autenticare gli utenti finali. Per spostare le applicazioni locali nel cloud, è necessario risolvere le dipendenze da Active Directory. Spesso gli amministratori adottano una delle soluzioni seguenti:

  • Creano una connessione VPN da sito a sito tra Azure e l’infrastruttura on-premises.
  • Creano un domain controller aggiuntivo dell’Active Directory aziendale in una VM di Azure
  • Creano in Azure un dominio separato, utilizzando una o più VM promosse a domain controller

Tutti questi approcci tuttavia prevedono costi elevati e un carico di lavoro amministrativo significativo. Gli amministratori devono distribuire i controller di dominio tramite macchine virtuali in Azure. In più, devono gestire, proteggere, applicare patch, monitorare, eseguire il backup e risolvere i problemi relativi a tali macchine virtuali. L’utilizzo di connessioni VPN alla directory locale rende i carichi di lavoro distribuiti in Azure suscettibili a errori o interruzioni di rete temporanee.

Azure Active Directory Domain Services è pensata per offrire un’alternativa più semplice.