Utilizzare i custom security attributes di Microsoft Entra ID con le Conditional Access policy

I custom security attributes di Microsoft Entra ID rappresentano una funzionalità avanzata che consente di definire, assegnare e gestire attributi di sicurezza personalizzati associati a specifici utenti o gruppi ma anche ad applicazioni all’interno del vostro ambiente Microsoft Entra. Questi attributi possono essere impiegati per controllare l’accesso a risorse o applicazioni. La personalizzazione offre la flessibilità di adattare le politiche di sicurezza alle specifiche esigenze della vostra azienda, consentendo di definire criteri granulari basati su attributi unici o combinazioni di attributi.

L’implementazione dei custom security attributes implica la capacità di etichettare risorse o identità con informazioni che riflettono il ruolo, il livello di sicurezza, le competenze o altri aspetti specifici di un utente o gruppo. Questo approccio aumenta notevolmente le capacità di gestione dell’accesso, permettendo di affinare le politiche di accesso e di soddisfare requisiti di conformità o di governance interna. Per esempio, potreste creare un attributo di sicurezza che identifica gli utenti che hanno superato una specifica formazione sulla sicurezza e utilizzare questo attributo per controllare l’accesso a sistemi o informazioni sensibili oppure potreste identificare le applicazioni che richiedono un livello di accesso più sicuro e ristretto.

Un aspetto fondamentale dei custom security attributes è la loro integrazione con le policy di accesso condizionale di Microsoft Entra, che permette di definire regole dinamiche per l’accesso basate sui contesti di autenticazione e sugli attributi assegnati. Questo significa che potete creare politiche che valutano automaticamente gli attributi di sicurezza durante il processo di autenticazione, garantendo che l’accesso sia concesso in modo sicuro e conforme alle politiche aziendali.

Per gestire i custom security attributes è necessario utilizzare il portale di Microsoft Entra o le API di programmazione, che offrono interfacce per la creazione, l’assegnazione e la gestione degli attributi. La flessibilità e la potenza di questa funzionalità aprono nuove possibilità per la sicurezza e la gestione dell’identità, permettendo di costruire un ambiente digitale sicuro che si adatta dinamicamente alle sfide della sicurezza moderna.

Dal portale di Microsoft Entra selezionate Protection > Custom Security Attributes. Se il pulsante Add Attribute Set non è selezionabile, vuol dire che l’utente con cui siete collegati non dispone dei privilegi di Attribute Definition Administrator.

Figura 1: Il pulsante Add Attribute Set non è selezionabile perché l’utente con cui siete collegati non dispone dei privilegi di Attribute Definition Administrator

Procedete quindi ad assegnare all’utente che si occuperà di amministrare gli oggetti di Azure AD il ruolo di Attribute Definition Administrator. Per poter successivamente assegnare i custom security attributes sarà necessario avere il ruolo di Attribute Assignment Administrator. Io ho assegnato entrambi i ruoli all’utente che si occuperà della gestione degli attributi. In maniera predefinita nemmeno il Global Administrator ha questi permessi.

Figura 2: Assegnazione all’utente del ruolo di Attribute Definition Administrator e di Attribute Assignment Administrator

Figura 3: Ruoli di Attribute Definition Administrator e di Attribute Assignment Administrator assegnati all’utente

Ritornate nella schermata Protection > Custom security attributes e vedrete che adesso il pulsante Add Attribute Set sarà abilitato.

Figura 4: il pulsante Add Attribute Set è abilitato

Cliccando sul pulsante potrete dare un nome al vostro Set di Attributi. Un set di attributi in Microsoft Entra, e più in generale nel contesto della gestione delle identità e degli accessi, è una collezione strutturata di attributi di sicurezza personalizzati che possono essere applicati agli utenti o ai gruppi all’interno di un’organizzazione. Questi attributi fungono da etichette o marcatori che portano informazioni specifiche legate alla sicurezza, al ruolo, alla posizione o ad altri criteri rilevanti per la gestione dell’accesso e delle politiche di sicurezza.

