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.