Role Based Access Control (RBAC): come funziona il controllo d’accesso basato sui ruoli?
Nel proprio sistema informatico, le aziende e organizzazioni assegnano le autorizzazioni di accesso soltanto agli utenti che ne hanno realmente bisogno per svolgere i propri compiti, al fine di proteggere i dati sensibili da accessi non autorizzati e modifiche non richieste. Per garantire la sicurezza nelle grandi organizzazioni, le autorizzazioni di accesso individuali sono definite in una lista dei controlli d’accesso, la cosiddetta Access Control List (ACL). Lo svantaggio è che, con l’aumentare del numero di utenti, il processo di assegnazione di autorizzazioni individuali diventa sempre più laborioso e soggetto a errori. Un’alternativa flessibile e al tempo stesso efficiente è il controllo degli accessi basato sui ruoli: il Role Based Access Control, in sigla RBAC.
Cos’è il RBAC?
Role Based Access Control, in sigla RBAC, si traduce dall’inglese come “controllo d’accesso basato sui ruoli”. Questo sistema è un approccio alla gestione della sicurezza e dei permessi d’accesso in cui i ruoli e le autorizzazioni sono assegnate all'interno dell'infrastruttura informatica di un'organizzazione. L’intero concetto è “basato sui ruoli” il che è fondamentale per distinguere il RBAC da altri controlli di sicurezza come, ad esempio, il Mandatory Access Control. Con questo modello, un amministratore di sistema assegna a ciascun utente e oggetto una categoria e un livello di autorità. Il sistema operativo confronta tra loro i due livelli e infine permette o nega l’accesso.
Nel RBAC, invece, i permessi di accesso si assegnano secondo un modello definito di ruoli. I ruoli di ciascun utente vengono quindi stabiliti e servono ad astrarre i processi lavorativi di un’organizzazione o impresa. Questi possono variare da azienda ad azienda. Possibili elementi per una ripartizione pertinente sono i reparti, le sedi, i centri di costo o le funzioni di un collaboratore.
Come funziona il Role Based Access Control
Prima di applicare il sistema di accesso RBAC in un’azienda, è necessario specificare nel modo più dettagliato possibile i permessi legati ad un determinato ruolo. Questo comprende la definizione precisa delle autorizzazioni nei seguenti campi:
- Permesso di apportare modifiche ai dati (Read, Read and Write, Full Access)
- Permesso di accesso ad applicazioni aziendali
- Autorizzazioni all’interno delle applicazioni
Per sfruttare al meglio i vantaggi del modello RBAC, il primo passo è sempre quello di stabilire un modello per la creazione di ruoli e autorizzazioni. Per questo l’organizzazione deve suddividere tutte le funzioni dei dipendenti in ruoli che definiscono i diritti relativi. In un secondo momento i ruoli saranno assegnati ai collaboratori in base alle loro responsabilità. Il Role Based Access Control consente di assegnare uno o più ruoli per ciascun utente. Questo permette un’assegnazione individuale di autorizzazioni di accesso anche all’interno dello stesso modello per far sì che i permessi concessi corrispondano alle attività di un utente, senza ulteriori operazioni di personalizzazione.
L’implementazione e il controllo del RBAC avvengono tramite un Identity Access Management System, in sigla IAM (in italiano: Gestione dell’identità e dell’accesso). Questo sistema offre supporto soprattutto alle aziende con un elevato numero di dipendenti nella fase di creazione, controllo e aggiornamento di tutte le identità e i permessi di accesso. L’assegnazione delle autorizzazioni si definisce “Provisioning”, la revoca “De-Provisioning”. Il presupposto per utilizzare un sistema di questo tipo è la creazione di un modello di ruoli unitario e standardizzato.
I portali self-service offrono agli utenti la possibilità di cambiare da soli le proprie autorizzazioni. In caso di modifica, il sistema informa automaticamente gli amministratori i quali possono immediatamente annullarla.
Come funziona la configurazione di un RBAC?
Il Role Based Access Control si basa su una struttura a tre livelli, composta da utenti, ruoli e gruppi. Nel cosiddetto Role Mining le organizzazioni definiscono i ruoli, solitamente orientati in base alla struttura organizzativa dell’azienda. Infine a ciascun dipendente vengono assegnati uno o più ruoli, che possono comprendere una o più autorizzazioni di accesso. Un ruolo può essere collegato a uno o più gruppi, che non devono essere necessariamente equiparati.
Per la creazione del modello di ruolo, è comune l’utilizzo di un’impostazione a piramide:
Il vertice: autorizzazione per tutti i dipendenti
Al vertice si definiscono tutte le autorizzazioni necessarie per ciascun dipendente dell’organizzazione. Tra questi troviamo il classico accesso all’area intranet, la suite di Office, il client di posta elettronica, l’intera network directory o l’accesso attraverso l’active directory.
Il secondo livello: appartenenza a un reparto
In un’organizzazione, i dipendenti di un reparto svolgono compiti simili. Perciò l’ufficio contabile avrà bisogno di accedere al sistema di gestione ERP e al drive del reparto, mentre il dipartimento per le risorse umane dovrà accedere ai dati di tutti i dipendenti. Le autorizzazioni relative saranno rilasciate a tutti i collaboratori di un reparto.
Il terzo livello: funzioni
Le altre autorizzazioni saranno definite in base alla funzione del dipendente e ai relativi compiti.
I team leader sono coloro che conoscono meglio i compiti dei propri dipendenti. Perciò si consiglia di coinvolgerli nel processo di definizione dei ruoli. Un sistema IAM permette di richiedere e confermare in modo automatico l’approvazione dei team leader.
La base: i ruoli
In molti casi i dipendenti svolgono incarichi non ancora coperti dalle voci reparto e funzioni. Perciò l’organizzazione può assegnare a ciascun dipendente altri ruoli necessari per lo svolgimento dei relativi compiti.
Fonte dei dati per il RBAC
Per definire e assegnare i ruoli, un’organizzazione ha bisogno dei dati completi e aggiornati di tutti i dipendenti, che nelle grandi aziende sono protocollati in modo dettagliato soprattutto nel sistema di gestione delle risorse umane. Nella fase di configurazione di un ruolo o di un’autorizzazione, si consiglia di considerare anche tutti quei ruoli non ancora ricoperti in quel momento. Esempi tipici sono gli stagisti di un dipartimento o le posizioni scoperte da tanto tempo.
Vantaggi e Svantaggi del RBAC
Per determinate condizioni, il Role Based Access Control si è imposto come modello di applicazione della miglior prassi. Quando i ruoli e le autorizzazioni sono definite e applicate in modo chiaro in tutta l’azienda, il RBAC offre numerosi vantaggi:
- Flessibilità: l’azienda affida a ciascun dipendente uno o più ruoli in base alla necessità. Eventuali modifiche nella struttura aziendale o nelle autorizzazioni sono veloci da trasmettere a tutti i dipendenti: serve solo che l’azienda adegui il ruolo corrispondente.
- Minori costi di gestione: il RBAC rende obsoleto il complicato processo di assegnazione delle singole autorizzazioni.
- Minore possibilità di errore: le autorizzazioni singole sono più laboriose ma anche più soggette ad errori rispetto all’assegnazione di autorizzazioni di accesso basate sui ruoli.
- Maggiore efficienza: riducendo la mole di lavoro e l’incidenza di errori, il RBAC aumenta l’efficienza del sistema informatico e degli altri dipendenti. Inoltre, non sono più necessarie modifiche manuali, gestione degli errori, tempi di attesa o richieste di autorizzazioni individuali.
- Sicurezza: i diritti di accesso sono definiti esclusivamente in base al ruolo, impedendo in questo modo che ai singoli dipendenti siano conferite autorizzazioni eccessive. Questo corrisponde al cosiddetto principio PoLP, ossia Principle of Least Privilege.
- Trasparenza: il nome dei ruoli è solitamente semplice da capire, rafforzando la trasparenza e la comprensibilità per gli utenti.
Tra gli svantaggi del Role Based Access Control bisogna annoverare:
- Configurazione impegnativa: la fase di conversione delle strutture aziendali nel modello RBAC è particolarmente impegnativa.
- Assegnazioni temporanee: se un utente ha bisogno di permessi d’accesso estesi solo per un periodo temporaneo, quest’assegnazione viene dimenticata più facilmente quando si utilizza il RBAC rispetto a quando si fa uso di un'assegnazione personalizzata dei permessi.
- Applicazione: per le aziende più piccole, il processo di configurazione e mantenimento dei ruoli comporta sforzi maggiori rispetto all’assegnazione di permessi individuali. Per questo conviene applicare il modello RBAC a partire da un certo numero di ruoli e dipendenti. Anche per le aziende più grandi, il Role Based Access Control presenta lo svantaggio di poter risultare in un numero elevato di ruoli. Se un’azienda presenta dieci dipartimenti e dieci ruoli, ne risultano già 100 gruppi diversi.
Dove si utilizza il RBAC?
In molte organizzazioni, il Role Based Access Control si è stabilito come miglior processo per la gestione delle autorizzazioni di accesso. Ciononostante il modello RBAC si applica anche nei sistemi operativi e altri software come ad esempio nel servizio di directory di Windows, Windows Server Active Directory, nella sicurezza del sistema operativo ottimizzato di Linux SELinux o nel sistema operativo di Unix Solaris.