In computer systems security, role-based access control (RBAC)[1][2] or role-based security[3] is an approach to restricting system access to authorized users, and to implementing mandatory access control (MAC) or discretionary access control (DAC).

Role-based access control is a policy-neutral access control mechanism defined around roles and privileges. The components of RBAC such as role-permissions, user-role and role-role relationships make it simple to perform user assignments. A study by NIST has demonstrated that RBAC addresses many needs of commercial and government organizations.[4] RBAC can be used to facilitate administration of security in large organizations with hundreds of users and thousands of permissions. Although RBAC is different from MAC and DAC access control frameworks, it can enforce these policies without any complication.

Design

Within an organization, roles are created for various job functions. The permissions to perform certain operations are assigned to specific roles. Since users are not assigned permissions directly, but only acquire them through their role (or roles), management of individual user rights becomes a matter of simply assigning appropriate roles to the user's account; this simplifies common operations, such as adding a user, or changing a user's department.

Three primary rules are defined for RBAC:

  1. Role assignment: A subject can exercise a permission only if the subject has selected or been assigned a role.
  2. Role authorization: A subject's active role must be authorized for the subject. With rule 1 above, this rule ensures that users can take on only roles for which they are authorized.
  3. Permission authorization: A subject can exercise a permission only if the permission is authorized for the subject's active role. With rules 1 and 2, this rule ensures that users can exercise only permissions for which they are authorized.

Additional constraints may be applied as well, and roles can be combined in a hierarchy where higher-level roles subsume permissions owned by sub-roles.

Mithilfe der Konzepte von Rollenhierarchie und -beschränkungen lässt sich rollenbasierte Zugriffskontrolle (RBAC) steuern, um gitterbasierte Zugriffskontrolle (LBAC) zu erstellen oder zu simulieren. RBAC kann daher als Obermenge von LBAC betrachtet werden.

Bei der Definition eines RBAC-Modells sind folgende Konventionen hilfreich:

  • S = Subjekt = Eine Person oder ein automatisierter Agent
  • R = Rolle = Berufsfunktion oder -titel, der eine Autoritätsebene definiert
  • P = Berechtigungen = Die Genehmigung einer Zugriffsmethode auf eine Ressource
  • SE = Sitzung = Eine Zuordnung von S, R und/oder P
  • SA = Fachzuweisung
  • PA = Genehmigungszuweisung
  • RH = Teilweise geordnete Rollenhierarchie. RH kann auch so geschrieben werden: ≥ (Die Notation x ≥ y bedeutet, dass x die Berechtigungen von y erbt.)
    • Eine Person kann mehrere Rollen haben.
    • Eine Rolle kann mehrere Themenbereiche umfassen.
    • Eine Rolle kann über viele Berechtigungen verfügen.
    • Eine Berechtigung kann mehreren Rollen zugewiesen werden.
    • Eine Operation kann mehreren Berechtigungen zugewiesen werden.
    • Eine Berechtigung kann mehreren Operationen zugewiesen werden.

Eine Einschränkung begrenzt die mögliche Vererbung von Berechtigungen zwischen gegensätzlichen Rollen. Dadurch kann eine angemessene Funktionstrennung erreicht werden . Beispielsweise sollte es derselben Person nicht gestattet sein, sowohl ein Benutzerkonto zu erstellen als auch die Kontoerstellung zu autorisieren.

Unter Verwendung der Notation der Mengenlehre :

  • und ist eine Viele-zu-Viele-Berechtigungs-zu-Rollenzuweisungsbeziehung.
  • und ist eine Viele-zu-Viele-Beziehung, die der Rollenzuweisung unterliegt.

Eine Versuchsperson kann mehrere gleichzeitige Sitzungen mit/in verschiedenen Rollen haben.

Diagramm der Elemente der rollenbasierten Zugriffskontrolle

Standardisierte Niveaus

Der NIST/ANSI/ INCITS RBAC-Standard (2004) erkennt drei RBAC-Ebenen an: [ 5 ]

  1. Core RBAC
  2. hierarchisches RBAC, das die Vererbung zwischen Rollen unterstützt.
  3. eingeschränkte RBAC, die eine Trennung der Aufgaben mit sich bringt

Bezug zu anderen Modellen

