Role-based access control
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.