Il controllo degli accessi basato sui ruoli (RBAC) è un modello per autorizzare l'accesso dell'utente finale a sistemi, applicazioni e dati in base al ruolo predefinito dell'utente. Ad esempio, un analista della sicurezza può configurare un firewall ma non può visualizzare i dati dei clienti, mentre un rappresentante commerciale può vedere gli account dei clienti ma non può toccare le impostazioni del firewall.
In un sistema RBAC, un amministratore assegna a ogni singolo utente uno o più ruoli. Ogni nuovo ruolo rappresenta un insieme di autorizzazioni o privilegi per l'utente.
Un ruolo finanziario potrebbe autorizzare un utente a effettuare acquisti, eseguire software di previsione o concedere l'accesso ai sistemi della supply chain. Un ruolo delle risorse umane potrebbe autorizzare un utente a visualizzare i file del personale e a gestire i sistemi di benefit per i dipendenti.
Le grandi organizzazioni con molti dipendenti utilizzano spesso l'RBAC per semplificare la gestione degli accessi e garantire la sicurezza delle informazioni per le risorse digitali. Alcune aziende utilizzano il sistema RBAC anche per concedere l'autorizzazione di sicurezza per asset fisici, come le serrature elettroniche di edifici, uffici e data center.
Limitando l'accesso degli utenti alle risorse necessarie per i loro ruoli, RBAC può aiutare a difendersi dagli insider malevoli, dipendenti negligenti e attori di minacce esterni.
Un sistema di controllo degli accessi basato sui ruoli consente alle organizzazioni di adottare un approccio granulare alla gestione delle identità e degli accessi (IAM), semplificando al contempo i processi di autorizzazione e le politiche di controllo degli accessi. Nello specifico, RBAC aiuta le organizzazioni a:
L'RBAC elimina la necessità di effettuare il provisioning di ogni singolo utente con un set personalizzato di autorizzazioni utente. Al contrario, i ruoli RBAC definiti determinano i diritti di accesso. Questo processo rende più facile per le organizzazioni inserire o eliminare i dipendenti, aggiornare le funzioni lavorative e trasformare le operazioni aziendali.
I vantaggi di RBAC includono anche la possibilità di aggiungere rapidamente autorizzazioni di accesso per appaltatori, fornitori e altri utenti terzi. Ad esempio, l'assegnazione di un ruolo di comarketing potrebbe concedere a un partner commerciale esterno l'accesso tramite application programming interface (API) ai database relativi ai prodotti. In questo modo, l'utente ha accesso alle informazioni di cui ha bisogno, senza che nessuna delle risorse riservate dell'azienda venga esposta.
L'implementazione di RBAC aiuta inoltre le aziende a rispettare le normative sulla protezione dei dati , come gli obblighi che riguardano i servizi finanziari e le organizzazioni sanitarie. RBAC garantisce trasparenza agli enti regolatori in merito a chi, quando e come vengono consultate o modificate informazioni sensibili.
Le politiche RBAC aiutano ad affrontare le vulnerabilità di cybersecurity applicando il principio del privilegio minimo (PoLP). Secondo il PoLP, i ruoli utente concedono l'accesso al livello minimo di autorizzazioni necessarie per completare un'attività o svolgere un incarico. Ad esempio, uno sviluppatore junior potrebbe avere l'autorizzazione per lavorare sul codice sorgente di un'app, ma non può eseguire il commit delle modifiche senza l'approvazione di un supervisore.
Limitando l'accesso ai dati sensibili, RBAC aiuta a prevenire sia la perdita accidentale di dati sia le violazioni intenzionali dei dati. Nello specifico, RBAC aiuta a limitare il movimento laterale, ovvero quando gli hacker utilizzano un vettore di accesso iniziale alla rete per espandere gradualmente il loro raggio d'azione all'interno di un sistema.
Secondo l' X-Force® Threat Intelligence Index, l'uso improprio di account validi, in cui gli hacker si impossessano degli account degli utenti legittimi e utilizzano i loro privilegi per causare danni, è il vettore di attacco informatico più comune. RBAC mitiga il danno che un hacker può fare con l'account di un utente limitando in primo luogo ciò a cui tale account può accedere.
Allo stesso modo, le minacce interne rappresentano una delle cause più costose delle violazioni dei dati. Secondo il report Cost of a Data Breach, le violazioni causate da insider malevoli costano in media 4,99 milioni di USD, superiore al costo medio complessivo delle violazioni di 4,88 milioni di USD.
Limitando le autorizzazioni degli utenti, RBAC rende più difficile per i dipendenti utilizzare in modo doloso o negligente i propri privilegi di accesso per danneggiare l'organizzazione.
Un'attenta limitazione degli accessi al sistema diventerà ancora più importante con l'aumento dell'uso dell'intelligenza artificiale (AI) avanzata. Quando gli utenti forniscono informazioni riservate o sensibili a strumenti di AI generativa senza autorizzazione e sono presenti pochi guardrail, possono sorgere problemi. Lo studio di IBM Institute for Business Value ha rilevato che solo il 24% dei progetti di gen AI attuale ha una componente per proteggere le iniziative.
In un sistema RBAC, le organizzazioni devono prima creare ruoli specifici e quindi definire quali autorizzazioni e privilegi verranno concessi a tali ruoli. Le organizzazioni spesso iniziano separando i ruoli in tre categorie principali: amministratori, specialisti o utenti esperti e utenti finali.
Per configurare ulteriormente ruoli diversi per gruppi specifici di utenti, vengono presi in considerazione fattori più precisi come l'autorità, le responsabilità e i livelli di competenza. A volte, un ruolo potrebbe corrispondere direttamente a un titolo di lavoro. In altri casi, il ruolo potrebbe essere una raccolta di permessi che possono essere assegnati a un utente che soddisfa determinate condizioni, indipendentemente dal suo titolo di lavoro.
Spesso agli utenti vengono assegnati più ruoli oppure possono essere assegnati a un gruppo di ruoli che include diversi livelli di accesso. Alcuni ruoli sono gerarchici e forniscono ai manager un set completo di autorizzazioni, mentre i ruoli sottostanti ricevono un sottoinsieme di tali autorizzazioni. Ad esempio, il ruolo di supervisore potrebbe concedere a quell'utente il permesso di scrittura su un documento, mentre i membri del team hanno solo l'accesso in lettura.
Molte organizzazioni utilizzano una soluzione di gestione delle identità e degli accessi (IAM) per implementare RBAC nelle loro aziende. I sistemi IAM possono aiutare sia con l'autenticazione che con l'autorizzazione in uno schema RBAC:
Il National Institute of Standards and Technology (NIST), che ha sviluppato il modello RBAC, fornisce tre regole di base per tutti i sistemi RBAC.
Esistono quattro modelli distinti per l'implementazione di RBAC, ma ogni modello inizia con la stessa struttura di base. Ogni modello successivo aggiunge nuove funzionalità e caratteristiche al modello precedente.
Questo modello, a volte chiamato Flat RBAC, è la base necessaria per qualsiasi sistema RBAC. Segue le tre regole base del sistema RBAC. Agli utenti vengono assegnati ruoli e tali ruoli autorizzano l'accesso a set specifici di autorizzazioni e privilegi. RBAC core può essere utilizzato come sistema principale di controllo degli accessi o come base per modelli RBAC più avanzati.
Questo modello aggiunge gerarchie di ruoli che replicano la struttura di reporting di un'organizzazione. In una gerarchia dei ruoli, ogni ruolo eredita le autorizzazioni del ruolo sottostante e ottiene nuove autorizzazioni.
Ad esempio, una gerarchia di ruoli potrebbe includere dirigenti, manager, supervisori e dipendenti di linea. Un dirigente al vertice della gerarchia sarebbe autorizzato a disporre di un set completo di permessi, mentre ai manager, ai supervisori e ai dipendenti di linea verrebbero concessi sottoinsiemi via via più piccoli di tale set di permessi.
Oltre alle gerarchie dei ruoli, questo modello aggiunge funzionalità per imporre la separazione delle mansioni (SOD). La separazione delle mansioni aiuta a prevenire i conflitti di interesse, in quanto richiede che due persone portino a termine determinati compiti.
Ad esempio, l'utente che richiede il rimborso di una spesa aziendale non deve essere la stessa persona che approva la richiesta. I criteri RBAC vincolati garantiscono la separazione dei privilegi degli utenti per questo tipo di attività.
Questo modello è la versione più avanzata, flessibile e completa di RBAC. Oltre alle funzionalità dei modelli precedenti, aggiunge una visibilità più approfondita sulle autorizzazioni in tutta l'azienda.
Le organizzazioni sono in grado di verificare in che modo ogni autorizzazione viene assegnata a ciascun ruolo e a ciascun utente nel sistema. Possono anche regolare e aggiornare le autorizzazioni associate ai ruoli man mano che i processi aziendali e le responsabilità dei dipendenti si evolvono.
Queste funzionalità sono particolarmente utili per le grandi organizzazioni che devono garantire che ogni ruolo e ogni utente disponga del minimo accesso necessario per svolgere le proprie attività.
Esistono altri framework di controllo degli accessi che le organizzazioni potrebbero utilizzare come alternativa a RBAC. In alcuni casi d'uso, le organizzazioni combinano RBAC con un altro modello di autorizzazione per gestire le autorizzazioni degli utenti. I framework di controllo degli accessi più comunemente utilizzati includono:
I sistemi MAC applicano criteri di controllo degli accessi definiti centralmente per tutti gli utenti. I sistemi MAC sono meno granulari di RBAC e l'accesso si basa in genere su livelli di autorizzazione o punteggi di fiducia prestabiliti. Molti sistemi operativi utilizzano MAC per controllare l'accesso dei programmi alle risorse di sistema sensibili.
I sistemi DAC consentono ai proprietari delle risorse di impostare le proprie regole di controllo degli accessi per tali risorse. Il DAC è più flessibile rispetto ai criteri generali del MAC e meno restrittivo rispetto all'approccio strutturato di RBAC.
ABAC analizza gli attributi degli utenti, degli oggetti e delle azioni, come il nome dell'utente, il tipo di risorsa e l'ora del giorno, per determinare se l'accesso sarà concesso. RBAC può essere più facile da implementare rispetto all'ABAC, perché quest'ultimo utilizza i ruoli organizzativi piuttosto che gli attributi di ogni singolo utente per autorizzare l'accesso.
La differenza tra RBAC e ABAC è che ABAC determina dinamicamente le autorizzazioni di accesso al momento in base a diversi fattori, mentre RBAC determina le autorizzazioni di accesso in base esclusivamente al ruolo predefinito dell'utente.
L'ACL è un sistema di controllo degli accessi di base che fa riferimento a un elenco di utenti e regole per determinare chi può accedere a un sistema o a una risorsa e quali azioni può eseguire.
La differenza tra ACL e RBAC è che un ACL definisce individualmente le regole per ogni utente, mentre i sistemi RBAC assegnano i diritti di accesso in base ai ruoli.
Per le grandi organizzazioni, RBAC è considerato un'opzione migliore per il controllo degli accessi perché è più scalabile e più facile da gestire rispetto all'ACL.