Roolipohjainen kulunvalvonta (RBAC ) on valikoivan kulunvalvontapolitiikan kehitystä , kun taas järjestelmän subjektien käyttöoikeudet objekteihin ryhmitellään niiden sovelluksen erityispiirteet huomioon ottaen, muodostaen rooleja . [1] [2]
Roolien muodostuksella on tarkoitus määritellä selkeät ja ymmärrettävät säännöt tietokonejärjestelmän käyttäjien kulunvalvontaan . Roolipohjainen kulunvalvonta mahdollistaa joustavien kulunvalvontasääntöjen toteuttamisen, jotka muuttuvat dynaamisesti tietokonejärjestelmän toiminnan aikana.
Tällainen kulunvalvonta on osa monia nykyaikaisia tietokonejärjestelmiä. Pääsääntöisesti tätä lähestymistapaa käytetään DBMS - suojausjärjestelmissä , ja yksittäiset elementit toteutetaan verkkokäyttöjärjestelmissä . Rooliperustaista lähestymistapaa käytetään usein järjestelmissä, joissa käyttäjillä on selkeästi määritellyt työtehtävät ja vastuut.
Huolimatta siitä, että rooli on joukko pääsyoikeuksia tietokonejärjestelmän objekteihin, roolipohjainen kulunvalvonta ei missään nimessä ole valikoivan pääsynhallinnan erikoistapaus, koska sen säännöt määräävät menettelyn, jolla tietokoneen kohteille myönnetään pääsy. järjestelmä, riippuen rooleista, jotka sillä on (tai ei ole) joka hetki, mikä on tyypillistä pakollisille kulunvalvontajärjestelmille . Toisaalta roolipohjaisen kulunvalvonnan säännöt ovat joustavampia kuin pakollisen kulunvalvontatavan kanssa.
Koska oikeuksia ei jaeta suoraan käyttäjille ja he hankkivat ne vain roolinsa (tai rooliensa) kautta, käyttäjän yksilöllisten oikeuksien hallinta rajoittuu olennaisesti roolien osoittamiseen hänelle. Tämä yksinkertaistaa toimintoja, kuten käyttäjän lisäämistä tai osastojen vaihtamista käyttäjän toimesta.
RBAC - mallin perusmuotoja on toteutettu monissa erikoismuodoissa monissa järjestelmissä 1970 - luvulta lähtien . Tällä hetkellä käytössä oleva roolipohjainen kulunvalvonta perustuu Ferraiolon ja Kuhnin ( 1992 ) ehdottamaan malliin ja mallina , jota Sandhu , Coyne, Feinstein ja Yeoman ( 1996 ) myöhemmin tarkensivat.
Seuraavia käytäntöjä käytetään RBAC-mallin määrittämiseen:
Rooleja jaetaan aiheille, jolloin kohteet saavat tiettyjä oikeuksia roolien kautta. RBAC vaatii tällaista osoitusta, ei suoraa käyttöoikeuksien osoittamista kohteille, muuten se johtaa vaikeasti hallittavaan suhteeseen subjektien ja käyttöoikeuksien välillä [3] .
Mahdollisuus periä käyttöoikeudet vastakkaisille rooleille on rajoitetun säännön alainen, joka mahdollistaa moodien asianmukaisen erottelun. Sama henkilö ei esimerkiksi saa luoda tiliä jollekin ja sitten kirjautua kyseiselle tilille.
Käyttäen joukkoteorian merkintää :
Merkintä: x ≥ y tarkoittaa, että x perii y:n käyttöoikeudet.
Aiheella voi olla useita samanaikaisia istuntoja eri käyttöoikeuksilla.
Roolipohjainen kulunvalvontatekniikka on joustava ja riittävän vahva mallintamaan sekä selektiivistä kulunvalvontaa (DAC) [4] että pakollista kulunvalvontaa (MAC) [5] .
Ennen RBAC:n kehittämistä ainoat tunnetut kulunvalvontamallit olivat MAC ja DAC. 90-luvun tutkimus osoitti, että RBAC ei kuulunut kumpaankaan kategoriaan.
Organisaatiossa luodaan rooleja erilaisiin työtehtäviin. Tietyille rooleille on annettu käyttöoikeudet tiettyjen toimintojen suorittamiseen. Henkilökunnan jäsenille (tai muille järjestelmän käyttäjille) on määritetty kiinteät roolit, joiden kautta he saavat asianmukaiset oikeudet suorittaa kiinteitä järjestelmätoimintoja. Toisin kuin kontekstipohjaisessa pääsynhallinnassa (CBAC ) , puhdas RBAC-toteutus ei ota huomioon nykyistä tilannetta (kuten esimerkiksi sitä, mistä yhteys muodostettiin).
RBAC eroaa perinteisissä selektiivisissä kulunvalvontajärjestelmissä käytetyistä pääsynhallintaluetteloista ( ACL ) siinä, että se voi myöntää oikeuksia monimutkaisiin toimintoihin yhdistetyillä tiedoilla, ei vain atomioperaatioille matalan tason tietoobjekteille. Esimerkiksi pääsynhallintaluettelo voi myöntää tai estää kirjoitusoikeuden tietylle järjestelmätiedostolle, mutta se ei voi rajoittaa tiedoston muokkaamista. RBAC-pohjaisen järjestelmän avulla voit luoda toimintoja, kuten "lainan" avaamisen rahoitushakemuksessa tai "verensokeritestin" merkinnän täyttämisen lääketieteellisessä hakemuksessa. Toiminnon suorittamisoikeuden määrittäminen on moniarvoista, koska toiminnot ovat sovelluksen sisällä rakeisia.
Roolihierarkian ja rajoitusten käsitteiden avulla voit luoda tai mallintaa hilapohjaista pääsynhallintaa (LBAC ) RBAC:n avulla. Siten RBAC voi olla LBAC:n perusta ja laajennus.
Organisaatioissa, joissa on heterogeeninen IT-infrastruktuuri, joka sisältää kymmeniä ja satoja järjestelmiä ja sovelluksia, roolihierarkian käyttö ja oikeuksien periytyminen auttavat. Ilman tätä RBAC:n käyttäminen tulee erittäin hämmentävää. Artikkelissa "Lisäroolit: Käytännön lähestymistapa yrityskäyttäjien palvelemiseen" [6] käsitellään vaihtoehtoisia strategioita laajamittaisten käyttäjien oikeuksille.
Nykyaikaiset järjestelmät laajentavat vanhaa NIST -mallia [7] RBAC:n rajoituksin käyttöönotettaviksi suurissa yrityksissä.
Suurissa järjestelmissä, joissa on satoja rooleja, tuhansia käyttäjiä ja miljoonia käyttöoikeuksia, roolien, käyttäjien, käyttöoikeuksien ja niiden suhteiden hallinta on monimutkainen tehtävä, joka ei ole mahdollista pienelle ryhmälle tietoturvajärjestelmänvalvojia. Houkutteleva tilaisuus on käyttää itse RBAC:tä RBAC:n hajautetun hallinnon helpottamiseksi.
RBAC:tä käytetään laajalti käyttäjien oikeuksien hallintaan yhdessä järjestelmässä tai sovelluksessa. Tällaisten järjestelmien luettelo sisältää Microsoft Active Directory , SELinux , FreeBSD , Solaris , Oracle Database , PostgreSQL 8.1 , SAP R/3 , Lotus Notes ja monet muut.