Gestire l’accesso dei Guest Account alle risorse tramite Azure AD Entitlement Management

Azure AD Entitlement Management è una importante funzionalità di Identity Governance ed è di cruciale importanza nell’automazione delle richieste di accesso alle risorse. Nel precedente articolo abbiamo parlato di come Entitlement Management ci può aiutare ad automatizzare i processi di richiesta e di revoca delle autorizzazioni per l’accesso agli asset aziendali (SharePoint, Teams, gruppi di sicurezza di Azure AD, Enterprise Apps…) da parte degli utenti interni: l’articolo lo potete trovare al link Gestire l’accesso alle risorse tramite Azure AD Entitlement Management. In questo articolo parleremo di come questa funzionalità ci può aiutare a gestire il ciclo di vita degli utenti esterni, che in Azure AD sono chiamati Guests Accounts.

Prima di proseguire con questo articolo vi invito a rivedere i concetti espressi nel precedente in quanto utilizzeremo lo stesso scenario e gli stessi Access Package: pertanto vi risulterà più semplice comprendere quanto scritto qui.

Aggiunta di una Connected Organization

Come primo passo dobbiamo aggiungere una Connected Organization, essa non è altro che il dominio internet dell’Organizzazione esterna con la quale vogliamo collaborare.
Azure AD Entitlement Management è in grado di gestire molti, ma non tutti, dei tipi di Guest Account supportati dal motore B2B di Azure AD, quindi:

  • Altre directory Azure AD
  • Direct Federation
  • OTP

Sono esclusi gli inviti Social (come Google e Facebook). Per aggiungere una Connected Organization sono necessari i privilegi di Global Administrator oppure User Administrator.

Per aggiungere una Connected Organization portarsi sul portale di Identity Governance e premere “+ Add connected organization

Figura 1 – Connected Organization

Assegnare quindi un nome ed una descrizione alla Connected Organization che stiamo creando

Figura 2 – Connected Organization: basics

Cercare quindi il dominio della Connected Organization che vogliamo aggiungere: Azure AD ne identificherà automaticamente il tipo

Figura 3 – Connected Organization: aggiunta dominio

A questo punto dobbiamo definire gli sponsor, essi funzioneranno come approvatori nelle Policy degli Access Packages e sono disponibili due tipi di sponsor:

  • Internal Sponsor: è chi si farà carico di approvare gli utenti esterni provenienti da questa Connected Organization, se non diversamente specificato in una Policy in un Access Package
  • External Sponsor: siccome è difficile per noi conoscere personalmente gli utenti dell’Organizzazione esterna e attestarne l’effettivo merito, lo sponsor esterno è la persona che farà il triage delle richieste provenienti dalla sua Organizzazione. Per definire uno sponsor esterno esso deve essere già stato precedentemente invitato alla nostra organizzazione come Guest.

Figura 4 – Connected Organization: definizione degli sponsor

A questo punto possiamo rivedere le nostre scelte e procedere alla creazione della Connected Organization.

Attenzione: dalle prove effettuate benché la creazione sia istantanea può passare qualche tempo prima che essa sia disponibile per l’aggiunta nelle Policy degli Access Packages, il consiglio è quindi di attendere qualche ora per dare modo alle cache del servizio di scadere prima di comunicare agli Access Package Manager la disponibilità della nuova Organizzazione.

Figura 5 – Creazione Connected Organization

Aggiunta ad un Access Package di una Policy per governare l’aggiunta di utenti esterni

Da questo momento gli Access Package Manager potranno aggiungere una Policy specifica per gli utenti esterni, accedendo alla blade riservata al Access Package e portandosi su Policies -> “+ Add policy

Figura 6 – Aggiunta Policy ad Access Package

Assegnare quindi un nome ed una descrizione alla Policy che stiamo creando

Figura 7 – Nome Policy

Specificare che la Policy viene applicata agli utenti esterni e personalizzarla come si desidera: in questo caso abbiamo deciso di richiedere l’approvazione in due stadi: prima dello Sponsor esterno e successivamente dello Sponsor interno.
Per ogni stadio di approvazione è necessario impostare un approvatore di riserva: passato il 50% più un giorno del tempo massimo impostato per l’approvazione, se il primo approvatore non ha riposto, per evitare la scadenza dalla richiesta l’approvatore di riserva verrà coinvolto nel processo di approvazione.

