it-swarm.com.de

Nachteile der rollenbasierten Zugriffssteuerung

Laut NIST sind RBAC-Modelle das am weitesten verbreitete System unter Unternehmen mit 500 oder mehr Unternehmen. Was passiert, wenn die Anzahl der beteiligten Personen viel größer ist? Mit anderen Worten, was sind die Hauptnachteile von RBAC-Modellen?

6
user505

Der Hauptnachteil von RBAC ist das, was am häufigsten als "Rollenexplosion" bezeichnet wird: Aufgrund der zunehmenden Anzahl verschiedener (realer) Rollen (manchmal sind die Unterschiede nur sehr gering) benötigen Sie eine zunehmende Anzahl von (RBAC) Rollen, um richtig zu kapseln die Berechtigungen (eine Berechtigung in RBAC ist eine Aktion/Operation für ein Objekt/eine Entität). Das Verwalten all dieser Rollen kann zu einer komplexen Angelegenheit werden.

Aufgrund der Abstraktionsoptionen, die die Grundlage von RBAC bilden, ist es auch nicht sehr gut für die Verwaltung individueller Rechte geeignet, dies wird jedoch normalerweise als weniger problematisch angesehen.

Die normalerweise vorgeschlagene Alternative ist ABAC (Attribute Based Access Control). ABAC hat keine Rollen, daher keine Rollenexplosion. Mit ABAC erhalten Sie jedoch das, was die Leute jetzt als "Attributexplosion" bezeichnen. Die beiden Themen unterscheiden sich in den Details, sind jedoch auf einer abstrakteren Ebene weitgehend gleich. (Ein Zyniker könnte auf die Marktsättigung für RBAC-Lösungen und die daraus resultierende Notwendigkeit einer "neueren" und "besseren" Zugangskontrolllösung hinweisen, aber das ist eine andere Diskussion.)

5
Jacco

Es gibt verschiedene Probleme mit RBAC, aber wie Jacco sagt, läuft alles auf Rollenexplosionen hinaus.

RBAC ist:

  • identitätszentriert, d. h. es konzentriert sich auf die Benutzeridentität, die Benutzerrolle und optional die Benutzergruppe
  • in der Regel vollständig vom IAM-Team verwaltet
  • administratorzeit: Rollen und Berechtigungen werden zur Verwaltungszeit zugewiesen und bleiben für die Dauer gültig, für die sie bereitgestellt werden.

Was ist nicht so gut mit RBAC?

  • es ist grobkörnig. Wenn Sie eine Rolle namens "Arzt" haben, geben Sie der Rolle des Arztes die Erlaubnis, "Krankenakte anzuzeigen". Dies würde dem Arzt das Recht geben, alle medizinischen Unterlagen einschließlich ihrer eigenen einzusehen. Dies führt zu einer Rollenexplosion
  • es ist statisch. RBAC kann keine Kontextinformationen verwenden, z. Zeit, Benutzerort, Gerätetyp ...
  • es ignoriert Ressourcen-Metadaten, z. Inhaber einer Krankenakte.
  • es ist schwer zu verwalten und zu warten. Sehr oft fügen Administratoren Benutzern weiterhin Rollen hinzu, entfernen diese jedoch nie. Sie haben Benutzer, die Dutzende, wenn nicht Hunderte von Rollen und Berechtigungen haben
  • es kann nicht auf eine dynamische Aufgabentrennung eingehen.
  • es basiert auf benutzerdefiniertem Code in Anwendungsebenen (API, Apps, DB ...), um feinkörnigere Steuerelemente zu implementieren.
  • Zugriffsüberprüfungen sind schmerzhaft, fehleranfällig und langwierig

Ist ABAC die Lösung?

ABAC - Attributbasierte Zugriffssteuerung - ist die Methode der nächsten Generation zur Behandlung von Berechtigungen. Es wird von Leuten wie NIST und OASIS sowie Open Source angetrieben Communities (Apache) und IAM-Anbieter (Oracle, IBM, Axiomatics ).

ABAC kann als Autorisierung angesehen werden, dh:

  • Externalisiert : Die Zugriffskontrolle wird von der Geschäftslogik externalisiert
  • Zentralisiert : Zugriffssteuerungsrichtlinien werden zentral verwaltet
  • Standardisiert : Zugriffssteuerungsrichtlinien verwenden XACML, die euptensible Access Control Markup Language, den von OASIS definierten und von den meisten ABAC-Lösungen implementierten Standard
  • Flexibel : ABAC kann auf APIs, Datenbanken und mehr angewendet werden
  • Dynamisch : Zugriffsentscheidungen werden zur Laufzeit dynamisch getroffen
  • Kontextbasiert /Risikobasiert: ABAC kann Zeit, Ort und andere Kontextattribute berücksichtigen, wenn Entscheidungen getroffen werden.

ABAC bietet:

  • eine Architektur mit dem Begriff eines Policy Decision Point (PDP) und eines Policy Enforcement Point (PEP)
  • eine Richtliniensprache (XACML)
  • ein Anforderungs-/Antwortschema (JSON/XACML)
1
David Brossard