Řízení přístupu založené na rolích (RBAC ) je vývoj selektivní politiky řízení přístupu , přičemž přístupová práva systémových subjektů k objektům jsou seskupena s ohledem na specifika jejich aplikace, tvořící role . [1] [2]
Vytvoření rolí má definovat jasná a srozumitelná pravidla pro řízení přístupu pro uživatele počítačového systému . Řízení přístupu na základě rolí umožňuje implementovat flexibilní pravidla řízení přístupu, která se dynamicky mění během provozu počítačového systému.
Takové řízení přístupu je součástí mnoha moderních počítačových systémů. Tento přístup je zpravidla používán v systémech ochrany DBMS a jednotlivé prvky jsou implementovány v síťových operačních systémech . Přístup založený na rolích se často používá v systémech, pro které mají uživatelé jasně definovaný rozsah svých pracovních povinností a odpovědností.
Navzdory skutečnosti, že role je soubor přístupových práv k objektům počítačového systému, není řízení přístupu na základě rolí v žádném případě zvláštním případem selektivní kontroly přístupu, protože její pravidla určují postup pro udělování přístupu k subjektům počítače. systém v závislosti na rolích, které má (nebo nemá) v každém okamžiku, což je typické pro povinné systémy kontroly přístupu . Na druhou stranu jsou pravidla řízení přístupu na základě rolí flexibilnější než u povinného přístupu k řízení přístupu.
Vzhledem k tomu, že oprávnění nejsou přímo přidělována uživatelům a získávají je pouze prostřednictvím své role (nebo rolí), je správa individuálních práv uživatele v podstatě redukována na přidělování rolí jemu. To zjednodušuje operace, jako je přidání uživatele nebo změna oddělení uživatelem.
Elementární formy modelu RBAC byly implementovány v různých speciálních formách na mnoha systémech od 70. let 20. století . V současnosti používané řízení přístupu založené na rolích vychází z modelu navrženého Ferraiolem a Kuhnem ( 1992 ) a jako příkladný model později zdokonalili Sandhu , Coyne, Feinstein a Yeoman ( 1996 ).
K definování modelu RBAC se používají následující konvence:
Subjektům jsou přidělovány role, přičemž subjekty prostřednictvím rolí získávají určitá oprávnění. RBAC vyžaduje tento druh přidělení, a nikoli přímé přidělení oprávnění subjektům, jinak to vede k obtížně kontrolovatelným vztahům mezi subjekty a oprávněními [3] .
Možnost dědit oprávnění od protichůdných rolí podléhá omezujícímu pravidlu, které umožňuje dosáhnout správného oddělení režimů. Též osobě nemusí být například povoleno vytvořit pro někoho účet a poté se k tomuto účtu přihlásit.
Použití notace teorie množin :
Zápis: x ≥ y znamená, že x zdědí oprávnění y.
Subjekt může mít mnoho simultánních relací s různými oprávněními.
Technologie řízení přístupu založená na rolích je dostatečně flexibilní a silná, aby modelovala jak selektivní řízení přístupu (DAC) [4] , tak povinné řízení přístupu (MAC) [5]
Před vývojem RBAC byly jedinými známými modely řízení přístupu MAC a DAC. Výzkum v 90. letech ukázal, že RBAC nespadá do žádné kategorie.
V rámci organizace jsou vytvářeny role pro různé pracovní funkce. Určitým rolím jsou přiřazena oprávnění k provádění určitých operací. Zaměstnancům (nebo jiným uživatelům systému) jsou přiděleny pevné role, jejichž prostřednictvím dostávají příslušná oprávnění k provádění pevných funkcí systému. Na rozdíl od kontextového řízení přístupu ( CBAC ) čistá implementace RBAC nezohledňuje aktuální situaci (jako například odkud bylo spojení navázáno).
RBAC se liší od seznamů řízení přístupu ( ACL ) používaných v tradičních systémech selektivního řízení přístupu v tom, že může udělovat oprávnění pro složité operace se složenými daty, a nejen pro atomické operace s datovými objekty nízké úrovně. Přístupový seznam může například udělit nebo odepřít přístup k zápisu do určitého systémového souboru, ale nemůže omezit, jak lze tento soubor upravit. Systém založený na RBAC vám umožňuje vytvořit aktivitu, jako je otevření „úvěru“ ve finanční aplikaci nebo vyplnění záznamu „test krevního cukru“ v lékařské aplikaci. Přiřazení oprávnění k provedení operace má více hodnot, protože operace jsou v rámci aplikace granulární.
Koncepty hierarchie rolí a omezení vám umožňují vytvářet nebo modelovat řízení přístupu založeného na mřížkách (LBAC ) pomocí RBAC. RBAC tedy může být základem a rozšířením LBAC.
V organizacích s heterogenní IT infrastrukturou obsahující desítky a stovky systémů a aplikací pomáhá využití hierarchie rolí a dědění oprávnění. Bez toho se používání RBAC stává extrémně matoucím. Článek "Další role: Praktický přístup k obsluze podnikových uživatelů" [6] pojednává o alternativních strategiích k privilegiím velkých uživatelů.
Moderní systémy rozšiřují starý model NIST [7] s omezeními RBAC pro nasazení ve velkých podnicích.
Pro velké systémy se stovkami rolí, tisíci uživatelů a miliony oprávnění je správa rolí, uživatelů, oprávnění a jejich vztahů složitým úkolem, který není pro malou skupinu správců zabezpečení proveditelný. Atraktivní příležitostí je využití samotného RBAC k usnadnění decentralizovaného řízení RBAC.
RBAC se široce používá ke správě uživatelských oprávnění v rámci jednoho systému nebo aplikace. Seznam takových systémů zahrnuje Microsoft Active Directory , SELinux , FreeBSD , Solaris , Oracle Database , PostgreSQL 8.1 , SAP R/3 , Lotus Notes a mnoho dalších.