Informazioni sulla configurazione predefinita
Aggiornamento: 22 luglio 2015
Importante
Questo argomento verrà archiviato presto.
Esiste un nuovo prodotto denominato "Azure Active Directory Connessione" che sostituisce AADSync e DirSync.
Azure AD Connect include i componenti e le funzionalità resi disponibili in precedenza come DirSync e AAD Sync.
A un certo punto, il supporto per Dirsync e AAD Sync terminerà.
Questi strumenti non vengono più aggiornati singolarmente con miglioramenti delle funzionalità e tutti i miglioramenti futuri verranno inclusi negli aggiornamenti delle Connessione di Azure AD.
Questo documento illustra una configurazione predefinita di Azure Active Directory Sync. L'obiettivo è che il lettore comprenderà il modo in cui il modello di configurazione, denominato provisioning dichiarativo, in Azure Active Directory Sync funziona in un esempio reale. Questo documento presuppone che sia già stato installato e configurato Azure Active Directory Sync usando la procedura guidata di installazione.
Descrizione dello scenario
In questo esempio viene usata una distribuzione con una foresta di account (A), una foresta di risorse (R) e una directory di AAD.
Ogni directory connessa ha una copia memorizzata nella cache, denominata spazio del connettore, delle informazioni pertinenti in Azure Active Directory Sincronizzazione. Al centro abbiamo il metaverse, la visualizzazione consolidata degli oggetti sincronizzati.
Si tratta dello scenario 2 descritto in Azure Active Directory Panoramica dello scenario di sincronizzazione.
Editor delle regole di sincronizzazione
La configurazione può essere visualizzata e modificata usando l'editor delle regole di sincronizzazione (SRE, Synchronization Rules Editor). Nel menu Start è disponibile un collegamento.
SRE è uno strumento di Resource Kit, ma è installato con Azure Active Directory Sync. Per iniziare, è necessario essere un membro del gruppo ADSyncAdmins. Quando viene avviato, viene visualizzata una schermata simile a quella riportata di seguito:
In questa schermata sono riportate tutte le regole di sincronizzazione create per la configurazione in uso. Ogni riga nella tabella corrisponde a una regola di sincronizzazione. A sinistra in Tipi di regola sono elencati i due tipi diversi: in ingresso e in uscita. I tipi In ingresso e In uscita derivano dalla visualizzazione dei metaverse. Ai fini di queste informazioni generali, verranno trattate principalmente le regole in uscita. L'elenco effettivo delle regole di sincronizzazione dipenderà dallo schema rilevato in AD. Nell'immagine precedente la foresta dell'account (Azure Active Directory Sync.com) non dispone di servizi, ad esempio Exchange e Lync, e non sono state create regole di sincronizzazione per questi servizi. Nella foresta di risorse, tuttavia, sono presenti regole di sincronizzazione per questi servizi. A seconda della versione rilevata, il contenuto delle regole sarà differente. In una distribuzione con Exchange 2013, ad esempio, saranno configurati più flussi di attributi rispetto a distribuzioni con Exchange 2010 ed Exchange 2007.
Regola di sincronizzazione
Una regola di sincronizzazione è un oggetto di configurazione con un set di attributi trasmessi in flusso quando una condizione risulta soddisfatta. Viene usata anche per descrivere il modo in cui un oggetto presente in uno spazio connettore è correlato a un oggetto del metaverse. Questa caratteristica viene chiamata "unione" o "associazione". Le regole di sincronizzazione hanno una precedenza che indica come si correlano l'una all'altra. Una regola di sincronizzazione con un valore numerico di precedenza basso ha una precedenza più alta e, in caso di conflitto del flusso di attributi, la precedenza più alta avrà la priorità.
Come esempio, verrà esaminata la regola di sincronizzazione “In from AD – User AccountEnabled”. Questa riga verrà contrassegnata in SRE e selezionare Modifica.A Sync Rule include quattro sezioni di configurazione: Descrizione, filtro di ambito, Regole di join e Trasformazioni.
Descrizione
La prima sezione fornisce informazioni di base, ad esempio il nome e una descrizione.
Sono inoltre disponibili informazioni sul sistema connesso a cui la regola è correlata, sul tipo di oggetto presente nel sistema connesso a cui si applica la regola e sul tipo di oggetto del metaverse. Il tipo di oggetto del metaverse è sempre una persona, indipendentemente dal fatto che il tipo di oggetto di origine sia un utente, iNetOrgPerson o un contatto. Il tipo di oggetto del metaverse deve rimanere invariato, pertanto, viene creato come tipo generico. Il tipo di collegamento può essere impostato su Join, StickyJoin o Provision. Questa impostazione interagisce con la sezione Regole di unione e verrà discussa più avanti.
Filtro per la definizione dell’ambito
La sezione Filtro per la definizione dell'ambito viene usata per configurare i tempi di applicazione di una regola di sincronizzazione. Dal momento che il nome della regola di sincronizzazione in esame indica che deve essere applicata soltanto per utenti abilitati, l'ambito viene configurato in modo che l'attributo AD userAccountControl non possa avere il bit 2 impostato. Quando in AD viene individuato un utente, questa regola viene applicata se l'attributo userAccountControl è impostato sul valore decimale 512 (utente normale abilitato), mentre non viene applicata se l'utente trovato ha l'attributo userAccountControl impostato su 514 (utente normale disabilitato).
Il filtro per la definizione dell'ambito contiene gruppi e clausole che possono essere nidificati. Per essere applicate, tutte le clausole all'interno di un gruppo devono essere soddisfatte per una regola di sincronizzazione. Quando vengono definiti più gruppi, è necessario soddisfare almeno un gruppo per applicare la regola. Ad esempio, un OR logico viene valutato tra gruppi e un AND logico viene valutato all'interno di un gruppo. Un esempio di quando affermato è costituito dalla regola di sincronizzazione in uscita Out to AAD – Group Join, mostrata di seguito. Sono presenti due gruppi di filtri di sincronizzazione, uno per i gruppi di sicurezza (securityEnabled EQUAL True) e uno per i gruppi di distribuzione (securityEnabled EQUAL False).
Questa regola viene usata per definire i gruppi di cui deve essere effettuato il provisioning in AAD. Per esser sincronizzati con AAD, i gruppi di distribuzione devono essere abilitati per la posta elettronica. Questa caratteristica non è invece necessaria per i gruppi di sicurezza. Come è possibile notare, vengono valutati anche diversi altri attributi aggiuntivi.
Regole di unione
La terza sezione viene usata per configurare il modo in cui gli oggetti presenti nello spazio connettore sono correlati a oggetti presenti nel metaverse. La regola esaminata in precedenza non dispone di alcuna configurazione per regole di unione. Per questo motivo, viene ora presa in esame la regola In from AD – User Join.
Il contenuto delle regole di unione dipende dall'opzione di associazione selezionata nell'Installazione guidata. Per una regola in ingresso la valutazione inizia con un oggetto presente nello spazio connettore di origine. Nelle regole di unione ciascun gruppo viene poi valutato in sequenza. Se, usando una delle regole di unione, la valutazione di un oggetto di origine indica che questo corrisponde esattamente a un oggetto presente nel metaverse, i due oggetti vengono uniti. Se dopo la valutazione di tutte le regole non risulta alcuna associazione, viene usato il tipo di collegamento indicato nella pagina di descrizione. Se per questa impostazione è specificato il valore Provision, nella destinazione, ovvero nel metaverse, viene creato un nuovo oggetto. Il provisioning di un nuovo oggetto nel metaverse viene definito anche "proiezione di un oggetto nel metaverse". Le regole di unione vengono valutate una sola volta. Quando un oggetto dello spazio connettore viene unito a un oggetto del metaverse, i due oggetti rimangono uniti per tutto il tempo che la regola di sincronizzazione risulta soddisfatta. Durante la valutazione delle regole di sincronizzazione, resterà in questo ambito solo una regola di sincronizzazione con regole di unione definite. Se per un oggetto vengono trovate più regole di sincronizzazione con regole di unione, viene generato un errore. Per questo motivo, quando nell'ambito sono presenti più regole di sincronizzazione per un oggetto, la procedura consigliata è di avere una sola regola di sincronizzazione con regole di unione definite. Nella configurazione predefinita per Azure Active Directory Sync queste regole sono disponibili esaminando il nome e trovandole con la parola Join alla fine del nome. Una regola di sincronizzazione senza alcuna regola di unione definita applicherà il flusso di attributi se un'altra regola di sincronizzazione ha unito insieme degli oggetti o ha eseguito il provisioning di un oggetto nella destinazione.
Trasformazioni
La sezione Trasformazioni definisce tutti i flussi di attributi che verranno applicati all'oggetto di destinazione quando gli oggetti vengono uniti e il filtro dell'ambito è soddisfatto. Prendendo di nuovo in esame la regola di sincronizzazione In from AD – User AccountEnabled, è possibile notare le seguenti trasformazioni:
Per contestualizzare, in una distribuzione con una foresta di account e una di risorse è probabile trovare un account abilitato nella foresta di account e un account disabilitato nella foresta di risorse con impostazioni Exchange e Lync. La regola di sincronizzazione ora presa in esame contiene gli attributi necessari per eseguire l'accesso. Si desidera che tali attributi vengano trasmessi dalla foresta in cui è presente un account abilitato. Tutti questi flussi di attributi vengono messi insieme in una regola di sincronizzazione.A può avere tipi diversi: Costante, Direct ed Espressione. Un flusso Costante trasmetterà sempre un particolare valore. Nel caso sopra riportato, l'attributo del metaverse accountEnabled sarà sempre impostato su True. Un flusso Diretto trasmetterà il valore dell'attributo presente nell'origine all'attributo di destinazione. Il terzo tipo di trasformazione, Espressione, consente configurazioni più avanzate. Il linguaggio dell'espressione è VBA (Visual Basic for Applications): gli utenti con conoscenze di Microsoft Office o VBScript riconosceranno il formato. Gli attributi vengono scritti tra parentesi quadre [attributeName]. Per i nomi di attributo e di funzione viene fatta distinzione tra maiuscole e minuscole. L'editor delle regole di sincronizzazione, tuttavia, valuta le espressioni e visualizza un avviso nel caso in cui una di esse non sia valida. Tutte le espressioni sono scritte in una singola riga, con funzioni nidificate. Per mostrare la potenza del linguaggio di configurazione, di seguito è riportato il flusso relativo a pwdLastSet, con commenti aggiuntivi inseriti:
// If-then-else
IIF(
// (The evaluation for IIF) Is the attribute pwdLastSet present in AD?
IsPresent([pwdLastSet]),
// (The True part of IIF) If it is, then from right to left, convert the AD time format to a .Net datetime, change it to the time format used by AAD, and finally convert it to a string.
CStr(FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")),
// (The False part of IIF) Nothing to contribute
NULL
)
L'argomento della trasformazione è grande e fornisce una parte elevata della configurazione personalizzata possibile con Azure Active Directory Sync. La configurazione personalizzata non verrà illustrata in questo documento di panoramica, ma verranno esaminati alcuni flussi di attributi aggiuntivi più avanti in questo documento.
Precedenza
Fino ad ora sono state discusse singole regole di sincronizzazione, ma è necessario tenere presente che tali regole interagiscono nella configurazione. In alcuni casi il valore di un attributo è il risultato dell'iterazione di diverse regole di sincronizzazione che contribuiscono alla definizione di uno stesso attributo di destinazione. In questo caso, per determinare l'attributo "vincente" viene usata la precedenza. Come esempio, viene preso in considerazione sourceAnchor, un attributo importante per l'accesso ad Azure AD. È possibile trovare un flusso di attributi per sourceAnchor in due diverse regole di sincronizzazione, In from AD – User AccountEnabled e In from AD – User Common. A causa della precedenza delle regole di sincronizzazione, se sono presenti diversi oggetti uniti all'oggetto del metaverse, alla definizione dell'attributo sourceAnchor contribuirà innanzitutto la foresta con un account abilitato. Se non sono presenti account abilitati, verrà usata la regola di sincronizzazione onnicomprensiva In from AD – User Common. In questo modo, è possibile specificare un attributo sourceAnchor anche per gli account disabilitati. La precedenza delle regole di sincronizzazione è impostata in gruppi dall'Installazione guidata. Le regole di un gruppo hanno tutte lo stesso nome, ma sono collegate a differenti directory connesse. L'Installazione guidata assegnerà la precedenza più alta alla regola In from AD – User Join e ripeterà l'operazione per tutte le directory AD connesse. Procederà quindi con i successivi gruppi di regole secondo un ordine predefinito. All'interno di un gruppo le regole vengono aggiunte nell'ordine in cui i connettori sono stati aggiunti alla procedura guidata. Se mediante la procedura guidata viene aggiunto un altro connettore, le regole di sincronizzazione verranno riordinate e il nuovo connettore verrà inserito in ciascun gruppo all'ultimo posto.
Riassumendo
Le informazioni fornite fino a questo punto dovrebbero essere sufficienti per comprendere il modo in cui le diverse regole di sincronizzazione agiscono sulla configurazione. Se si prendono in considerazione un utente e gli attributi che contribuiscono alla definizione del metaverse, le regole vengono applicate nel seguente ordine:
Nome |
Commento |
In from AD – User Join |
Regola per l'unione degli oggetti dello spazio connettore con il metaverse. |
In from AD – UserAccount Enabled |
Attributi necessari per l'accesso ad Azure AD e Office 365. Questi attributi dovranno essere rilevati dall'account abilitato. |
In from AD – User Common from Exchange |
Attributi trovati nell'Elenco indirizzi globale. Si presuppone che la qualità dei dati sia migliore nella foresta in cui è stata individuata la cassetta postale dell'utente. |
In from AD – User Common |
Attributi trovati nell'Elenco indirizzi globale. Se non è stata trovata una cassetta postale, alla definizione del valore dell'attributo può contribuire qualsiasi altro oggetto unito. |
In from AD – User Exchange |
È presente solo se è stato rilevato Exchange. Trasmetterà tutti gli attributi dell'infrastruttura di Exchange. |
In from AD – User Lync |
È presente solo se è stato rilevato Lync. Trasmetterà tutti gli attributi dell'infrastruttura di Lync. |
Altre osservazioni
Per concludere il documento, viene ora preso in esame un particolare flusso di attributi.
cloudFiltered
Questo flusso di attributi è presente nella regola In from AD – Join User. Anche se non è necessario per l'unione, questo attributo viene inserito nella regola a causa della sua essenzialità. Tutte le regole di sincronizzazione in uscita hanno un filtro per la definizione dell'ambito sull'attributo cloudFiltered: in un altro documento verrà spiegato come usarlo per ulteriori operazioni di filtro. Per impostazione predefinita, questo flusso filtrerà in uscita diversi oggetti non visualizzati nel cloud. Nell'espressione riportata di seguito la doppia barra verticale corrisponde a un OR logico.
// if-then-else
IIF(
// Don’t synchronize default AD objects, such as Administrator
IsPresent([isCriticalSystemObject]) ||
// Don’t synchronize objects with no sAMAccountName set
IsPresent([sAMAccountName]) = False ||
// Don’t synchronize these special Exchange mailboxes
[sAMAccountName] = "SUPPORT_388945a0" ||
Left([mailNickname], 14) = "SystemMailbox{" ||
(Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) ||
(Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}") > 0)) ||
// Don’t synchronize Exchange system mailboxes
CBool(IIF(IsPresent([msExchRecipientTypeDetails]),
BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL)) ||
// Don’t synchronize the Azure Active Directory Sync/DirSync service accounts
Left([sAMAccountName], 4) = "AAD_" || Left([sAMAccountName], 5) = "MSOL_" ||
// Don’t synchronize replication conflict objects
CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0),
// Then, If any of these OR clauses is True, then flow “True”
True,
// Else, if not, then don’t flow anything
NULL
)