Cos’è la B2B collaboration
La B2B collaboration è la funzionalità di External Identities di Microsoft Entra ID che permette di invitare utenti esterni (partner, fornitori, consulenti) a collaborare sulle risorse del tuo tenant senza creare per loro un account interno. L’utente esterno continua ad autenticarsi nel proprio home tenant (o con un account social/one-time passcode), mentre nel tuo tenant viene rappresentato da un oggetto guest.
Ogni guest compare nella directory con userType = Guest e uno UPN nel formato nome_dominioesterno#EXT#@tuotenant.onmicrosoft.com. Il suffisso #EXT# è il marcatore inequivocabile di un’identità B2B: l’oggetto vive nella tua directory, ma le credenziali restano nel tenant di origine.
Invito e redemption
Un guest può essere aggiunto in più modi:
- Invito via email dal portale Entra o tramite entitlement management / self-service.
- Programmaticamente via Microsoft Graph con l’
invitation API(POST /invitations), utile per onboarding massivo o automazioni. - Just-in-time: l’oggetto guest viene creato al primo accesso quando l’utente riscatta un link o accede a una risorsa condivisa.
Il processo di redemption consuma l’invito: l’utente accetta il consenso, viene reindirizzato al proprio IdP e l’oggetto guest passa da PendingAcceptance ad attivo. Da qui in poi l’accesso è governato da Conditional Access e assegnazioni sulle risorse (gruppi, app, Teams, SharePoint).
External collaboration settings
Le External collaboration settings controllano chi può invitare e cosa vede un guest. Le opzioni chiave da configurare in scenari d’esame:
- Chi può invitare guest: da “tutti gli utenti compresi i guest”, a “solo membri e admin”, fino a “solo utenti con ruolo Guest Inviter”, per finire con il blocco totale degli inviti.
- Restrizioni di accesso dei guest: limitano ciò che il guest può leggere nella directory (vedi trappole).
- Domini allow/deny list: definiscono da quali domini partner è possibile invitare. Allow e deny sono mutuamente esclusivi: o consenti solo un elenco chiuso di domini, oppure blocchi domini specifici lasciando aperto il resto. Non puoi avere entrambe attive.
Per un controllo più granulare per-partner si usano le cross-tenant access settings (inbound/outbound trust, MFA e device claims fidati dal tenant partner), ma per la gestione base “chi invita / quali domini” le external collaboration settings sono la risposta corretta.
Ciclo di vita dei guest e access review
Il rischio principale della collaborazione esterna è l’accumulo di guest orfani che mantengono accesso oltre il necessario. Il ciclo di vita si governa con:
- Access reviews (parte di Identity Governance, richiede licenza Entra ID P2): revisioni periodiche in cui i guest si self-attestano o un reviewer/sponsor conferma l’accesso. Chi non è approvato viene rimosso automaticamente dal gruppo/app, o addirittura bloccato ed eliminato dalla directory al termine della review.
- Entitlement management con access packages che assegnano l’accesso a scadenza e prevedono review integrate.
- Impostazioni di lifecycle: rimozione dei guest inattivi da monitorare tramite
signInActivity.
L’access review è lo strumento d’esame per la domanda “come garantisco che i guest non mantengano accesso indefinitamente”.
B2B collaboration vs B2B direct connect
Distinzione critica: la B2B direct connect non crea alcun oggetto guest nel tuo tenant. Abilita Teams Shared Channels in cui utenti di due tenant collaborano restando ciascuno nella propria directory, tramite trust bidirezionale nelle cross-tenant access settings. Se lo scenario prevede un oggetto #EXT# e assegnazioni dirette, è B2B collaboration; se prevede canali condivisi Teams senza guest, è B2B direct connect.
Trappole tipiche d’esame
- Guest che vede troppo della directory → di default il guest ha permessi limitati ma può ancora enumerare utenti/gruppi. Imposta le guest user access restrictions su “limitato” (o “l’accesso più restrittivo”) per limitarlo alle sole proprietà del proprio oggetto.
- Bisogna rimuovere periodicamente i guest inattivi/non più necessari → Access reviews (Entra ID P2), non uno script manuale né la sola scadenza password.
- Allow e deny list insieme → impossibile: sono mutuamente esclusive. Se serve consentire solo pochi domini partner, usa la allow list.
- Collaborazione in Teams Shared Channel senza account guest → B2B direct connect + cross-tenant access settings, non B2B collaboration.
- Onboarding massivo di partner via automazione → Microsoft Graph
invitation API, non l’invito manuale dal portale uno alla volta. - Limitare gli inviti ai soli amministratori designati → assegna il ruolo Guest Inviter e imposta le external collaboration settings di conseguenza, evitando di lasciare l’invito aperto a “tutti gli utenti, guest inclusi”.