RBAC ist eine flexible Zugriffskontrolltechnologie, deren Flexibilität die Implementierung von DAC [ 6 ] oder MAC [ 7 ] ermöglicht . DAC mit Gruppen (z. B. wie in POSIX-Dateisystemen implementiert) kann RBAC emulieren. [ 8 ] MAC kann RBAC simulieren, wenn der Rollengraph auf einen Baum anstatt auf eine partiell geordnete Menge beschränkt ist . [ 9 ]

Vor der Entwicklung von RBAC war das Bell-LaPadula -Modell (BLP) gleichbedeutend mit MAC und Dateisystemberechtigungen gleichbedeutend mit DAC. Diese galten als die einzigen bekannten Modelle für die Zugriffskontrolle: Entweder ein Modell entsprach nicht dem BLP-Modell oder dem DAC-Modell, oder umgekehrt. Untersuchungen Ende der 1990er-Jahre zeigten jedoch, dass RBAC keiner dieser Kategorien zuzuordnen ist. [ 10 ] [ 11 ] Im Gegensatz zur kontextbasierten Zugriffskontrolle (CBAC) berücksichtigt RBAC nicht den Nachrichtenkontext (z. B. die Quelle einer Verbindung). RBAC wurde zudem wegen der damit einhergehenden Rollenexplosion kritisiert [ 12 ] , einem Problem in großen Unternehmenssystemen, die eine feinere Zugriffskontrolle erfordern, als RBAC bieten kann, da Rollen Operationen und Datentypen inhärent zugewiesen werden. Ähnlich wie CBAC kann ein System für entitätsrelationale Zugriffskontrolle (ERB) Dateninstanzen sichern, indem es deren Zuordnung zum ausführenden Subjekt berücksichtigt. [ 13 ]

Vergleich mit dem vorderen Kreuzband

Zugriffskontrolllisten (ACLs) werden in traditionellen Systemen mit diskretionärer Zugriffskontrolle (DAC) verwendet, um Datenobjekte auf niedriger Ebene zu beeinflussen. RBAC unterscheidet sich von ACLs dadurch, dass Berechtigungen für Operationen zugewiesen werden, die die direkten Beziehungen zwischen mehreren Entitäten verändern (siehe: ACLg unten). Beispielsweise kann eine ACL verwendet werden, um Schreibzugriff auf eine bestimmte Systemdatei zu gewähren oder zu verweigern, ohne jedoch festzulegen, wie diese Datei geändert werden darf. In einem RBAC-basierten System könnte eine Operation beispielsweise das Erstellen einer Kreditkonto-Transaktion in einer Finanzanwendung oder das Speichern eines Blutzuckermessdatensatzes in einer medizinischen Anwendung sein. Eine Rolle ist somit eine Abfolge von Operationen innerhalb einer größeren Aktivität. RBAC hat sich als besonders geeignet für die Anforderungen der Funktionstrennung (SoD) erwiesen, die sicherstellen, dass mindestens zwei Personen an der Autorisierung kritischer Operationen beteiligt sein müssen. Notwendige und hinreichende Bedingungen für die Sicherheit der Funktionstrennung in RBAC wurden analysiert. Ein grundlegendes Prinzip der Funktionstrennung ist, dass niemand durch doppelte Berechtigungen einen Sicherheitsverstoß begehen können sollte. Folglich darf niemand eine Funktion innehaben, die Prüfungs-, Kontroll- oder Überprüfungsbefugnisse über eine andere, gleichzeitig innegehabte Funktion ausübt. [ 14 ] [ 15 ]

Andererseits kann ein „minimales RBAC-Modell“, RBACm , mit einem ACL-Mechanismus, ACLg , verglichen werden, bei dem nur Gruppen als Einträge in der ACL zulässig sind. Barkley (1997) [ 16 ] zeigte, dass RBACm und ACLg äquivalent sind.

Zum Datenaustausch und für „Vergleiche auf hoher Ebene“ können ACL-Daten in XACML übersetzt werden .

Attributbasierte Zugriffskontrolle

