Rollipõhine pääsukontroll

From ICO wiki
Jump to navigationJump to search

Autor: Marina Korovina
Grupp: A22


Rollipõhine pääsukontroll (Role Based Access Control, RBAC) – on autoriseerimise mudel, milles rollid määravad pääsu ja need rollid on omakorda seotud erinevate lubadega. Kasutaja seostakse ühe või rohkemate rollidega, mille kaudu ta saab ligipääsu vastavale funktsionaalsusele (informatsioonile). Kasutajatel ja erinevatel lubadel ei ole otsest seost.

Ajalugu

Juba 1970 [1] proovisiti organisatsioonides rakendama rollipõhist pääsukontrolli, kus kasutajate ligipääs informatsioonile ja funktsionaalsusele oli piiratud sõltuvalt tema rollist organisatsioonis. Need varasemad mudelid ei olnud analüüsitud ja korraldatud.
Mudel, mida kasutatakse tänapäeval tuleneb mudelist, mida Ferraiolo ja Kuhn kirjeldasid oma uurimistöös aastal 1992.[2] Peaaegu 8 aasta jooksul mudelit laiendati ja arendati ning aastal 2000 Sandhu, Ferraiolo ja Kuhn pakkusid välja RBAC standardi, mille omakorda ANSI/INCIT (American National Stabdards Institute, International Committee for Information Technology Stabdards) võttis vastu aastal 2004.[3]

RBAC baas mudel

Rollipõhise pääsukontrolli loogika kirjeldamiseks on kasutatud Ferraiolo ja Kuhn uurimistöö[4].
Järgmised väited kirjeldavad RBAC mudeli:

  • Iga subjekti jaoks on aktiivne roll see roll, mida subjekt kasutab praegu.
  • Igal subjektil võib olla tegevusluba ühe või mitu rolli kasutamiseks.
  • Igal rollil on olemas üks või mitu tehingut, mida võib teostada.
  • Subjektid võivad teostada tehingud läbi rollide.

Kui mudeli kirjeldus on teada, tuleb kasutusele võtta tähtsamad rollipõhise pääsukontrolli reeglid:

  1. Rolli määramine: Subjekt võib teostada tehingu ainult kui see subjekt valis rolli või on selle rolli osanik. Samal ajal autentimise (ID kontroll) protsess ei ole tehing. Kõik teised kasutaja toimingud süsteemis teostatakse läbi tehingute, seega kõikidel aktiivsetel kasutajatel peab olema aktiivne roll.
  2. Rolli tegevusluba: Subjektil peab olema tegevusluba aktiivse rolli kasutamiseks.
  3. Tehingute tegevusluba: Subjekt võib teostada tehingu ainult siis kui see tehing on määratud selle subjekti aktiivse rolli jaoks.

RBAC põhimõistete illustreerimiseks on toodud järgmine pilt:




















Kasutamine

Mudeli peamiseks eeliseks on dünaamiline struktuur. Kergem on vahetada rollide lube, kui tegeleda otse kasutajate gruppidega, sest organisatsiooni sees võib inimese roll muutuda. RBAC reageerib kiirelt muudatusele, kui kasutajat seostatakse erineva rolliga. Kui kindla rolli jaoks tuleb panna piirangud kasutamisele, siis tehakse seda üks kord ja kõik 100 inimest, kes on seotud selle rolliga saavad koheselt piiratud ligipääsu. RBAC lihtsustab kontrolli kasutaja-loa vahel.
Lisaks aitab RBAC säilitada terviklikkuse, mis on turvalisuse eesmärk. (Peamised eesmärgid: konfidentsiaalsus, terviklikkus ja kättesaadavus - confidentiality, integrity, availability). Ainult volitatud isikud võivad andmeid ja protsesse modifitseerida, autoriseeritud viisil. Administreerimise seisukohalt on rollipõhist pääsukontrolli kerge rakendada. Uuele inimesele tuleb lihtsalt määrata kindel roll, kui inimene lahkub, siis kustutada inimese ja rolli(de) seos(ed).

Parktiline kasutamine

RBAC võib implementeerida SELinux'is (Security-Enhanced Linux), kuid selle lisa kasutamine on soovitatav edasijõudnud linux kasutajatele.

  • SELinux instaleerimine
sudo-apt get install selinux
  • Taaskäivita


Järgnev RBAC seadistamine eeldab lisa lugemist ja uurimist. Autor pole proovinud RBAC seadistamist, kuid leitud dokumendid võiksid olla kasulikud alustamiseks:

  • SELinux Policy Editor RBAC(Role Based AccessControl) guide (for Ver 2.0)), Yuichi Nakamura[5]
  • Role-based access control in SELinux[6]

Viidetud allikad

  1. NIST, Role Based Access Control FAQ, http://csrc.nist.gov/groups/SNS/rbac/faq.html
  2. D.F.Ferraiolo, D.R.Kuhn, "Role-Based Access Controls", http://csrc.nist.gov/groups/SNS/rbac/documents/ferraiolo-kuhn-92.pdf
  3. NIST, Role Based Access Control FAQ, http://csrc.nist.gov/groups/SNS/rbac/faq.html

Kasutatud materjalid

Peale allikate, mis on viidatud, kasutati ka: