it-swarm-eu.dev

Jaký je rozdíl mezi RBAC a DAC / ACL?

Jaké jsou výhody každého z nich a kdy bych si měl vybrat jeden z druhého? Existují situace, kdy by se měly sloučit?

Máte příklady běžných zvyklostí?

A co MAC, kam se to vejde?

64
AviD

RBAC (řízení přístupu na základě rolí) je založeno na definování seznamu obchodních rolí a přidání každého uživatele v systému k jedné nebo více rolím. Oprávnění a oprávnění jsou pak udělena každé roli a uživatelé je obdrží prostřednictvím svého členství v roli (do značné míry rovnocenné skupině). Aplikace obvykle otestují uživatele na členství ve specifické roli a na základě toho udělí nebo zakáže přístup.
Diskreční řízení přístupu (DAC) umožňuje uživateli nebo správci definovat seznam řízení přístupu (ACL) pro konkrétní prostředek (např. Soubor, klíč registru, tabulku databáze, objekt OS atd.), Tento seznam bude obsahovat položky (ACE), které definují každého uživatele, který má přístup ke zdroji, a jaká jsou jeho oprávnění pro tento zdroj.

Hlavní výhodou RBAC oproti DAC je snadná správa - v zásadě máte velmi málo rolí, centrálně spravovaných, bez ohledu na to, kolik uživatelů, a je to jen otázka udělení každému uživateli správnou roli; na rozdíl od DAC, kde pro každého nového uživatele (nebo změnu uživatele, vymazání atd.) musíte projít všechny zdroje, ke kterým potřebuje přístup, a přidat je do seznamu.
Na druhé straně je DAC často jednodušší a obecně granulárnější. Také v modelu DAC může vlastník dat rozhodnout, kdo má přístup (pokud má k datům toto oprávnění), a přidat nebo odebrat lidi ze seznamu.

Velmi častým příkladem DAC je systém souborů Windows. Na druhé straně, velmi častým příkladem RBAC je DAC na podnikových souborových serverech - kdokoli ve skupině „Sales“ ActiveDirectory bude mít přístup do složky\Sales\shared. Častěji je skupina Administrators ve Windows.

MAC je povinná kontrola přístupu, což lze považovat za klasifikaci nebo úroveň soukromí. To se nejčastěji používá ve vojenských systémech a zpět v Mainframe dnech :). Dosud není tak často využíván, ačkoli současné operační systémy implementují jeho příchuť, jako jsou úrovně integrity Vista/Win7.

Součet rozdílů:

  • DAC je založeno na osobních oprávněních, RBAC na „skupinových“ úrovních oprávnění
  • DAC je nastaven vlastníkem dat, RBAC vlastníkem/vlastníky systému (obvykle vývojář definuje přístup ke každé roli a provozní administrátor uvádí uživatele do rolí)
  • Definice DAC jsou obvykle připojeny k datům/zdrojům, zatímco RBAC je obvykle definována na dvou místech: v kódu/konfiguraci/metadatech (přístup k rolím) a na uživatelském objektu (nebo tabulce - role, které má každý uživatel).
  • Na druhé straně jsou role RBAC centrálně spravovány (kdo je spojen s tím, jaké role), zatímco DAC je spravován „na zdroji“ (tj. Každý zdroj spravujete jednotlivě).
  • Definice oprávnění na roli je obvykle v RBAC statická a uživatelé mají pouze role; v DAC se oprávnění za zdroj často mění za běhu.
  • Na DAC je třeba pohlížet jako na výčet „kdo má přístup k mým údajům“ a RBAC definuje „co může tento uživatel udělat“.
87
AviD