Nella sicurezza informatica, il Role-based access control (in italiano: Controllo degli accessi basati sui ruoli) in sigla RBAC è un approccio a sistemi ad accesso ristretto per utenti autorizzati. É una più recente alternativa al Mandatory Access Control (Controllo degli accessi vincolato) e al Discretionary Access Control (Controllo degli accessi discrezionale).

Modello RBAC

All'interno di una organizzazione i ruoli sono creati per diverse funzioni di lavoro. I permessi per eseguire specifiche operazioni sono assegnate a specifici ruoli. Ai membri di un gruppo sono assegnati particolari ruoli e, attraverso queste assegnazioni, questi acquisiscono il permesso di eseguire specifiche funzioni. Poichè i permessi non sono assegnati direttamente agli utenti ma vengono acquisiti solo tramite il ruolo (o i ruoli) ad essi assegnati, la gestione dei diritti individuali per un utente diventa una semplice assegnazione dei ruoli appropriati per l'utente stesso. QUesto semplifica le operazioni comuni, come l'aggiunta di un utente o il cambio di dipartimento.

Three primary rules are defined for RBAC:

Tre regole fondamentali sono definite per il modello RBAC:

1. Assegnazione dei ruoli: un soggetto può eseguire una transazione solo se il soggetto ha selezionato o è stato assegnato ad un ruolo.

2. Autorizzazione dei ruoli: un ruolo attivo per un soggetto deve essere stato autorizzato per il soggetto. Insieme alla regola 1 questa regola garantisce che gli utenti possono avere esclusivamente ruoli ai quali sono stati autorizzati.

3. Autorizzazione alla transazione: un soggetto può eseguire una transazione solo se la transazione è autorizzata per il ruolo attivo del soggetto. Insieme alle regole 1 e 2 questa regola garantisce che l'utente può eseguire solo transazioni alle quali è stato autorizzato.

Possono anche essere applicati vincoli aggiuntivi ed i ruoli possono essere combinati in una gerarchia dove livelli più alti sono composti dai permessi dei ruoli dei livelli inferiori.

Possono essere applicati anche vincoli aggiuntivi e i ruoli possono essere combinati in una gerarchia dove i ruoli di livello più alto si sussumono i permessi di proprietà dei ruoli di livello più basso


Con i concetti di vincoli e di gerarchia dei ruoli si può creare o simulare un approccio lattice-based access control (LBAC). Pertanto RBAC può essere considerato un ampliamento di LBAC.

Questa è la nomenclatura usata:

  • S = Soggetto =una persona o un agente automatico
  • R = Ruolo = funzione di lavoro o titolo che definisce un livello di autorità
  • P = Permessi = autorizzazione alla modalità di accesso alla risorsa
  • SE = Sessione =una mappa che coinvolge S, R e/o P
  • SA = Soggetto assegnato
  • PA = Permesso assegnato
  • RH = Gerarchia di ruolo ordinata parzialmente.
  • Un soggetto può avere più ruoli.
  • un ruolo può avere più soggetti.
  • Un ruolo può avere molti permessi.
  • Un permesso può essere assegnato a più ruoli.

Voci correlate