Attributbasierte Zugriffskontrolle ( ABAC) ist ein Modell, das aus der rollenbasierten Zugriffskontrolle (RBAC) weiterentwickelt wurde und neben Rollen und Gruppen zusätzliche Attribute berücksichtigt. In ABAC können folgende Attribute verwendet werden:

  • der Benutzer z.B. Staatsbürgerschaft, Sicherheitsüberprüfung,
  • die Ressource, z. B. Klassifizierung, Abteilung, Eigentümer,
  • die Handlung und
  • der Kontext, z. B. Zeit, Ort, IP-Adresse.

ABAC ist richtlinienbasiert, da es Richtlinien anstelle statischer Berechtigungen verwendet, um zu definieren, was erlaubt ist und was nicht.

Beziehungsbasierte Zugriffskontrolle

Beziehungsbasierte Zugriffskontrolle ( ReBAC) ist ein Modell, das aus RBAC weiterentwickelt wurde. Bei ReBAC wird die Zugriffsberechtigung eines Subjekts auf eine Ressource durch das Vorhandensein von Beziehungen zwischen diesem Subjekt und der Ressource definiert.

Der Vorteil dieses Modells besteht darin, dass es fein abgestufte Berechtigungen ermöglicht; beispielsweise in einem sozialen Netzwerk , in dem Benutzer Beiträge mit anderen bestimmten Benutzern teilen können. [ 17 ]

Nutzung und Verfügbarkeit

Der Einsatz von rollenbasierter Zugriffskontrolle (RBAC) zur Verwaltung von Benutzerrechten (Computerberechtigungen) innerhalb eines einzelnen Systems oder einer Anwendung gilt weithin als bewährte Methode . Ein 2010 vom Research Triangle Institute im Auftrag des NIST erstellter Bericht analysierte den wirtschaftlichen Nutzen von RBAC für Unternehmen und schätzte den Nutzen pro Mitarbeiter durch reduzierte Ausfallzeiten, effizientere Bereitstellung und effizientere Verwaltung von Zugriffskontrollrichtlinien. [ 18 ]

In Organisationen mit heterogener IT-Infrastruktur und Anforderungen, die Dutzende oder Hunderte von Systemen und Anwendungen umfassen, gestaltet sich die Verwaltung ausreichender Rollen und die Zuweisung adäquater Rollenzugehörigkeiten mittels rollenbasierter Zugriffskontrolle (RBAC) ohne hierarchische Erstellung von Rollen und Berechtigungszuweisungen äußerst komplex. [ 19 ] Neuere Systeme erweitern das ältere NIST-RBAC-Modell [ 20 ] , um die Einschränkungen von RBAC bei unternehmensweiten Implementierungen zu beheben. Das NIST-Modell wurde von INCITS als ANSI/INCITS 359-2004 als Standard übernommen. Eine Diskussion einiger Designentscheidungen für das NIST-Modell wurde ebenfalls veröffentlicht. [ 21 ]

Potenzielle Schwachstellen

Störungen durch rollenbasierte Zugriffskontrolle sind ein relativ neues Problem in Sicherheitsanwendungen. Mehrere Benutzerkonten mit dynamischen Zugriffsebenen können zu Instabilität der Verschlüsselungsschlüssel führen, wodurch ein externer Benutzer die Schwachstelle für unbefugten Zugriff ausnutzen kann. Anwendungen zur Schlüsselverteilung in dynamischen virtualisierten Umgebungen haben bei der Lösung dieses Problems einige Erfolge erzielt. [ 22 ]

Regulatorische Treiber

Die rollenbasierte Zugriffskontrolle wird in mehreren regulatorischen Rahmenwerken erwähnt oder impliziert, die von Organisationen verlangen, den Zugriff auf sensible Informationen auf der Grundlage der jeweiligen Funktion einzuschränken.

