Architettura del servizio di directory

4.8
(215)

La funzionalità di Active Directory può essere descritta come un’architettura a più livelli in cui i livelli rappresentano i processi server che forniscono servizi di directory alle applicazioni client. Active Directory è costituito da tre livelli di servizio e diverse interfacce e protocolli che interagiscono per fornire servizi di directory. I tre livelli di servizio ospitano i diversi tipi di informazioni necessarie per individuare i record nel database di directory. Al di sopra dei livelli di servizio in questa architettura ci sono i protocolli e le API (le API sono solo sui client) che consentono la comunicazione tra client e servizi di directory o, in caso di replica, tra due servizi di directory.

La Figura 2.3 mostra i livelli di servizio di Active Directory e le rispettive interfacce e protocolli. La direzione delle frecce indica il modo in cui i diversi client ottengono l’accesso ad Active Directory tramite le interfacce. I client LDAP e API di messaggistica (MAPI) ottengono l’accesso alla directory chiamando le funzioni, indicate da frecce unidirezionali nell’agente di sistema della directory. Il SAM esiste come libreria a collegamento dinamico (DLL) separata e può chiamare solo i punti di ingresso esportati dall’agente di sistema di directory DLL, Ntdsa.dll. Tutti gli altri componenti eccetto il motore di archiviazione estensibile (Esent.dll) si trovano in Ntdsa.dll stesso e sono collegati alle funzioni che desiderano chiamare. Pertanto, è necessaria un’interazione a tre vie tra le tre DLL.

Figura 2.3 Livelli di servizio di Active Directory e agenti di interfaccia

I componenti chiave del servizio includono quanto segue:

I client ottengono l’accesso ad Active Directory utilizzando uno dei seguenti meccanismi supportati da Active Directory:

Agente di sistema di directory

L’ agente di sistema di directory (DSA) è il processo che fornisce l’accesso all’archivio . L’archivio è l’archivio fisico delle informazioni sulla directory che si trova su un disco rigido. Il DSA è il processo lato server che crea un’istanza di un servizio di directory. I client utilizzano una delle interfacce supportate per connettersi (associare) al DSA e quindi cercare, leggere e scrivere oggetti di Active Directory e relativi attributi

Lo spazio dei nomi di Active Directory è partizionato in modo che i singoli controller di dominio non memorizzino l’intera directory. Ogni DSA contiene almeno una singola partizione di directory di Windows 2000 che archivia i dati di dominio per un dominio (come utenti, gruppi e unità organizzative) più due partizioni di directory non di dominio che archiviano i dati dell’intera foresta, inclusi lo schema ei dati di configurazione.

Il livello DSA fornisce le seguenti funzionalità:

Identificazione    dell’oggetto Ogni oggetto in Active Directory dispone di un GUID (identificatore univoco globale) permanente associato a diverse forme di stringa del nome dell’oggetto (SAMAccountName, nome principale utente, nome distinto) nonché un identificatore di sicurezza. Questi nomi di oggetti e l’identificatore di sicurezza non sono permanenti, ovvero possono essere modificati. Tutti i riferimenti permanenti all’oggetto sono mantenuti in termini di GUID; il nome dell’oggetto viene utilizzato per la navigazione nella gerarchia e per scopi di visualizzazione e l’identificatore di sicurezza viene utilizzato per il controllo dell’accesso. Il DSA mantiene l’associazione GUID con un oggetto quando cambia il nome della stringa dell’oggetto o l’identificatore di sicurezza.

Applicazione dello schema degli aggiornamenti    In un sistema multimaster, una modifica a un oggetto schema in una replica potrebbe entrare in conflitto con oggetti esistenti in quella replica e anche con oggetti in altre repliche. In Windows 2000, una modifica dello schema è un’operazione a master singolo, quindi se un aggiornamento non genera un conflitto nella replica di origine, l’aggiornamento è considerato accettabile in tutte le repliche. Pertanto, gli aggiornamenti replicati non eseguono alcun controllo dello schema e non è necessario attendere la replica dello schema prima di creare istanze di un nuovo oggetto o attributo.