La creazione di un set di attributi permette agli amministratori di raggruppare più attributi sotto una singola entità logica, facilitando la gestione, l’assegnazione e l’applicazione di politiche di sicurezza basate su criteri complessi. Per esempio, un set di attributi potrebbe includere informazioni quali il livello di clearance di sicurezza di un utente, la sua appartenenza a team o progetti specifici, e le certificazioni di competenza che possiede. Questo set di attributi può poi essere utilizzato per controllare l’accesso a risorse aziendali, applicazioni o dati, assicurando che solo gli individui con le giuste credenziali e autorizzazioni possano accedere a informazioni sensibili o critiche.

Io ho chiamato il set di attributi Applications.

Figura 5: Creazione di un set di attributi

Figura 6: Set di attributi creato

Cliccate sul set di attributi appena creato per aggiungere gli attributi. Ai set di attributi in Microsoft Entra si possono aggiungere vari tipi di attributi, a seconda delle specifiche esigenze di sicurezza, conformità e gestione dell’azienda. Questi attributi possono variare ampiamente e possono essere utilizzati per rappresentare informazioni dettagliate riguardanti l’identità dell’utente, il contesto di sicurezza, le autorizzazioni, o altre classificazioni rilevanti. Ecco alcuni esempi di tipi di attributi che possono essere inclusi in un set di attributi:

  • Attributi di ruolo: Indicano il ruolo o i ruoli specifici di un utente all’interno dell’organizzazione, come “Amministratore di Sistema”, “Manager”, “Contabile”, ecc. Questi attributi sono utili per gestire l’accesso a risorse o applicazioni basate sul ruolo dell’utente.
  • Attributi di livello di sicurezza/clearance: Specificano il livello di sicurezza o clearance che un utente possiede, permettendo di controllare l’accesso a dati o risorse classificate. Esempi possono includere “Confidenziale”, “Segreto”, “Top Secret”.
  • Attributi di appartenenza a gruppi o progetti: Identificano l’appartenenza di un utente a specifici gruppi di lavoro o progetti. Questo può essere usato per facilitare la collaborazione e garantire che solo i membri di un progetto possano accedere alle relative risorse.
  • Attributi geografici: Possono indicare la posizione geografica o la regione di appartenenza di un utente, utile per gestire l’accesso in base a restrizioni geografiche o per soddisfare requisiti di conformità locali.
  • Attributi temporali: Usati per specificare la validità temporale di un attributo, come date di inizio e fine per l’accesso a risorse legate a un progetto temporaneo.
  • Attributi di competenza/certificazione: Denotano competenze specifiche, qualificazioni o certificazioni che un utente ha ottenuto. Questi possono essere impiegati per controllare l’accesso a strumenti, tecnologie o dati che richiedono una certa competenza.
  • Attributi personalizzati: Oltre agli attributi standard, gli amministratori possono creare attributi completamente personalizzati che riflettano esigenze uniche dell’organizzazione. Questi possono includere identificatori per iniziative specifiche, indicatori di conformità, o qualsiasi altra classificazione che sia rilevante per la gestione delle identità e degli accessi.

Figura 7: Aggiunta di attributi al set di attributi

La flessibilità offerta dalla possibilità di definire e utilizzare vari tipi di attributi nei set di attributi permette alle aziende di costruire sistemi di controllo dell’accesso e di sicurezza estremamente dettagliati e personalizzati. Io ho deciso di utilizzare dei valori predefiniti da me per individuare le applicazioni.

Figura 8: Aggiunta di attributi al set di attributi

Quindi d’ora in poi sarà disponibile l’attributo ApplicationType che può avere solo tre valori: Internal Use, Public App e Restricted Use.

Figura 9: Attributo e relativi valori

Figura 10: Attributo creato

Assegnazione del custom security attribute ad un’applicazione

L’assegnazione dei Custom Security Attributes in Microsoft Entra può essere realizzata attraverso una serie di passaggi che coinvolgono l’uso del portale di amministrazione di Microsoft Entra o delle relative API di programmazione. Questo processo consente agli amministratori di applicare specifici attributi di sicurezza personalizzati agli utenti o ai gruppi all’interno della loro azienda, per gestire in modo efficace l’accesso alle risorse e le politiche di sicurezza.

Io ho deciso di associare il custom attribute appena creato ad un’applicazione web. L’obiettivo sarà quello di utilizzare una policy di accesso condizionale più restrittiva dal punto di vista dell’autenticazione per poter accedere all’applicazione.

Figura 11: Assegnazione del Custom Security Attribute ad una Enterprise Application in Microsoft Entra

A questa applicazione ho assegnato l’Application Type con il valore Restricted Use, come mostrato nella figura sotto:

Figura 12: Assegnazione del Custom Security Attribute ad una Enterprise Application in Microsoft Entra

Figura 13: Assegnazione del Custom Security Attribute completata

Creazione di una Conditional access policy con l’utilizzo dei custom security attributes

Per utilizzare una Conditional Access Policy con i Custom Security Attributes in Microsoft Entra è necessario seguire un processo che integra questi attributi di sicurezza personalizzati nelle vostre politiche di accesso condizionale. Questo processo consente di definire regole di accesso che valutano gli attributi di sicurezza assegnati alle applicazioni. Io voglio aumentare il livello di sicurezza degli accessi alle applicazioni considerate più sensibili, imponendo la passwordless authentication.

Dal portale di Microsoft Entra andate in Protection > Conditional Access e create una nuova policy di accesso condizionale.

Figura 14: Creazione di nuova policy di accesso condizionale

In Target resources ho definito un filtro che utilizza i custom security attributes. Come mostrato nella figura sotto, la policy si applica quando ci si collega ad applicazioni che hanno l’attributo ApplicationType configurato come Restricted Use.

Figura 15: La policy si applica quando ci si collega ad applicazioni che hanno l’attributo ApplicationType configurato come Restricted Use

Io ho deciso di imporre una modalità di autenticazione più forte quando ci si collega alle applicazioni che avranno il custom attribute scelto. E per questo motivo utilizzerò gli Authentication strengths, di cui avevo già parlato nell’articolo Authentication strengths (Preview) in Azure AD – ICT Power

Gli Authentication Strengths di Microsoft Entra rappresentano un concetto introdotto per definire e applicare livelli di autenticazione specifici basati sui requisiti di sicurezza di un’organizzazione. Questa funzionalità consente agli amministratori di specificare esattamente quali metodi di autenticazione devono essere soddisfatti per accedere a determinate risorse o applicazioni, migliorando così la sicurezza generale e la gestione dei rischi.

Con gli Authentication Strengths è possibile configurare politiche di accesso condizionale che richiedono metodi di autenticazione più forti in scenari in cui il rischio è maggiore. Per esempio, per accedere a dati altamente sensibili, un’azienda può richiedere l’autenticazione multifattore (MFA) con specifici fattori, come un token hardware e la biometria, piuttosto che consentire l’accesso con solo una password o un metodo di autenticazione meno sicuro.

Questo livello di dettaglio e personalizzazione significa che gli Authentication Strengths possono essere adattati per riflettere le diverse sensibilità delle risorse o le valutazioni del rischio associato a vari tipi di accesso.

Ho deciso quindi di imporre la Passwordless MFA. La Passwordless Multi-Factor Authentication (MFA) è un approccio avanzato alla sicurezza che elimina la necessità di password come metodo primario di autenticazione, sostituendole con metodi di autenticazione più sicuri e convenienti. Questa strategia si basa sull’uso di almeno due dei seguenti fattori di autenticazione, senza includere la password:

  • Qualcosa che l’utente sa: Tradizionalmente, questo ruolo è ricoperto dalla password, ma in un contesto passwordless, questo fattore può essere sostituito da un PIN o risposte a domande di sicurezza, purché non siano utilizzati come unico metodo di autenticazione.
  • Qualcosa che l’utente ha: Si tratta di un dispositivo fisico o di un token di sicurezza che l’utente possiede, come un telefono cellulare, una chiavetta di sicurezza hardware (ad esempio, YubiKey), o una smart card.
  • Qualcosa che l’utente è: Questo fattore si riferisce all’autenticazione biometrica, come le impronte digitali, il riconoscimento facciale, il riconoscimento dell’iride o la scansione della voce.