Die Sicherheitsregel des Health Insurance Portability and Accountability Act (HIPAA) verpflichtet betroffene Einrichtungen zur Implementierung technischer Richtlinien und Verfahren, die den Zugriff auf elektronische geschützte Gesundheitsinformationen ausschließlich Personen oder Softwareprogrammen mit entsprechenden Zugriffsrechten ermöglichen (45 CFR 164.312(a)(1)). [ 23 ] Der HIPAA- Standard des minimalen Zugriffs verlangt zudem, dass der Zugriff auf die minimal erforderliche Menge an geschützten Gesundheitsinformationen beschränkt wird , um den beabsichtigten Zweck zu erfüllen. Dieses Prinzip deckt sich direkt mit der rollenbasierten Zugriffskontrolle. [ 24 ] Die im Dezember 2024 veröffentlichte Bekanntmachung über die vorgeschlagene Regelung (NPRM) zur Überarbeitung der HIPAA-Sicherheitsregel würde die Implementierung einer rollenbasierten Zugriffskontrolle für elektronische geschützte Gesundheitsinformationen (ePHI) vorschreiben, die betroffenen Mitarbeiter innerhalb von 24 Stunden über Änderungen der Zugriffsrechte informieren und die Klassifizierung von Zugriffskontrollen als lediglich „adressierbare“ Spezifikationen aufheben. [ 25 ]

Der Payment Card Industry Data Security Standard (PCI DSS) schreibt vor, dass der Zugriff auf Systemkomponenten und Karteninhaberdaten auf Personen beschränkt sein muss, deren Tätigkeit einen solchen Zugriff erfordert, und dass der Zugriff auf Grundlage der Stellenklassifizierung und Funktion zugewiesen wird (Anforderung 7). [ 26 ]

Siehe auch