Applicazione del controllo di accesso    Il DSA impone le limitazioni di sicurezza nella directory. Il livello DSA legge gli identificatori di sicurezza (SID) sul token di accesso.

Supporto per la replica    Il DSA contiene gli hook per le notifiche di replica. Tutti gli aggiornamenti degli oggetti devono infine passare attraverso la funzione appropriata affinché il servizio directory funzioni correttamente.

Riferimenti    DSA gestisce le informazioni sulla gerarchia di directory (denominate “conoscenza”), che riceve dal livello del database. DSA è responsabile dei riferimenti incrociati degli oggetti di dominio di Active Directory in alto e in basso nella gerarchia e anche ad altre gerarchie di dominio.

Livello database

Il livello del database fornisce una vista a oggetti delle informazioni del database applicando la semantica dello schema ai record del database, isolando così i livelli superiori del servizio di directory dal sistema di database sottostante. Il livello del database è un’interfaccia interna. Non vengono effettuate chiamate di accesso al database direttamente al motore di archiviazione estensibile; invece, tutto l’accesso al database viene instradato attraverso il livello del database.

Active Directory fornisce uno spazio dei nomi gerarchico. Ogni oggetto è identificato in modo univoco nel database dal suo nome distinto. L’attributo di denominazione individuale, chiamato nome distinto relativo, è univoco all’interno del contenitore padre dell’oggetto; il nome distinto relativo e la catena di nomi di oggetti padre successivi costituiscono il nome distinto dell’oggetto. Il database memorizza il nome distinto relativo per ogni oggetto, nonché un riferimento all’oggetto padre. Il livello del database segue questi riferimenti padre e concatena i nomi distinti relativi successivi per formare nomi distinti.

Tutti i dati che descrivono un oggetto vengono mantenuti come un insieme di attributi, che vengono archiviati come colonne nel database. Il livello del database è responsabile della creazione, del recupero e dell’eliminazione di singoli record, attributi all’interno di record e valori all’interno di attributi. Per eseguire queste funzioni, il livello del database utilizza la cache dello schema (una struttura in memoria nel DSA) per ottenere le informazioni sugli attributi di cui ha bisogno. 

Motore di archiviazione estensibile

Active Directory è implementato su un gestore di tabelle ISAM (Sequential Access Method) indicizzato. Questo database è una versione del database ESE utilizzato da Microsoft® Exchange Server versione 5.5 di messaggistica client/server e groupware. La versione per Windows 2000 di questo database è Esent.dll.

ESE archivia tutti gli oggetti di Active Directory. Può supportare un database di dimensioni fino a 16 terabyte, che teoricamente può contenere molti milioni di oggetti per dominio.

Nota

Il test del database è stato effettuato su 40 milioni di oggetti per dominio.

Le seguenti caratteristiche ESE lo rendono adatto alle esigenze di archiviazione di Active Directory:

Active Directory viene fornito con uno schema predefinito che definisce tutti gli attributi necessari e consentiti per un determinato oggetto. ESE riserva spazio di archiviazione solo per lo spazio utilizzato, ovvero solo per gli attributi che hanno valori, non per tutti i possibili attributi. Ad esempio, se un oggetto utente ha già 50 attributi definiti nello schema e si crea un utente con valori solo per 4 attributi, lo spazio di archiviazione viene allocato solo per quei 4 attributi. Se in seguito vengono aggiunti più attributi, viene allocata più spazio di archiviazione.

Esent.dll implementa la funzionalità di ricerca e recupero del database sottostante. Inoltre, ESE è in grado di memorizzare attributi che possono avere più valori. Ad esempio, il database può memorizzare più numeri di telefono per un singolo utente senza richiedere un attributo di numero di telefono diverso per ciascun numero di telefono.

/ 5
Grazie per aver votato!
Vuoi abilitare le notifiche?
Desiderate avere la possibilita’ di ricevere delle notifiche? Se si avrete la possibilita’ di essere sempre aggiornati con le nostre ultime proposte o notizie . Consigliamo l’adesione Grazie !
Attiva

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 215

No votes so far! Be the first to rate this post.

Vai alla barra degli strumenti