Active Directory è un grande database gerarchico di oggetti, ovvero utenti, gruppi, computer, server, stampanti, unità organizzative. Active Directory fornisce informazioni sugli oggetti, li organizza, controlla l'accesso e ne imposta la sicurezza. Alcuni oggetti sono contenitori di altri oggetti, e sono quindi chiamati oggetti contenitore, mentre gli oggetti che non possono contenere altri oggetti sono detti oggetti foglia. La nidificazione di oggetti all’interno di altri oggetti può continuare fino a che l’ultimo oggetto non risulta essere un oggetto foglia.
Per fare un esempio, consideriamo un oggetto “user” al quale vengono associate una serie di proprietà: nome, cognome, username, etc.. Queste proprietà vengono dette attributi, e tali attributi sono definiti da uno schema interno ad Active Directory. Ciascun oggetto rappresenta pertanto un singolo elemento e i suoi attributi sono definiti dallo schema, che determina anche il tipo di oggetti che possono essere immagazzinati in Active Directory.
Gli oggetti devono possedere tutte le caratteristiche previste dallo schema per quell’oggetto. Lo schema determina il tipo di dati, l’assegnazione dei nomi, le regole di sintassi per individuare l’oggetto, e definisce gli attributi stabilendo quali di essi possano essere associati ad un oggetto piuttosto che ad un altro. Ogni oggetto creato all’interno di Active Directory appartiene a una particolare classe, anch’essa definita dallo schema di Active Directory. Le classi (Object Classes) descrivono i possibili oggetti che possono essere creati: ogni classe è infatti un insieme di attributi definiti dalla classe stessa. E’ importante dire che ogni attributo viene definito una sola volta e può essere utilizzato in più classi.
Lo Schema di Active Directory è modificabile e ampliabile in modo dinamico: in particolari condizioni potrebbe essere necessario creare nuovi attributi per garantire l’integrazione tra gli oggetti di Active Directory e altre applicazioni esterne.
Per visualizzare l’interno schema di Active Directory bisogna registrare lo snap-in “Schema Management”, già installato nel sistema ma non registrato automaticamente per motivi di sicurezza.
Per installare lo snap-in Schema di Active Directory
- Aprire il prompt dei comandi, digitare il comando regsvr32 schmmgmt.dll e premere INVIO.
- 2.Fare clic sul pulsante Start, scegliere Esegui, digitare mmc e quindi fare clic su OK.
- 3.Scegliere Aggiungi/Rimuovi snap-in dal menu File.
- 4.In Snap-in disponibili fare clic su Schema di Active Directory, scegliere Aggiungi e quindi fare clic su OK.Per salvare la console, scegliere Salva dal menu File. Nella finestra di dialogo Salva con nome, in Nome file digitare un nome per lo snap-in e quindi fare clic su Salva.
|
Come si può vedere nell'interfaccia amministrativa appena caricata, esistono diverse classi di oggetti all'interno del database e ad ogni oggetto vengono associati tanti attributi.
Muoversi in Active Directory: il protocollo LDAP
Un oggetto di Active Directory può essere raggiunto tramite un percorso gerarchico che determina il nome completo dell’oggetto stesso: il nome include tutti gli oggetti contenitori attraversati. Questo nome completo è detto DN, Distinguished Name, ossia nome distinto e univoco. Il nome dell’oggetto finale, privo del percorso, è chiamato RDN, Relative Distinguished Name, ossia nome distinto relativo.
Detto questo, è necessario introdurre LDAP, acronimo di Lightweight Directory Access Protocol, protocollo standard per l'interrogazione e la modifica dei servizi di directory. LDAP permette di interfacciarsi con Active Directory: ogni Domain Controller infatti esegue un Server LDAP interrogabile tramite sintassi LDAP.
Secondo la sintassi LDAP, ogni oggetto che si trova all'interno di Active Directory viene identificato per mezzo del suo Distinguished Name (DN), costruito mettendo in sequenza una serie di componenti specifiche separate da una virgola. Il compito di tale sequenza è quello di descrivere il percorso assoluto dell'oggetto preso in esame, e quindi la sua posizione all'interno della struttura di directory.
Ad esempio, all’utente Administrator del dominio “test.local” corrisponde il seguente DN:
CN=Administrator,CN=Users,DC=test,DC=local
mentre l’RDN sarà semplicemente Administrator
Le componenti di un DN sono le seguenti:
- L'acronimo DC (Domain Component) indica la componente di dominio. Il dominio laore.local in LDAP viene rappresentato come DC=laore, DC=local. In LDAP un nome di dominio viene spezzettato in più Domain Component separate da una virgola, nello specifico una DC per ogni livello del nome DNS.
- L'acronimo OU identifica invece una Organizational Unit. Se in Active Directory di Laore gli oggetti sono organizzati per mezzo OU, dovrete ricostruirne la struttura anche nel percorso LDAP. Nel caso di un utente Administrator, OU non esiste.
- CN sta per Common Name ed indica il nome comune di un oggetto. Il nome comune dell'oggetto di classe utente Administrator sarà quindi "CN=Administrator".
Ovviamente i sistemi Windows non prevedono che gli utenti trovino un oggetto tramite sintassi LDAP. Esiste un algoritmo LDAP che traduce i nomi LDAP in nomi DNS e viceversa, il resto del compito viene svolto dall’interfaccia utente che nasconde i meccanismi propri di LDAP.
Un ottimo strumento per visualizzare l’intero database Active Directory è AD Explorer, creato da Bryce Cogswell and Mark Russinovich e reso disponibile gratuitamente all’indirizzo http://technet.microsoft.com/en-us/sysinternals/bb963907. AD Explorer permette di definire gli attributi, le proprietà dell'oggetto, modificare le autorizzazioni, visualizzare lo schema di un oggetto ed eseguire ricerche molto precise.