Rollebaseret adgangskontrol (RBAC ) er udviklingen af en selektiv adgangskontrolpolitik , mens adgangsrettighederne for systemsubjekter til objekter er grupperet under hensyntagen til de specifikke applikationer, der danner roller . [1] [2]
Rolledannelsen har til formål at definere klare og forståelige regler for adgangskontrol for brugere af et computersystem . Rollebaseret adgangskontrol gør det muligt at implementere fleksible adgangskontrolregler, der ændres dynamisk under driften af et computersystem.
Sådan adgangskontrol er en del af mange moderne computersystemer. Som regel bruges denne tilgang i DBMS - beskyttelsessystemer , og individuelle elementer er implementeret i netværksoperativsystemer . Den rollebaserede tilgang bruges ofte i systemer, hvor brugerne har et klart defineret omfang af deres arbejdsopgaver og ansvar.
På trods af det faktum, at en rolle er et sæt af adgangsrettigheder til objekter i et computersystem, er rollebaseret adgangskontrol på ingen måde et særligt tilfælde af selektiv adgangskontrol, da dens regler bestemmer proceduren for at give adgang til personer på en computer system, afhængigt af de roller, det har (eller ikke har) i hvert øjeblik af tiden, hvilket er typisk for obligatoriske adgangskontrolsystemer . På den anden side er reglerne for rollebaseret adgangskontrol mere fleksible end med den obligatoriske tilgang til adgangskontrol.
Da privilegier ikke tildeles direkte til brugere og kun erhverves af dem gennem deres rolle (eller roller), er administration af en brugers individuelle rettigheder i det væsentlige reduceret til at tildele ham roller. Dette forenkler operationer såsom tilføjelse af en bruger eller ændring af afdelinger af en bruger.
Elementære former for RBAC-modellen er blevet implementeret i en række specielle former på mange systemer siden 1970'erne . Den rollebaserede adgangskontrol, der i øjeblikket er i brug, stammer fra modellen foreslået af Ferraiolo og Kuhn ( 1992 ) og som en eksemplarisk model senere forfinet af Sandhu , Coyne, Feinstein og Yeoman ( 1996 ).
Følgende konventioner bruges til at definere RBAC-modellen:
Roller tildeles fag, hvorved fagene får visse tilladelser gennem rollerne. RBAC kræver denne form for tildeling, og ikke direkte tildeling af tilladelser til emner, ellers fører det til et vanskeligt at kontrollere forholdet mellem emner og tilladelser [3] .
Muligheden for at arve tilladelser fra modsatte roller er underlagt en restriktiv regel, der gør det muligt at opnå en korrekt adskillelse af tilstande. For eksempel kan den samme person ikke have lov til at oprette en konto for nogen og derefter logge ind på denne konto.
Brug af mængdeteori- notation :
Notationen: x ≥ y betyder, at x arver tilladelserne til y.
Et emne kan have mange samtidige sessioner med forskellige tilladelser.
Rollebaseret adgangskontrolteknologi er fleksibel og stærk nok til at modellere både selektiv adgangskontrol (DAC) [4] og obligatorisk adgangskontrol (MAC) [5]
Før udviklingen af RBAC var de eneste kendte adgangskontrolmodeller MAC og DAC. Forskning i 90'erne viste, at RBAC ikke faldt ind under nogen af kategorierne.
Der skabes roller i organisationen til forskellige jobfunktioner. Visse roller er tildelt tilladelser til at udføre bestemte handlinger. Medarbejdere (eller andre brugere af systemet) tildeles faste roller, hvorigennem de modtager passende privilegier til at udføre faste systemfunktioner. I modsætning til kontekstbaseret adgangskontrol ( CBAC ) tager en ren RBAC-implementering ikke højde for den aktuelle situation (som f.eks. hvor forbindelsen blev etableret fra).
RBAC adskiller sig fra adgangskontrollister ( ACL'er ), der bruges i traditionelle selektive adgangskontrolsystemer, ved at den kan give privilegier til komplekse operationer på sammensatte data og ikke kun atomoperationer på dataobjekter på lavt niveau. For eksempel kan en adgangskontrolliste give eller nægte skriveadgang til en bestemt systemfil, men den kan ikke begrænse, hvordan denne fil kan ændres. Et RBAC-baseret system giver dig mulighed for at oprette en aktivitet, såsom at åbne et "lån" i en finansiel ansøgning eller udfylde en "blodsukkertest" i en medicinsk ansøgning. At tildele et privilegium til at udføre en handling har flere værdier, da operationer er granulære i en applikation.
Begreberne rollehierarki og begrænsninger giver dig mulighed for at oprette eller modellere gitterbaseret adgangskontrol (LBAC ) ved hjælp af RBAC. Således kan RBAC være grundlaget og forlængelsen af LBAC.
I organisationer med en heterogen it-infrastruktur, der indeholder snesevis og hundredvis af systemer og applikationer, hjælper brugen af et hierarki af roller og nedarvning af privilegier. Uden dette bliver det ekstremt forvirrende at bruge RBAC. Artiklen "Additional Roles: A Practical Approach to Serving Enterprise Users" [6] diskuterer alternative strategier til store brugerrettigheder.
Moderne systemer udvider den gamle NIST -model [7] med begrænsningerne af RBAC til udrulning i store virksomheder.
For store systemer med hundredvis af roller, tusindvis af brugere og millioner af tilladelser er administration af roller, brugere, tilladelser og deres relationer en kompleks opgave, som ikke er gennemførlig for en lille gruppe sikkerhedsadministratorer. En attraktiv mulighed er at bruge selve RBAC til at lette decentraliseret styring af RBAC.
RBAC er meget brugt til at administrere brugerrettigheder inden for et enkelt system eller applikation. Listen over sådanne systemer inkluderer Microsoft Active Directory , SELinux , FreeBSD , Solaris , Oracle Database , PostgreSQL 8.1 , SAP R/3 , Lotus Notes og mange andre.