Come configurare la Cross-Tenant Synchronization in Microsoft Entra ID
La collaborazione tra utenti appartenenti a organizzazioni diverse è ormai una necessità molto comune. Fusioni, acquisizioni, gruppi societari e aziende con sedi distribuite possono infatti richiedere l’utilizzo di più tenant Microsoft Entra ID, mantenendo separate le rispettive identità e le attività amministrative.
In questi scenari è possibile invitare manualmente gli utenti nei diversi tenant utilizzando le funzionalità di Microsoft Entra B2B Collaboration. Quando il numero di utenti aumenta, però, la gestione manuale diventa complessa e può rendere più difficile mantenere aggiornate le informazioni e rimuovere tempestivamente gli account che non devono più accedere alle risorse.
La funzionalità Cross-Tenant Synchronization permette di automatizzare la creazione, l’aggiornamento e il deprovisioning degli utenti B2B tra tenant Microsoft Entra ID. La sincronizzazione utilizza il motore di provisioning di Microsoft Entra ID ed è di tipo push: la configurazione viene gestita nel tenant sorgente, che invia gli utenti selezionati verso il tenant di destinazione.
Come mostrato nella figura seguente, nel tenant sorgente vengono definiti gli utenti da sincronizzare, gli eventuali filtri e la corrispondenza degli attributi. Nel tenant di destinazione vengono invece autorizzati la sincronizzazione in ingresso e il riscatto automatico degli inviti. In questo modo gli utenti possono accedere alle risorse condivise senza ricevere un’e-mail di invito e senza dover accettare manualmente la richiesta al primo accesso.

Figura 1: Funzionamento della Cross-Tenant Synchronization in Microsoft Entra ID
Gli utenti continuano ad autenticarsi utilizzando le credenziali del proprio tenant di origine, mentre nel tenant di destinazione viene creato e mantenuto automaticamente il corrispondente account B2B Collaboration. La gestione del ciclo di vita rimane quindi legata all’identità originale, riducendo le attività manuali e il rischio di lasciare attivi account non più necessari.
Funzionamento della Cross-Tenant Synchronization
La Cross-Tenant Synchronization è una sincronizzazione unidirezionale. Gli utenti interni del tenant sorgente vengono creati nel tenant di destinazione come utenti esterni B2B Collaboration. Se è necessario sincronizzare utenti in entrambe le direzioni, occorre creare due configurazioni distinte.
La configurazione viene gestita principalmente nel tenant sorgente, nel quale vengono definiti gli utenti da sincronizzare, i filtri di ambito e la corrispondenza degli attributi. Il tenant di destinazione mantiene comunque il controllo sulle proprie risorse e deve autorizzare esplicitamente la sincronizzazione in ingresso.
La funzionalità può essere utilizzata anche con più tenant. Un singolo tenant sorgente può sincronizzare utenti verso diversi tenant di destinazione e, allo stesso modo, un tenant può ricevere utenti provenienti da più tenant sorgente. Tra la stessa coppia di tenant può però esistere una sola configurazione per ciascuna direzione.
È importante evidenziare che vengono sincronizzati solo gli utenti interni presenti nel tenant sorgente. Gli utenti esterni già invitati nel tenant sorgente, i dispositivi e i contatti non vengono sincronizzati. La soluzione non assegna inoltre automaticamente l’accesso alle applicazioni o alle risorse: queste autorizzazioni devono essere configurate separatamente nel tenant di destinazione.
Quando un utente incluso nell’ambito viene modificato, le variazioni degli attributi configurati vengono propagate al tenant di destinazione. Se l’utente viene eliminato, rimosso dall’ambito oppure non soddisfa più i filtri definiti, il relativo account B2B viene sottoposto a deprovisioning.

