Controlul accesului bazat pe roluri

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 9 decembrie 2019; verificările necesită 2 modificări .

Controlul accesului bazat pe roluri (RBAC ) este dezvoltarea unei politici de  control selectiv al accesului , în timp ce drepturile de acces ale subiecților sistemului la obiecte sunt grupate ținând cont de specificul aplicării acestora, formând roluri . [1] [2]

Formarea rolurilor are scopul de a defini reguli clare și ușor de înțeles pentru controlul accesului pentru utilizatorii unui sistem informatic . Controlul accesului bazat pe roluri face posibilă implementarea unor reguli flexibile de control al accesului care se modifică dinamic în timpul funcționării unui sistem informatic.

Un astfel de control al accesului este o componentă a multor sisteme informatice moderne. De regulă, această abordare este utilizată în sistemele de protecție DBMS , iar elementele individuale sunt implementate în sistemele de operare în rețea . Abordarea bazată pe roluri este adesea folosită în sistemele pentru care utilizatorii au un domeniu de aplicare clar definit al sarcinilor și responsabilităților lor.

În ciuda faptului că un rol este un set de drepturi de acces la obiectele unui sistem informatic, controlul accesului bazat pe roluri nu este în niciun caz un caz special de control selectiv al accesului, deoarece regulile sale determină procedura de acordare a accesului subiecților unui computer. sistem, în funcție de rolurile pe care le are (sau nu le are) în fiecare moment de timp, ceea ce este tipic pentru sistemele obligatorii de control al accesului . Pe de altă parte, regulile de control al accesului bazat pe roluri sunt mai flexibile decât în ​​cazul abordării obligatorii a controlului accesului.

Deoarece privilegiile nu sunt atribuite direct utilizatorilor și sunt dobândite de aceștia doar prin rolul (sau rolurile) acestora, gestionarea drepturilor individuale ale unui utilizator se reduce în esență la atribuirea de roluri acestuia. Acest lucru simplifică operațiuni precum adăugarea unui utilizator sau schimbarea departamentelor de către un utilizator.

Istorie

Formele elementare ale modelului RBAC au fost implementate într-o varietate de forme speciale pe multe sisteme începând cu anii 1970 . Controlul accesului bazat pe roluri utilizat în prezent derivă din modelul propus de Ferraiolo și  Kuhn ( 1992 ) și ca model  exemplar rafinat ulterior de Sandhu , Coyne, Feinstein și Yeoman ( 1996 ).  

Modelul RBAC de bază

Următoarele convenții sunt utilizate pentru a defini modelul RBAC:

Rolurile sunt atribuite subiecților, prin care subiecții primesc anumite permisiuni prin intermediul rolurilor. RBAC necesită acest tip de atribuire, și nu atribuirea directă a permisiunilor subiecților, altfel duce la o relație dificil de controlat între subiecți și permisiuni [3] .

Capacitatea de a moșteni permisiunile de la roluri opuse este supusă unei reguli restrictive care permite să se realizeze o separare adecvată a modurilor. De exemplu, aceeași persoană nu poate avea voie să creeze un cont pentru cineva și apoi să se conecteze la acel cont.

Folosind notația din teoria mulțimilor :

Notația: x ≥ y înseamnă că x moștenește permisiunile lui y.

Un subiect poate avea mai multe sesiuni simultane cu permisiuni diferite.

Caracteristici și aplicații

Tehnologia de control al accesului bazată pe roluri este flexibilă și suficient de puternică pentru a modela atât controlul selectiv al accesului (DAC) [4] , cât și controlul accesului obligatoriu (MAC) [5]

Înainte de dezvoltarea RBAC, singurele modele cunoscute de control al accesului erau MAC și DAC. Cercetările din anii '90 au arătat că RBAC nu intra în nicio categorie.

În cadrul organizației sunt create roluri pentru diferite funcții ale postului. Anumitelor roluri li se atribuie permisiuni pentru a efectua anumite operațiuni. Membrilor personalului (sau altor utilizatori ai sistemului) li se atribuie roluri fixe prin care primesc privilegii adecvate pentru a îndeplini funcții fixe ale sistemului. Spre deosebire de controlul accesului bazat pe context (CBAC )  , o implementare RBAC pură nu ține cont de situația actuală (cum ar fi, de exemplu, de unde a fost stabilită conexiunea).