Referenzen

  1. ^ Ferraiolo, DF & Kuhn, DR (Oktober 1992). „Role-Based Access Control“ (PDF) . 15. Nationale Konferenz für Computersicherheit : 554–563 .
  2. ^ Sandhu, R., Coyne, EJ, Feinstein, HL und Youman, CE (August 1996). „Role-Based Access Control Models“ (PDF) . IEEE Computer . 29 (2): 38–47 . Bibcode : 1996Compr..29b..38S . CiteSeerX 10.1.1.50.7649 . doi : 10.1109/2.485845 . S2CID 1958270 .  {{cite journal}}: CS1 Wartung: Mehrere Namen: Autorenliste ( Link )
  3. ^ABREU, VILMAR; Santin, Altair O.; VIEGAS, EDUARDO K.; STIHLER, MAICON (2017). "A multi-domain role activation model". 2017 IEEE International Conference on Communications (ICC)(PDF). IEEE Press. pp. 1–6. doi:10.1109/ICC.2017.7997247. ISBN 978-1-4673-8999-0. S2CID 6185138.
  4. ^Gilbert MD, Lynch N, Ferraiolo FD (1995). "An examination of federal and commercial access control policy needs". National Computer Security Conference, 1993 (16th) Proceedings: Information Systems Security: User Choices. DIANE Publishing. p. 107. ISBN 9780788119248.
  5. ^Alberto Belussi; Barbara Catania; Eliseo Clementini; Elena Ferrari (2007). Spatial Data on the Web: Modeling and Management. Springer. p. 194. ISBN 978-3-540-69878-4.
  6. ^Ravi Sandhu; Qamar Munawer (October 1998). "How to do discretionary access control using roles". 3rd ACM Workshop on Role-Based Access Control: 47–54.
  7. ^Sylvia Osborn; Ravi Sandhu & Qamar Munawer (2000). "Configuring role-based access control to enforce mandatory and discretionary access control policies". ACM Transactions on Information and System Security: 85–106.
  8. ^Brucker, Achim D.; Wolff, Burkhart (2005). "A Verification Approach for Applied System Security". International Journal on Software Tools for Technology Transfer. 7 (3): 233–247. doi:10.1007/s10009-004-0176-3. hdl:20.500.11850/52625. S2CID 6427232.
  9. ^D.R. Kuhn (1998). "Role based access control on MLS systems without kernel changes". Proceedings of the third ACM workshop on Role-based access control(PDF). pp. 25–32. CiteSeerX 10.1.1.55.4755. doi:10.1145/286884.286890. ISBN 978-1-58113-113-0. S2CID 1711956.
  10. ^"Role Based Access Control – FAQs". csrc.nist.gov. Computer Security Research Center. 2016-11-21. Retrieved 15 August 2018.
  11. ^ Ferraiolo, David; Kuhn, Richard (13.10.1992). „Role-Based Access Controls“ (PDF) . csrc.nist.gov : 554–563 . Abgerufen am 15. August 2018 .
  12. ^ AA Elliott & GS Knight (2010). „Role Explosion: Acknowledging the Problem“ (PDF) . Proceedings of the 2010 International Conference on Software Engineering Research & Practice .
  13. ^ Korhonen, Kalle. „tapistry-security-jpa“ . www.tynamo.org . Abgerufen am 15. August 2018 .
  14. ^ DR Kuhn (1997). „Gegenseitiger Ausschluss von Rollen als Mittel zur Umsetzung der Funktionstrennung in rollenbasierten Zugriffskontrollsystemen“. Proceedings of the second ACM workshop on Role-based access control - RBAC '97 (PDF) . S.  23–30 . doi : 10.1145/266741.266749 . ISBN 0897919858. S2CID  482687 .
  15. ^ Li, Ninghui; Bizri, Ziad; Tripunitara, Mahesh V. (2004). „Über sich gegenseitig ausschließende Rollen und die Trennung von Aufgaben“. Proceedings der 11. ACM-Konferenz über Computer- und Kommunikationssicherheit (PDF) . S.  42–51 . CiteSeerX 10.1.1.159.2556 . doi : 10.1145/1030083.1030091 . ISBN  978-1581139617. S2CID  798546 .
  16. ^ J. Barkley (1997) " Vergleich einfacher rollenbasierter Zugriffskontrollmodelle und Zugriffskontrolllisten ", In "Proceedings of the second ACM workshop on Role-based access control", Seiten 127-132.
  17. ^ Gates, Carrie (2007). „Zugriffskontrollanforderungen für Sicherheit und Datenschutz im Web 2.0“ . IEEE Web . 2 : 12–15 .
  18. ^ AC O'Connor & RJ Loomis (März 2002). Ökonomische Analyse der rollenbasierten Zugriffskontrolle (PDF) . Research Triangle Institute. S. 145.
  19. ^ Hitachi ID Systems. „Beyond Roles: A Practical Approach to Enterprise IAM“ . www.idsynch.com . Abgerufen am 15. August 2018 .
  20. ^ Sandhu, R., Ferraiolo, DF und Kuhn, DR (Juli 2000). „Das NIST-Modell für rollenbasierte Zugriffskontrolle“ (PDF) . Proceedings des fünften ACM-Workshops zur rollenbasierten Zugriffskontrolle . S.  47–63 . doi : 10.1145/344287.344301 . ISBN 158113259XS2CID  14539795 .​{{cite book}}: CS1 Wartung: Mehrere Namen: Autorenliste ( Link )
  21. ^ Ferraiolo, DF, Kuhn, DR und Sandhu, R. (Nov.–Dez. 2007). „RBAC Standard Rationale: comments on a Critique of the ANSI Standard on Role-Based Access Control“ (PDF) . IEEE Security & Privacy . 5 (6): 51–53 . doi : 10.1109/MSP.2007.173 . S2CID 28140142. Archiviert vom Original (PDF) am 17.09.2008. {{cite journal}}: CS1 Wartung: Mehrere Namen: Autorenliste ( Link )
  22. ^ Marikkannu, P (2011). „Fehlertolerantes adaptives mobiles Agentensystem mit dynamischer rollenbasierter Zugriffskontrolle“ . International Journal of Computer Applications . 20 (2): 1–6 . Bibcode : 2011IJCA...20b...1M . doi : 10.5120/2409-3208 .
  23. ^ „Sicherheitsstandards: Technische Schutzmaßnahmen“ . US-Gesundheitsministerium . Abgerufen am 27.03.2026 .
  24. ^ „Mindestanforderung“ . US-Gesundheitsministerium . Abgerufen am 27.03.2026 .
  25. ^ „HIPAA-Sicherheitsregel zur Stärkung der Cybersicherheit elektronischer geschützter Gesundheitsinformationen“ . Federal Register . 06.01.2025 . Abgerufen am 27.03.2026 .
  26. ^ „PCI DSS Quick Reference Guide“ . PCI Security Standards Council . Abgerufen am 27.03.2026 .

Weiterführende Literatur

  • David F. Ferraiolo, D. Richard Kuhn und Ramaswamy Chandramouli (2007). Rollenbasierte Zugriffskontrolle (2. Aufl.). Artech House. ISBN 978-1-59693-113-8Die