Figura 2: Mergers and acquisitions (application hub)
Prerequisiti e licenze
Prima di procedere è necessario disporre di due tenant Microsoft Entra ID e conoscere il relativo Tenant ID o uno dei nomi di dominio verificati. Nella guida utilizzeremo un tenant sorgente, nel quale sono presenti gli utenti, e un tenant di destinazione, nel quale verranno create le identità B2B.
Per la sincronizzazione degli utenti, ciascun utente sincronizzato deve disporre di una licenza Microsoft Entra ID P1 o P2 nel proprio tenant sorgente. Nel tenant di destinazione non è richiesta una licenza specifica per utilizzare la Cross-Tenant Synchronization; le applicazioni e le funzionalità utilizzate dagli utenti nel tenant di destinazione potrebbero tuttavia prevedere requisiti di licenza aggiuntivi.
Microsoft Entra ID permette anche la sincronizzazione dei gruppi di sicurezza. Per questa funzionalità, gli utenti sincronizzati tramite i gruppi devono disporre nel tenant sorgente di una licenza Microsoft Entra ID Governance oppure Microsoft Entra Suite. La sincronizzazione dei gruppi presenta inoltre alcune limitazioni: non sono supportati i gruppi annidati, i gruppi assegnabili a ruoli, i gruppi di distribuzione e i gruppi di sicurezza abilitati alla posta. Quando la sincronizzazione dei gruppi è abilitata, l’ambito deve essere impostato su Sync only assigned users and groups. In questa guida ci concentreremo principalmente sulla sincronizzazione degli utenti.
Anche i ruoli amministrativi devono essere verificati prima di iniziare. Il ruolo Security Administrator permette di configurare le Cross-tenant access settings nei due tenant. Nel tenant sorgente è inoltre necessario il ruolo Hybrid Identity Administrator per creare e gestire la configurazione di sincronizzazione. I ruoli Application Administrator o Cloud Application Administrator possono essere necessari per assegnare gli utenti alla configurazione e per eliminarla.

Figura 3: Tenant ID del tenant sorgente
Abilitazione della sincronizzazione nel tenant di destinazione
La configurazione inizia dal tenant di destinazione, che deve autorizzare il tenant sorgente a creare e aggiornare gli utenti B2B. Accedete al Microsoft Entra admin center utilizzando un account con il ruolo Security Administrator e selezionate Entra ID > External Identities > Cross-tenant access settings.
Aprite la scheda Organizational settings e selezionate Add organization. Inserite il Tenant ID oppure il nome di dominio del tenant sorgente e selezionate Add. Microsoft Entra ID recupererà automaticamente il nome dell’organizzazione associata.

Figura 4: Aggiunta di un’organizzazione nelle Cross-tenant access settings
Nella riga relativa al tenant appena aggiunto, selezionate il collegamento presente nella colonna Inbound access. Aprite quindi la scheda Cross-tenant sync e abilitate Allow user synchronization into this tenant, come mostrato nella figura seguente.
Se volete sincronizzare anche i gruppi di sicurezza, abilitate Allow group synchronization into this tenant. Ricordo che la sincronizzazione dei gruppi richiede una licenza Microsoft Entra ID Governance oppure Microsoft Entra Suite nel tenant sorgente.

Figura 5: Abilitazione della sincronizzazione degli utenti e dei gruppi nel tenant di destinazione
Dopo aver selezionato Save, Microsoft Entra ID propone di abilitare anche il riscatto automatico degli inviti. Selezionate Yes nella finestra Enable cross-tenant sync and auto-redemption.
Questa impostazione evita che gli utenti sincronizzati debbano accettare manualmente l’invito o la richiesta di consenso al primo accesso al tenant di destinazione.

Figura 6: Abilitazione della Cross-Tenant Synchronization e del riscatto automatico degli inviti
Per verificare la configurazione, aprite la scheda Trust settings delle impostazioni di accesso in ingresso. L’opzione Automatically redeem invitations with the tenant deve risultare abilitata.
Se nel passaggio precedente avete selezionato Yes, l’impostazione sarà già attiva. In caso contrario, selezionatela manualmente e fate clic su Save.

Figura 7: Verifica del riscatto automatico degli inviti nel tenant di destinazione
L’impostazione per il riscatto automatico deve essere abilitata anche nel tenant sorgente. Accedete quindi al tenant sorgente e selezionate Entra ID > External Identities > Cross-tenant access settings.
Nella scheda Organizational settings aggiungete il tenant di destinazione utilizzando il relativo Tenant ID oppure il nome di dominio.

