A szerepkör alapú hozzáférés-vezérlés (RBAC ) egy szelektív hozzáférés-szabályozási politika kidolgozása , miközben a rendszer alanyainak objektumokhoz való hozzáférési jogait alkalmazásuk sajátosságait figyelembe véve csoportosítják, szerepeket képezve . [1] [2]
A szerepek kialakításának célja, hogy világos és érthető szabályokat határozzon meg a számítógépes rendszer felhasználói számára a hozzáférés-szabályozáshoz . A szerepkör alapú hozzáférés-vezérlés rugalmas beléptetési szabályok megvalósítását teszi lehetővé, amelyek dinamikusan változnak a számítógépes rendszer működése során.
Az ilyen hozzáférés-szabályozás számos modern számítógépes rendszer alkotóeleme. Általában ezt a megközelítést használják DBMS védelmi rendszerekben , és az egyes elemeket hálózati operációs rendszerekben valósítják meg . A szerepalapú megközelítést gyakran használják olyan rendszerekben, amelyekben a felhasználóknak egyértelműen meghatározott munkaköri feladataik és felelősségeik vannak.
Annak ellenére, hogy a szerepkör egy számítógépes rendszer objektumaihoz való hozzáférési jogok halmaza, a szerepkör alapú hozzáférés-vezérlés semmi esetre sem a szelektív hozzáférés-szabályozás speciális esete, mivel szabályai határozzák meg a számítógép alanyai számára történő hozzáférés megadásának eljárását. rendszer, attól függően, hogy milyen szerepkörei vannak (vagy nincsenek) minden pillanatban, ami jellemző a kötelező beléptető rendszerekre . Másrészt a szerepalapú hozzáférés-szabályozás szabályai rugalmasabbak, mint a hozzáférés-szabályozás kötelező megközelítése esetén.
Mivel a jogosultságokat nem közvetlenül a felhasználók osztják ki, és csak szerepük (vagy szerepeik) révén szerzik meg őket, a felhasználó egyéni jogainak kezelése lényegében a szerepek hozzárendelésére korlátozódik. Ez leegyszerűsíti az olyan műveleteket, mint a felhasználó hozzáadása vagy a részlegek felhasználó általi megváltoztatása.
Az RBAC modell elemi formáit az 1970 -es évek óta számos rendszeren különféle speciális formában implementálták . A jelenleg használatos szerepalapú hozzáférés-szabályozás a Ferraiolo és Kuhn ( 1992 ) által javasolt, majd Sandhu , Coyne, Feinstein és Yeoman ( 1996 ) által mintaként finomított modellből származik .
A következő konvenciók használatosak az RBAC modell meghatározásához:
A szerepek alanyokhoz vannak rendelve, így az alanyok a szerepeken keresztül bizonyos engedélyeket kapnak. Az RBAC ezt a fajta hozzárendelést követeli meg, nem pedig a jogosultságok közvetlen hozzárendelését az alanyokhoz, különben nehezen ellenőrizhető kapcsolathoz vezet az alanyok és az engedélyek között [3] .
Az ellentétes szerepköröktől származó engedélyek öröklésének lehetősége korlátozó szabály hatálya alá tartozik, amely lehetővé teszi a módok megfelelő szétválasztását. Például előfordulhat, hogy ugyanaz a személy nem hozhat létre fiókot valakinek, majd bejelentkezik abba a fiókba.
Halmazelméleti jelölés használata :
Az x ≥ y jelölés azt jelenti, hogy x örökli y jogosultságait.
Egy alanynak több egyidejű munkamenete lehet különböző engedélyekkel.
A szerep alapú hozzáférés-vezérlési technológia rugalmas és elég erős ahhoz, hogy modellezze mind a szelektív hozzáférés-vezérlést (DAC) [4] , mind a kötelező hozzáférés-vezérlést (MAC) [5].
Az RBAC fejlesztése előtt az egyetlen ismert hozzáférés-vezérlési modell a MAC és a DAC volt. A 90-es években végzett kutatások kimutatták, hogy az RBAC egyik kategóriába sem tartozik.
Szerepkörök jönnek létre a szervezeten belül különböző munkaköri funkciókhoz. Bizonyos szerepkörökhöz engedélyek vannak rendelve bizonyos műveletek végrehajtásához. A személyzet tagjai (vagy a rendszer más felhasználói) rögzített szerepköröket kapnak, amelyek révén megfelelő jogosultságokat kapnak a rögzített rendszerfunkciók végrehajtásához. A környezetalapú hozzáférés-vezérléssel (CBAC ) ellentétben a tiszta RBAC-megvalósítás nem veszi figyelembe az aktuális helyzetet (például azt, hogy honnan jött létre a kapcsolat).
Az RBAC abban különbözik a hagyományos szelektív hozzáférés-vezérlési rendszerekben használt hozzáférés-vezérlési listáktól ( ACL ) , hogy jogosultságokat biztosíthat összetett adatokon végzett összetett műveletekhez, nem csak az alacsony szintű adatobjektumok atomi műveleteihez. A hozzáférés-vezérlési lista például megadhat vagy megtagadhat írási hozzáférést egy bizonyos rendszerfájlhoz, de nem korlátozhatja a fájl módosításának módját. Az RBAC-alapú rendszer lehetővé teszi olyan tevékenységek létrehozását, mint például „hitel” megnyitása egy pénzügyi kérelemben, vagy „vércukor-teszt” bejegyzés kitöltése egy orvosi kérelemben. A művelet végrehajtásához szükséges jogosultság hozzárendelése többértékű, mivel a műveletek egy alkalmazáson belül szemcsések.
A szerephierarchia és a megszorítások koncepciói lehetővé teszik a rácsalapú hozzáférés-vezérlés (LBAC ) létrehozását vagy modellezését az RBAC használatával. Így az RBAC lehet az LBAC alapja és kiterjesztése.
A több tucat és több száz rendszert és alkalmazást tartalmazó heterogén IT infrastruktúrával rendelkező szervezetekben a szerephierarchia és a jogosultságok öröklése segít. E nélkül az RBAC használata rendkívül zavaróvá válik. A „További szerepkörök: gyakorlati megközelítés a vállalati felhasználók kiszolgálásához” [6] című cikk a nagyméretű felhasználói jogosultságok alternatív stratégiáit tárgyalja.
A modern rendszerek kiterjesztik a régi NIST -modellt [7] az RBAC korlátaival a nagyvállalatok számára.
Több száz szerepkörrel, több ezer felhasználóval és több millió jogosultsággal rendelkező nagy rendszerekben a szerepek, felhasználók, engedélyek és kapcsolataik kezelése összetett feladat, amely a biztonsági rendszergazdák egy kis csoportja számára nem valósítható meg. Vonzó lehetőség magának az RBAC-nak a használata az RBAC decentralizált irányításának elősegítésére.
Az RBAC-t széles körben használják a felhasználói jogosultságok egyetlen rendszeren vagy alkalmazáson belüli kezelésére. Az ilyen rendszerek listáján megtalálható a Microsoft Active Directory , a SELinux , a FreeBSD , a Solaris , az Oracle Database , a PostgreSQL 8.1 , az SAP R/3 , a Lotus Notes és még sokan mások.