5 dic 2022

Exchange Online: Come nascondere gli utenti dalla GAL quando si usa la sincronizzazione di Active Directory (AAD Connect)

 

Exchange Online: Come nascondere gli utenti dalla GAL quando si usa la sincronizzazione di Active Directory (AAD Connect)

 

Nascondere gli utenti dall'elenco indirizzi globale in Exchange Online non è così intuitivo quando l'utente viene sincronizzato dall’ambiente Active Directory locale. Si dovrà modificare un attributo dell'oggetto utente, nonché impostare msExchHideFromAddressLists su True ed eseguire una sincronizzazione.

Il problema però è cosa succede se non si dispone dell'attributo msExchHideFromAddressLists in Active Directory?

 

È possibile estendere lo schema di Active Directory per Exchange, ma non è qualcosa che si può facilmente ripristinare se qualcosa va storto, senza contare che si aggiungeranno un sacco di attributi che probabilmente non verranno mai utilizzati.

Una soluzione più pulita ed elegante potrebbe essere creare semplicemente una regola di sincronizzazione personalizzata all'interno di Azure AD Connect che “converte” il valore da un attributo differente.

 

Questo articolo illustra come sincronizzare un attributo personalizzato dall'Active Directory locale ad Azure AD per nascondere un utente dall'elenco indirizzi globale (GAL), senza la necessità di estendere lo schema di Active Directory. In questo caso, useremo un attributo chiamato msDS-cloudExtensionAttribute1. L'attributo msDS-cloudExtensionAttribute è stato introdotto in Windows Server 2012 e dispone di 20 numeri diversi per consentire flessibilità per questi tipi di scenari.


1. msDS-cloudExtensionAttribute per Azure AD Connect

Aprire Azure AD Connect Synchronization Service, passare alla scheda Connectors, poi selezionare ActiveDirectory (la vostra AD locale) e selezionare Properties. In alto a destra spuntare Show All, scorrere giù fino a msDS-CloudExtensionAttribute1 e poi selezionare OK

Figura 1 – Proprietà AD Locale


2. Creare una regola di sincronizzazione personalizzata

Aprire Azure AD Connect Synchronization Rules Editor, cliccare su Add new rule (assicurarsi che in alto sinistra venga indicato Inbound)

Inserire le informazioni seguenti:

Name: Nascondere un utente dalla GAL

Description: Se msDS-CloudExtensionAttribute1 è uguale a NascondiDaGAL, nascondi dalla GAL di Exchange Online

Connected System: la vostra AD locale

Connected System Object Type: user

Metaverse Object Type: person

Link Type: Join

Precedence: 50 (Può essere un qualsiasi numero inferiore a 100. Assicurarsi solo di non duplicare i numeri se esistono altre regole personalizzate o si riceverà un errore di dead-lock da SQL Server)




Figura 2 – Regola personalizzata


Fare clic su Next, Scoping filter e Join rules possono rimanere vuote

Immettere la trasformazione seguente, fare clic sul pulsante Add transformation, compilare il modulo con i valori seguenti e quindi fare clic su Add

FlowType: Expression

Target Attribute: msExchHideFromAddressLists

Source: IIF(IsPresent([msDS-cloudExtensionAttribute1]),IIF([msDS-cloudExtensionAttribute1]="NascondiDaGAL",True,False),NULL)



Figura 3 – regola inbound 


3. Effettuare una sync totale

Da PowerShell eseguire il seguente comando:
Start-ADSyncSyncCycle -PolicyType Initial


4. Modificare l’attributo in AD per l’utente che si vuole nascondere dalla GAL

Aprire Active Directory Users and Computers (ADUC), selezionare l’utente desiderato e con il tasto destro selezionare Properties. Selezionare il tab Attribute Editor, cercare l’attributo msDS-cloudExtensionAttribute1 ed inserire il valore NascondiDaGAL




Figura 4 – Proprietà utente AD


Effettuare un’altra Sync full (initial), appena terminata la nuova sincronizzazione nelle proprietà dell’export verso il service domain di Office 365 vedremo l’attributo settato su true



Figura 5 – Attributo su true

 

Ora possiamo verificare che l’attributo sia stato davvero settato sulla mailbox dell’utente in Exchange Online



Figura 6 – Attributo assegnato all’utente in cloud


Abbiamo visto che sfruttando le regole di sincronizzazione custom di AAD Connect, con pochi passaggi è possibile settare un attributo “di servizio” e convertirlo ad un valore accettabile da Azure AD.