RBAC diferă de listele de control al accesului ( ACL )  utilizate în sistemele tradiționale de control selectiv al accesului prin faptul că poate acorda privilegii pentru operațiuni complexe pe date compuse, și nu doar operațiuni atomice pe obiecte de date de nivel scăzut. De exemplu, o listă de control al accesului poate acorda sau interzice accesul la scriere la un anumit fișier de sistem, dar nu poate restricționa modul în care acel fișier poate fi modificat. Un sistem bazat pe RBAC vă permite să creați o activitate precum deschiderea unui „împrumut” într-o aplicație financiară sau completarea unei intrări „test de zahăr din sânge” într-o aplicație medicală. Atribuirea unui privilegiu pentru a efectua o operație are mai multe valori, deoarece operațiunile sunt granulare în cadrul unei aplicații.

Conceptele de ierarhie a rolurilor și constrângeri vă permit să creați sau să modelați controlul accesului bazat pe zăbrele (LBAC )  folosind RBAC. Astfel, RBAC poate fi baza și extinderea LBAC.

În organizațiile cu o infrastructură IT eterogenă care conține zeci și sute de sisteme și aplicații, utilizarea unei ierarhii de roluri și moștenirea privilegiilor ajută. Fără aceasta, utilizarea RBAC devine extrem de confuză. Articolul „Additional Roles: A Practical Approach to Serving Enterprise Users” [6] discută strategii alternative la privilegiile utilizatorilor pe scară largă.

Sistemele moderne extind vechiul model NIST [7] cu limitările RBAC pentru implementarea în întreprinderi mari.

Pentru sistemele mari cu sute de roluri, mii de utilizatori și milioane de permisiuni, gestionarea rolurilor, utilizatorilor, permisiunilor și relațiilor acestora este o sarcină complexă care nu este fezabilă pentru un grup mic de administratori de securitate. O oportunitate atractivă este utilizarea RBAC în sine pentru a facilita guvernarea descentralizată a RBAC.

RBAC este utilizat pe scară largă pentru a gestiona privilegiile utilizatorului într-un singur sistem sau aplicație. Lista acestor sisteme include Microsoft Active Directory , SELinux , FreeBSD , Solaris , Oracle Database , PostgreSQL 8.1 , SAP R/3 , Lotus Notes și multe altele.

Vezi și

Note

  1. Ferraiolo DF, Kuhn DR (octombrie 1992). „Controlul accesului bazat pe roluri” (PDF) . A 15-a Conferință Națională de Securitate Informatică . pp. 554-563. Arhivat (PDF) din original pe 2011-10-18 . Consultat 2008-07-28 . Parametrul depreciat folosit |deadlink=( ajutor )
  2. Sandhu R., Coyne EJ, Feinstein HL, Youman CE Role-Based Access Control Models  (nedefinite)  // IEEE Computer. - IEEE Press, 1996. - August ( vol. 29 , nr. 2 ). - S. 38-47 . Arhivat din original pe 5 iunie 2011.
  3. NIST Computer Security Division - Automated Combinatorial Testing for Software (ACTS) . csrc.nist.gov. Preluat la 7 iulie 2016. Arhivat din original la 21 iunie 2016.
  4. . Ravi Sandhu, Qamar Munawer (octombrie 1998). „Cum se face controlul discreționar al accesului folosind roluri”. Al treilea atelier ACM privind controlul accesului bazat pe roluri . pp. 47-54. Parametrul depreciat folosit |month=( ajutor )
  5. Sylvia Osborn, Ravi Sandhu, Qamar Munawer (2000). „Configurarea controlului accesului bazat pe roluri pentru a aplica politicile de control al accesului obligatorii și discreționari”. Tranzacții ACM privind securitatea informațiilor și a sistemului (TISSEC) . pp. 85-106.
  6. Dincolo de roluri: O abordare practică a aprovizionării utilizatorilor pentru întreprinderi . Data accesului: 28 iulie 2008. Arhivat din original la 21 august 2008.
  7. Sandhu R., Ferraiolo DF și Kuhn DR (iulie 2000). „Modelul NIST pentru controlul accesului bazat pe roluri: către un standard unificat.” Al 5-lea atelier ACM Control acces bazat pe roluri . pp. 47-63. Parametrul depreciat folosit |month=( ajutor )

Link -uri