Figura 8 – Impostazioni Policy per utenti esterni: primo approvatore

Figura 9 – Impostazioni Policy per utenti esterni: secondo approvatore

Specificare la durata dell’assegnazione e se è possibile estenderla nel tempo:

Figura 10 – Policy Lifecycle settings

A questo punto la creazione della Policy è terminata: è possibile ora condividere con gli utenti esterni il link tramite il quale dovranno accedere al portale MyAccess per richiedere gli Access Package.
È importante che gli utenti utilizzino questo link in quanto è l’unico che porta alla nostra Organizzazione, viceversa essi arriveranno al MyAccess della loro Organizzazione e non vedranno gli Access Package definiti dalla nostra Organizzazione.

Figura 11 – My Access portal link

Processo di richiesta dell’accesso da parte di un utente esterno

L’utente, una volta portatosi sul link condiviso, ha accesso al portale MyAccess. Premendo su “+ Request access” avrà modo di richiedere l’Access package che gli è stato assegnato

Figura 12 – Portale MyAccess

A questo punto, in base alle configurazioni effettuate tramite la Policy, dovrà fornire una giustificazione alla sua richiesta

Figura 13 – Richiesta accesso

La richiesta viene quindi processata come già visto in precedenza, secondo le regole che abbiamo deciso di applicare tramite la Policy

Figura 14 – La richiesta viene processata

Al termine del processo di approvazione, l’utente verrà notificato del nuovo accesso e potrà così usufruire delle risorse assegnate

Figura 15 – Notifica accesso

Processo di delivery – Troubleshooting

Siccome stiamo parlando di utenti esterni, è importante ricordarsi che le risorse che assegniamo ad un Access Package devono a loro volta consentire la presenza di utenti Guests. Per impostazione predefinita è consentita, con una importante eccezione: i siti di SharePoint Online che non sono collegati ad un Gruppo di Microsoft 365 non consentono (per impostazione predefinita) l’aggiunta di Guest.

Se assegniamo una Policy ad un Access Package che contiene un Sito di questo tipo, nel momento in cui un Guest farà richiesta essa andrà in Partially Delivered, questo stato indica che qualche passo del processo di Delivery non è andato a buon fine.

Figura 16 – Richiesta Partial Delivered

Per ovviare a ciò dobbiamo assicurarci che il sito che stiamo aggiungendo permetta l’aggiunta di Guests

Figura 17 – Impostazioni di condivisione esterna sito SPO

Se abbiamo già degli utenti in Partially Delivered perché non ci siamo ricordati di questo dettaglio, entro 7 giorni è possibile riprocessare la richiesta. In questo modo Entitlement Management ritenterà l’aggiunta del Guest al Sito SharePoint Online e la richiesta verrà riprocessata con successo.

Figura 18 – Richiesta riprocessata

Entitlement Management – Rimozione utenti esterni

Quando l’ultimo Access Package per un Guest scade, verrà prima bloccato il login e successivamente eliminato l’utente. Questo processo si applica solamente ai Guest che sono entrati nell’Organizzazione tramite Entitlement Management e non tramite altri meccanismi quali, ad esempio, un invito a partecipare ad un Team di Microsoft Teams oppure per la condivisione di un file su SharePoint Online.

Conclusioni

Come già visto nel precedente articolo “Gestire l’accesso alle risorse tramite Azure AD Entitlement Management“, Entilement Management è un importante alleato nella gestione degli accessi alle risorse aziendali, sia che si tratti di utenti interni che di persone esterne all’azienda con le quali collaboriamo.

È uno strumento ulteriore che va ad affiancarsi ad altri già presenti in una suite molto completa: un altro strumento di Identity Governance sono le Access Review, orientate alla rivalutazione del possesso dei requisiti per accedere ad una determinata risorsa (si possono aggiungere alle funzionalità di Entitlement Management oppure operare separatamente), oppure ai gruppi dinamici in Azure AD.

Alla pagina What is Azure AD entitlement management? trovate la documentazione ufficiale del prodotto, mentre alla pagina Troubleshoot Azure AD entitlement management trovate risposta alle problematiche più frequenti.