Figura 8: Aggiunta del tenant di destinazione nelle Cross-tenant access settings
Nella colonna Outbound access selezionate il collegamento relativo alla configurazione appena creata. Aprite la scheda Trust settings, abilitate Automatically redeem invitations with the tenant e fate clic su Save.

Figura 9: Abilitazione del riscatto automatico degli inviti nel tenant sorgente
Creazione della configurazione di sincronizzazione
Dopo aver completato le Cross-tenant access settings, è possibile creare la configurazione che gestirà il provisioning degli utenti.
Nel tenant sorgente selezionate Entra ID > Cross-tenant synchronization e aprite Configurations. Fate clic su New configuration, assegnate un nome facilmente riconoscibile alla configurazione e selezionate Create.
Nel nostro esempio utilizzeremo il nome Sync Demo ICTPower, che identifica chiaramente il tenant di destinazione.

Figura 10: Creazione di una nuova configurazione di Cross-Tenant Synchronization
Dopo aver creato la configurazione, apritela per visualizzare la nuova esperienza di provisioning. La pagina Overview raccoglie tutte le attività necessarie per configurare, verificare e avviare la sincronizzazione.
Per collegare il tenant di destinazione selezionate New configuration, come mostrato nella figura seguente.

Figura 11: Pagina Overview e avvio della configurazione di provisioning
Nella pagina New provisioning configuration, inserite nel campo Tenant ID l’identificativo del tenant di destinazione e selezionate Test connection. Il test permette di verificare che il tenant sorgente sia autorizzato a eseguire il provisioning e che le impostazioni di accesso tra i due tenant siano state configurate correttamente.
Se la configurazione delle Cross-tenant access settings è corretta, il portale mostra il messaggio Provisioning test connection successful. A questo punto selezionate Create per creare la configurazione di provisioning e accedere alle impostazioni avanzate della sincronizzazione.

Figura 12: Verifica della connessione e creazione della configurazione di provisioning
Al termine della creazione viene visualizzata la pagina Overview della configurazione. In questa schermata sono disponibili le impostazioni di connettività, provisioning, mapping degli attributi, filtri di ambito e assegnazione degli utenti.
Lo stato Initial sync paused indica che la sincronizzazione non è ancora stata avviata. Prima di selezionare Start provisioning è quindi necessario definire quali utenti devono essere sincronizzati e verificare la corrispondenza degli attributi.

Figura 13: Panoramica della configurazione di Cross-Tenant Synchronization
Definizione dell’ambito di sincronizzazione
Prima di avviare il provisioning è necessario stabilire quali utenti includere nella sincronizzazione. Aprite la scheda Properties e verificate il valore dell’impostazione Scope.
Per una prima configurazione è consigliabile selezionare Sync only assigned users and groups (che è quella predefinita). In questo modo verranno sincronizzati esclusivamente gli utenti assegnati esplicitamente alla configurazione, evitando di coinvolgere accidentalmente l’intero tenant.
L’opzione Sync all users and groups dovrebbe essere utilizzata solo dopo aver completato i test e valutato attentamente l’impatto della sincronizzazione. Questa opzione non è supportata quando è abilitata la sincronizzazione dei gruppi: in tale scenario è necessario utilizzare Sync only assigned users and groups.
Prima di avviare la sincronizzazione in produzione, è inoltre consigliabile abilitare Prevent accidental deletion e definire una soglia coerente con il numero di oggetti gestiti. La soglia predefinita è pari a 500 eliminazioni. Se il numero di eliminazioni rilevate supera la soglia configurata, il processo viene sospeso per consentire a un amministratore di verificare la modifica prima di procedere. 
Figura 14: Configurazione dell’ambito di provisioning
Per selezionare gli utenti da sincronizzare, aprite Users and groups e fate clic su Add user/group. Cercate gli account che volete includere e completate l’operazione selezionando Select e Assign.
Per la prima sincronizzazione è consigliabile utilizzare un numero limitato di utenti di test. Nel nostro esempio sono stati assegnati gli utenti Ironman e Nicola Ferrini.
Se assegnate un gruppo alla configurazione, vengono inclusi soltanto gli utenti che ne sono membri diretti. I gruppi annidati non sono supportati e i relativi membri non vengono inclusi automaticamente nell’ambito della sincronizzazione.

