RBAC, acronimo di Role-Based Access Control, è un'alternativa alle tradizionali politiche DAC (Discretionary Access Control) e MAC (Mandatory Access Control) ampiamente utilizzata nelle applicazioni commerciali.
Consente di specificare e applicare politiche di sicurezza specifiche per un'azienda in modo che si adattino naturalmente alla struttura dell'organizzazione.
Nel controllo degli accessi, è molto più importante conoscere quali sono le responsabilità organizzative di un utente piuttosto che chi sia l'utente. (Nella maggior parte delle attività aziendali, l'identità dell'utente è rilevante solo per la responsabilità).
Negli approcci DAC convenzionali, in cui la proprietà individuale dell'utente sui dati è fondamentale, non sono adatti. Allo stesso modo, non lo sono neanche i controlli di accesso obbligatori completi, in cui gli utenti hanno autorizzazioni di sicurezza e gli oggetti hanno classificazioni di sicurezza.
RBAC colma questa lacuna unendo la flessibilità delle autorizzazioni esplicite con vincoli organizzativi aggiuntivi imposti. In altre parole, RBAC consente di assegnare ruoli specifici agli utenti in base alle loro responsabilità organizzative, semplificando così il controllo degli accessi in ambienti complessi.
Idea: decomporre la relazione soggetto/oggetto utilizzando i ruoli:

I gruppi definiscono insiemi di utenti, mentre i ruoli definiscono insiemi di privilegi.
I ruoli possono essere "attivati" e "disattivati" dagli utenti a loro discrezione.
L'appartenenza a un gruppo si applica sempre, ovvero gli utenti non possono abilitare e disabilitare l'appartenenza a gruppi (e le relative autorizzazioni) a loro piacimento.
Tuttavia, poiché possono essere definiti ruoli che corrispondono a figure organizzative (ad esempio, segretario, presidente e docente), uno stesso "concetto" può essere considerato sia come un gruppo che come un ruolo.
RBAC semplifica notevolmente la gestione della politica di sicurezza: