it-swarm-eu.dev

Was ist der Unterschied zwischen RBAC und DAC / ACL?

Was sind die Vorteile von jedem und wann sollte ich einen über den anderen wählen? Gibt es Situationen, in denen diese zusammengeführt werden sollten?

Haben Sie Beispiele für gebräuchliche Verwendungen?

Und was ist mit MAC, wo passt das hin?

64
AviD

RBAC (Rollenbasierte Zugriffssteuerung) basiert auf dem Definieren einer Liste von Geschäftsrollen und dem Hinzufügen jedes Benutzers im System zu einer oder mehreren Rollen. Berechtigungen und Privilegien werden dann jeder Rolle gewährt, und Benutzer erhalten sie über ihre Mitgliedschaft in der Rolle (entspricht in etwa einer Gruppe). Anwendungen testen den Benutzer normalerweise auf Mitgliedschaft in einer bestimmten Rolle und gewähren oder verweigern darauf basierend den Zugriff.
Mit DAC (Discretionary Access Control) kann ein Benutzer oder Administrator eine ACL (Access Control List) für eine bestimmte Ressource (z. B. Datei, Registrierungsschlüssel, Datenbanktabelle, Betriebssystemobjekt usw.) definieren. Diese Liste enthält Einträge (ACE), die jeden Benutzer definieren, der Zugriff auf die Ressource hat, und welche Berechtigungen er für diese Ressource hat.

Der Hauptvorteil von RBAC gegenüber DAC ist die einfache Verwaltung - im Prinzip haben Sie nur sehr wenige Rollen, die zentral verwaltet werden, unabhängig von der Anzahl der Benutzer, und es geht nur darum, jedem Benutzer die richtige Rolle zuzuweisen. Im Gegensatz zu DAC müssen Sie für jeden neuen Benutzer (oder für eine Änderung des Benutzers oder für das Löschen usw.) alle Ressourcen aufrufen, auf die er Zugriff benötigt, und sie der Liste hinzufügen.
Andererseits ist DAC oft einfacher und im Allgemeinen detaillierter. Im DAC-Modell kann der Dateneigentümer außerdem entscheiden, wer Zugriff hat (sofern er über diese Berechtigung für die Daten verfügt), und Personen zur Liste hinzufügen oder daraus entfernen.

Ein sehr häufiges Beispiel für DAC ist das Windows-Dateisystem. Ein sehr häufiges Beispiel für RBAC ist der DAC auf Unternehmensdateiservern. Jeder in der ActiveDirectory-Gruppe "Sales" hat Zugriff auf den Ordner\Sales\shared. Häufiger ist die Gruppe Administratoren in Windows.

MAC ist eine obligatorische Zugriffskontrolle. Dies kann als Klassifizierung oder Datenschutzstufe angesehen werden. Dies wird am häufigsten in militärischen Systemen und in den Mainframe-Tagen verwendet :). Wird nicht mehr so ​​oft verwendet, obwohl aktuelle Betriebssysteme eine Variante davon implementieren, wie beispielsweise die Integritätsstufen von Vista/Win7.

Um die Unterschiede zusammenzufassen:

  • DAC basiert auf persönlichen Berechtigungen, RBAC auf Berechtigungen auf Gruppenebene
  • Der DAC wird vom Dateneigentümer festgelegt, der RBAC vom/den Systembesitzern (in der Regel definiert der Entwickler den Zugriff auf jede Rolle, und der Betriebsadministrator ordnet den Benutzern Rollen zu).
  • DAC-Definitionen werden normalerweise an die Daten/Ressourcen angehängt, während RBAC normalerweise an zwei Stellen definiert wird: in Code/Konfiguration/Metadaten (dem Rollenzugriff) und auf dem Benutzerobjekt (oder der Tabelle - die Rollen, die jeder Benutzer hat).
  • Andererseits werden RBAC-Rollen zentral verwaltet (wer ist welchen Rollen zugeordnet), während DAC "auf der Ressource" verwaltet wird (d. H. Sie verwalten jede Ressource einzeln).
  • Die Definition der Berechtigungen pro Rolle ist in RBAC normalerweise statisch, und Benutzern werden nur Rollen gewährt. In DAC werden die Berechtigungen pro Ressource häufig zur Laufzeit geändert.
  • DAC sollte als Aufzählung von "Wer hat Zugriff auf meine Daten" angesehen werden, und RBAC definiert "Was kann dieser Benutzer tun?".
87
AviD