Figura 15: Assegnazione degli utenti e dei gruppi alla configurazione
Verifica del mapping degli attributi
Dopo aver definito gli utenti da sincronizzare, aprite Attribute mapping per verificare quali informazioni verranno trasferite al tenant di destinazione.
Microsoft Entra ID propone una configurazione predefinita adatta alla maggior parte degli scenari. Prima di avviare il provisioning è comunque opportuno controllare gli attributi sincronizzati e le eventuali trasformazioni applicate.
La pagina Attribute mapping mostra la corrispondenza tra gli attributi degli utenti nel tenant sorgente e quelli creati nel tenant di destinazione.
La maggior parte degli attributi utilizza un mapping Direct, che copia il valore senza applicare trasformazioni. Alcuni mapping utilizzano invece espressioni o valori costanti. Nel nostro esempio l’attributo userType viene impostato sul valore Member, permettendo agli utenti sincronizzati di essere rappresentati nel tenant di destinazione come membri esterni.
La configurazione predefinita può essere modificata o estesa utilizzando Add attribute mapping. Per questa demo manterremo i mapping proposti da Microsoft.

Figura 16: Mapping degli attributi degli utenti
Verifica del provisioning
Prima di avviare la sincronizzazione automatica è consigliabile verificare il risultato utilizzando Provision on demand. Questa funzione permette di eseguire il provisioning di un singolo utente e controllare immediatamente gli attributi trasferiti e le eventuali anomalie.
Nel menu della configurazione selezionate Provision on demand, cercate uno degli utenti precedentemente assegnati e fate clic su Provision.
Nel nostro scenario non utilizzeremo gli Scoping filters, perché l’ambito è già limitato agli utenti assegnati esplicitamente alla configurazione.
Al termine dell’operazione, Microsoft Entra ID mostra il risultato delle diverse fasi del provisioning. Nel nostro esempio l’utente Ironman è stato creato correttamente nel tenant di destinazione.
Selezionando View details in corrispondenza di Perform action è possibile controllare i valori degli attributi inviati al tenant di destinazione. Nell’immagine sono visibili, tra gli altri, userPrincipalName, mail, showInAddressList e userType, impostato sul valore Member.

Figura 17: Risultato del provisioning su richiesta e attributi sincronizzati
La pagina riepilogativa permette di controllare tutte le fasi eseguite dal motore di provisioning. Microsoft Entra ID importa l’utente dal tenant sorgente, verifica che rientri nell’ambito della sincronizzazione, cerca un’eventuale identità corrispondente nel tenant di destinazione, determina l’operazione necessaria e infine la esegue.
Lo stato Success visualizzato per ogni passaggio conferma che l’utente è stato elaborato correttamente. Il collegamento View details consente di approfondire il risultato di ciascuna fase.

Figura 18: Fasi del provisioning su richiesta
Accedete al tenant di destinazione e selezionate Entra ID > Users > All users. Cercando l’utente utilizzato durante il provisioning, l’account risulterà già presente nella directory.
Il valore User type è impostato su Member, come definito nel mapping degli attributi. Lo User Principal Name dell’oggetto B2B contiene normalmente la stringa #EXT#, che indica che l’identità è stata rappresentata nel tenant di destinazione come utente esterno.
L’utente continuerà ad autenticarsi utilizzando le credenziali gestite dal tenant sorgente.

Figura 19: Utente sincronizzato nel tenant di destinazione
Aprendo la scheda Overview dell’utente è possibile verificare più nel dettaglio il risultato della sincronizzazione.
L’account risulta Enabled, con User type impostato su Member. La sezione B2B collaboration conferma che si tratta comunque di un utente esterno, mentre lo stato dell’invito risulta Accepted grazie alla configurazione di Automatic redemption.
La stringa #EXT# presente nello User Principal Name è caratteristica della rappresentazione dell’identità esterna creata nel tenant di destinazione.
Nota: la Cross-Tenant Synchronization non sincronizza la foto del profilo. Nelle organizzazioni multitenant la foto può essere visualizzata in Microsoft Teams perché viene recuperata direttamente dal tenant di origine.