La Passwordless MFA migliora significativamente la sicurezza riducendo la dipendenza dalle password, che sono spesso vulnerabili a phishing, attacchi di forza bruta e altre tecniche di hacking. Inoltre, la Passwordless MFA offre un’esperienza utente più fluida e conveniente, eliminando la necessità di ricordare password complesse e di cambiarle regolarmente.

Microsoft Entra supporta vari metodi per implementare la Passwordless MFA, tra cui:

  • Microsoft Authenticator App: Utilizza notifiche push, verifica biometrica o un PIN per autenticare l’utente.
  • Windows Hello for Business: Permette agli utenti di accedere ai loro dispositivi Windows e alle risorse aziendali utilizzando l’autenticazione biometrica o un PIN.
  • Chiavi di sicurezza FIDO2: Dispositivi hardware che supportano lo standard FIDO2 e possono essere utilizzati per l’autenticazione sicura senza password su vari servizi.

Figura 16: Imposizione dell’utilizzo della Passwordless MFA

Figura 17: Creazione della Conditional Access Policy

Figura 18: Creazione della Conditional Access Policy completata

Test di funzionamento

Per testare il corretto funzionamento della policy di accesso condizionale mi sono collegato ad una delle Enterprise App che hanno l’attributo di security ApplicationType configurato come Restricted Use. Per il login l’utente ha utilizzato la sua password e ha confermato l’identità con l’MFA. Però NON ha usato la Passwrdoless MFA e per questo motivo gli è stato negato l’accesso, come mostrato nella figura sotto:

Figura 19: L’accesso all’applicazione viene negato perché l’utente non ha usato la Passwordless MFA

Utilizzo degli attributi per filtrare gli accessi – Role assignment condition

I Security Custom Attribute possono essere utilizzati, insieme al Role Based Access Control, per filtrare meglio gli accessi alle risorse. Una Role assignment condition è un controllo aggiuntivo che è possibile aggiungere facoltativamente all’assegnazione di ruolo per fornire un controllo di accesso più granulare. Una condizione filtra le autorizzazioni inattiva concesse come parte della definizione del ruolo e dell’assegnazione di ruolo. Ad esempio, è possibile aggiungere una condizione che richiede che un oggetto disponga di un tag specifico per leggere l’oggetto. Non è possibile negare esplicitamente l’accesso alle risorse specifiche usando le condizioni.

Potete assegnare, ad esempio, alcuni privilegi di utilizzo di un Azure Storage Account ad un gruppo di utenti e successivamente limitare di quel gruppo solo alcuni utenti con particolari attributi.

Vi invito a leggere la mia guida Introduzione a Azure attribute-based access control (Azure ABAC) – ICT Power per maggiori approfondimenti.

Conclusioni

I custom security attributes rappresentano uno strumento potente e flessibile per migliorare la sicurezza e la gestione dell’accesso all’interno della vostra organizzazione, offrendo un livello di controllo e personalizzazione che va oltre le capacità standard di Azure AD. Utilizzando questi attributi in modo strategico, potete significativamente rafforzare la vostra postura di sicurezza, garantendo che l’accesso alle risorse aziendali sia regolato in modo preciso e conforme alle esigenze di sicurezza specifiche della vostra organizzazione.

Utilizzando i custom security attributes nelle vostre Conditional Access Policies, potete creare un framework di sicurezza che è sia flessibile che potente, consentendo di rispondere dinamicamente a vari contesti di sicurezza e di garantire che solo gli utenti autorizzati possano accedere alle vostre risorse aziendali in base a criteri ben definiti. Questo approccio migliora notevolmente la sicurezza generale, minimizzando il rischio di accessi non autorizzati e garantendo che le politiche di accesso siano sempre allineate con le esigenze di sicurezza della vostra azienda.