NellaNell'ambito della [[sicurezza informatica]], il '''role-based access control'''<ref name=":0">{{Cita pubblicazione|autore=|data=October 1992|titolo=Role-Based Access Control|rivista=15th National Computer Security Conference|volume=|numero=|pp=554–563|lingua=Inglese|url=http://csrc.nist.gov/groups/SNS/rbac/documents/ferraiolo-kuhn-92.pdf|autore2=Kuhn, D.R.|autore1=Ferraiolo, D.F.|lastauthoramp=yes|formato=PDF}}</ref><ref>{{Cita pubblicazione|autore=|cognome=Sandhu, R., Coyne, E.J., Feinstein, H.L. and Youman, C.E.|data=August 1996|titolo=Role-Based Access Control Models|rivista=IEEE Computer|editore=IEEE Press|volume=29|numero=2|pp=38–47|lingua=Inglese|doi=10.1109/2.485845|url=http://csrc.nist.gov/rbac/sandhu96.pdf|formato=PDF}}</ref> (in italiano: '''controllo degli accessi basato sui ruoli'''; in sigla '''RBAC''') è una tecnica di controllo di accesso adegli sistemiutenti ristrettoalle perrisorse utentidi autorizzatiun [[sistema informatico]]. È una più recente alternativa al [[mandatory access control]] ("controllo degli accessi vincolato", in sigla MAC) e al [[discretionary access control]] ("controllo degli accessi discrezionale", in sigla DAC).
Si tratta di un meccanismo di accesso definito basandosi sui concetti di ruolo e privilegio. I componenti del RBAC, come i permessi dei ruoli, il ruolo utente e le relazioni ruolo-ruolo, consentono di semplificare l'assegnazione dei ruoli agli utenti. Uno studio diretto dal [[National Institute of Standards and Technology|NIST]] (National Institute of Standard Technologies) ha dimostrato che il RBAC risponde a molte necessità di organizzazioni commerciali e governative. Infatti, il RBAC può essere usato per facilitare la gestione della sicurezza nelle organizzazioni composte da centinaia di utenti e migliaia di permessi diversi. Benché il RBAC sia diverso dal MAC e dal DAC, può contribuire a migliorare queste politiche senza aggiungere delle complicazioni. La popolarità del RBAC è evidenziata dal fatto che molti prodotti e organizzazioni lo usano direttamente o indirettamente.
== DesignIl modello RBAC ==
All'interno di una un'organizzazione, i ruoli sonodefiniscono creatidifferenti perattività diverse funzioni di lavorolavorative. I permessi perdi eseguire specifiche operazioni sono assegnati 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 utentiall'utente, ma vengono acquisiti solo tramite il ruolo (o i ruoli) ad essi assegnati all'utente, la gestione dei diritti individuali perdi un utente diventa una semplice assegnazione deidi ruoli appropriati per lall'utente stesso. Questo semplifica le operazioni comuni, come l'aggiunta di un utente o il cambio di dipartimento.
Tre regole fondamentali sono definite per il modello RBAC:
Quando si definisce un RBAC sono utili le seguenti convenzioni:
* S = Soggetto = una persona o un agente automatico;
* R = Ruolo = funzioneattività di lavorolavorativa o titolo che definisce un livello di autorità;
* P = Permessi = approvazione della modalità di accesso alla risorsa;
* SE = Sessione = un collegamento che coinvolge S, R e/o P;
|