Figura 20: Panoramica dell’utente sincronizzato nel tenant di destinazione
Avvio della sincronizzazione automatica
Dopo aver verificato correttamente il provisioning del primo utente, tornate nella pagina Overview della configurazione e selezionate Start provisioning.
Microsoft Entra ID avvierà un ciclo iniziale per elaborare tutti gli utenti inclusi nell’ambito della configurazione. I cicli incrementali successivi vengono avviati automaticamente a intervalli di circa 40 minuti, purché il servizio di provisioning sia in esecuzione. La durata di ciascun ciclo può variare in base al numero di utenti, gruppi e relazioni da elaborare. 
Figura 21: Avvio della sincronizzazione automatica
Verifica dei log di provisioning
Lo stato della sincronizzazione può essere controllato selezionando Provisioning logs nel menu della configurazione. I log riportano tutte le operazioni eseguite dal servizio, come la creazione, l’aggiornamento, il mancato provisioning o la rimozione di un utente.
Per ogni evento è possibile verificare l’identità coinvolta, l’azione eseguita, lo stato e la relativa data. In presenza di un errore, aprendo il dettaglio vengono mostrate la causa e le indicazioni utili per risolvere il problema.
Nel nostro esempio sono visibili la creazione e il successivo aggiornamento dell’utente Ironman, entrambi completati con stato Success.
Lo stato Skipped non indica necessariamente un errore. Significa che il servizio non ha eseguito modifiche sull’oggetto, ad esempio perché l’utente non rientra nell’ambito oppure perché non sono state rilevate variazioni da applicare.

Figura 22: Log delle operazioni di provisioning
Aprendo un evento con stato Skipped è possibile verificare perché il servizio non ha eseguito alcuna operazione.
Nel nostro esempio il valore SkipReason è impostato su RedundantExport. Il motore di provisioning ha confrontato l’utente presente nei due tenant e ha rilevato che gli attributi risultavano già allineati. Non essendoci modifiche da applicare, l’esportazione è stata correttamente ignorata.

Figura 23: Dettaglio di un evento con stato Skipped
Un altro motivo comune per lo stato Skipped è NotInScope. In questo caso l’utente non soddisfa le condizioni definite per la sincronizzazione.
Nel nostro esempio il valore Assigned to the application risulta impostato su False. Poiché la configurazione utilizza l’ambito Sync only assigned users and groups, Microsoft Entra ID non esegue il provisioning dell’utente.
Per includerlo è sufficiente tornare in Users and groups, assegnarlo alla configurazione e attendere il ciclo di sincronizzazione successivo.

Figura 24: Utente escluso dalla sincronizzazione perché non assegnato
Dopo l’avvio del provisioning, Microsoft Entra ID esegue il primo ciclo di sincronizzazione. Lo stato Initial sync completed e l’indicazione 100% completed confermano che il ciclo iniziale è terminato correttamente.
Espandendo Provisioning details è possibile visualizzare l’identificativo del processo, l’orario di esecuzione, la durata del ciclo e l’intervallo utilizzato per le sincronizzazioni successive. Nel nostro esempio il servizio verificherà la presenza di modifiche ogni 40 minuti.

Figura 25: Completamento e dettagli del ciclo iniziale di sincronizzazione
Deprovisioning degli utenti
La Cross-Tenant Synchronization gestisce l’intero ciclo di vita delle identità, compresa la rimozione degli utenti che non devono più essere disponibili nel tenant di destinazione.
Il deprovisioning viene avviato quando un utente viene eliminato dal tenant sorgente, rimosso dalla configurazione di sincronizzazione, rimosso da un gruppo assegnato alla configurazione oppure non soddisfa più le condizioni definite dai filtri di ambito. Se invece l’utente viene soltanto bloccato nel tenant sorgente, impostando accountEnabled su false, anche l’account nel tenant di destinazione viene bloccato, ma non eliminato.
Per verificare questo comportamento, aprite Users and groups, selezionate l’utente da rimuovere e fate clic su Remove assignment. L’utente viene così escluso dall’ambito della sincronizzazione.
Durante il ciclo successivo, il motore di provisioning rileverà la modifica ed eseguirà il soft delete dell’account B2B presente nel tenant di destinazione.

Figura 26: Rimozione dell’utente dalla configurazione di sincronizzazione
Per evitare di attendere il ciclo incrementale successivo, è possibile elaborare immediatamente l’utente utilizzando Provision on demand.
Dopo aver rimosso l’assegnazione, aprite Provision on demand, cercate l’utente Ironman e selezionate Provision. Microsoft Entra ID rileverà che l’utente non rientra più nell’ambito della configurazione e avvierà il deprovisioning nel tenant di destinazione.
Se l’utente risulta ancora assegnato, attendete alcuni minuti affinché la modifica venga recepita dal servizio e ripetete l’operazione.

Figura 27: Deprovisioning dell’utente completato tramite Provision on demand
Per verificare il risultato, accedete al tenant di destinazione e selezionate Entra ID > Users > Deleted users.
L’account Ironman risulta rimosso dall’elenco degli utenti attivi e spostato nel cestino di Microsoft Entra ID. Si tratta di una soft deletion: l’oggetto rimane recuperabile per 30 giorni, trascorsi i quali viene eliminato definitivamente.
Un amministratore può ripristinare manualmente l’utente nel tenant di destinazione. Tuttavia, se l’identità deve tornare a essere gestita dalla Cross-Tenant Synchronization, è preferibile ripristinarla o riassegnarla nel tenant sorgente e verificare che soddisfi nuovamente le condizioni di ambito. Se ciò avviene entro 30 giorni dal soft delete, il servizio può ripristinare automaticamente l’oggetto nel tenant di destinazione.

Figura 28: Utente rimosso e spostato tra gli utenti eliminati nel tenant di destinazione
Rimozione della Cross-Tenant Synchronization
Se la sincronizzazione non è più necessaria, è importante rimuoverla seguendo l’ordine corretto. Prima di eliminare la configurazione, rimuovete tutti gli utenti e i gruppi assegnati e attendete che uno o più cicli successivi ne completino il deprovisioning. Se l’ambito è impostato su Sync all users and groups, modificatelo prima in Sync only assigned users and groups, in modo da avviare il deprovisioning degli utenti precedentemente inclusi. Durante questa fase, nel tenant di destinazione deve rimanere abilitata la sincronizzazione in ingresso.
Gli utenti sincronizzati vengono sottoposti a soft delete nel tenant di destinazione e rimangono recuperabili per 30 giorni, prima della cancellazione definitiva. Se invece si elimina direttamente la configurazione o si interrompe la relazione tra i tenant, gli utenti già creati non vengono rimossi e devono essere gestiti manualmente.
Dopo aver verificato nei Provisioning logs che tutti gli utenti sono stati deprovisionati, è possibile arrestare il provisioning, eliminare la configurazione dal tenant sorgente e disabilitare la sincronizzazione in ingresso nel tenant di destinazione. Se la relazione tra le due organizzazioni non serve più neppure per altre funzionalità B2B, è possibile rimuovere anche le relative Cross-tenant access settings.
Per verificare i requisiti aggiornati, le limitazioni e le procedure di configurazione, consultate le pagine Microsoft Learn “What is cross-tenant synchronization in Microsoft Entra ID?“ e “Configure cross-tenant synchronization“. Poiché l’interfaccia e le funzionalità del servizio possono cambiare, è consigliabile verificare la documentazione ufficiale prima di applicare la procedura in produzione.

Figura 29: Eliminazione della configurazione di Cross-Tenant Synchronization
Conclusioni
La Cross-Tenant Synchronization permette di automatizzare la gestione delle identità B2B tra tenant Microsoft Entra ID, evitando inviti manuali e script personalizzati.
La configurazione rimane sotto il controllo dei due tenant: quello sorgente definisce gli utenti, gli attributi e l’ambito della sincronizzazione, mentre quello di destinazione autorizza il provisioning in ingresso. L’utilizzo di Automatic redemption rende inoltre più semplice l’esperienza degli utenti, che non devono accettare manualmente l’invito al primo accesso.
Prima di estendere la configurazione in produzione è consigliabile iniziare con pochi utenti, verificare attentamente il mapping degli attributi e definire con precisione l’ambito della sincronizzazione. In questo modo è possibile mantenere coerenti le identità tra tenant diversi, riducendo le attività amministrative e il rischio che account non più necessari rimangano attivi.