# Role Based Access Control

Role Based Access Control (RBAC; deutsch: Rollenbasierte Zugriffskontrolle) ist in Mehrbenutzersystemen oder Rechnernetzen ein Verfahren sowie ein Entwurfsmuster zur Zugriffssteuerung und -kontrolle auf Dateien oder Dienste. Das RBAC-Modell wurde 1992 von David F. Ferraiolo und D. Richard Kuhn beschrieben und 2004 als ANSI-Norm 359-2004 verabschiedet.
Die alternative Methode, einem realen Benutzer (User) direkt Rechte und Zugriffe auf verschiedene Systeme zu geben, stellte sich durch die steigende Zahl von Benutzern als unübersichtlich und daher fehlerträchtig dar. Das auf Benutzerrollen basierende Berechtigungskonzept soll nun die Rechte anhand von Arbeitsprozessen abstrahieren.

## RBAC-Modell

Bei der rollenbasierten Zugriffskontrolle werden den Benutzern des Computers oder Netzwerks Rollen zugeordnet. Benutzer können dabei mehrere Benutzerrollen besitzen. An eine Rolle sind beispielsweise 1 bis n Gruppenzugehörigkeiten gebunden. Je nach Rollenzuordnung des Benutzers (und den damit verbundenen Gruppenzugehörigkeiten) erteilt oder sperrt das System dann das Zugriffsrecht auf Betriebsmittel. Häufig werden vor allem Lesen, Schreiben und Ausführen von Dateien mittels RBAC kontrolliert; das Verfahren ist jedoch nicht darauf beschränkt.
Eine Gruppe ist also nicht zwingend einer Rolle gleichzusetzen. Der Grund dafür ist, dass sich die Unterteilung der Benutzer danach richtet, in welcher Rolle, also in Ausübung welcher Aufgaben, sie auf den Computer zugreifen. Das englische Wort „Role“ wird im IT-bezogenen deutschen Sprachgebrauch unter anderem für Webmaster, Postmaster, Newsmaster, Netzwerkadministratoren, Systemadministratoren und Ähnliches verwendet und soll verdeutlichen, dass es sich nicht zwangsläufig um verschiedene Personen handelt, sondern dass zum Beispiel ein und dieselbe Person mal in der Rolle des Webmasters Webseiten aktualisiert, dann in der Rolle des Postmasters Beschwerden über sein offenes Mail-Relay liest und als Nächstes in der Rolle des Systemadministrators Software installiert. Für die Ausübung sind dabei je nach Rolle möglicherweise unterschiedliche Zugriffsberechtigungen notwendig, die auch eine Zuordnung eines Benutzers zu mehr als einer Gruppe erforderlich machen.
Wegen der dreistufigen Gliederung in Benutzer, Rollen und Gruppen ist es möglich, Zugriffsrechte eines Benutzers über eine Rollenzuordnung und daran gebundene Gruppenzuordnungen zu kontrollieren.
Für die Verwaltung dieser Zuordnungen werden in der Regel Identitätsmanagement-Systeme (IDM) implementiert. Diese ermöglichen die Zuordnung von Benutzern zu jeweils 1 bis n Gruppen in 1 bis n Computersystemen lediglich über die Bindung an wenigstens eine Rolle. Voraussetzung hierfür ist unter anderem die Erstellung eines einheitlichen Nutzer-Rollenkonzepts. Diese Systeme erlauben es auch, die Konformität mit IT-Sicherheitsvorgaben sicherzustellen. Dazu kann in konfigurierbaren Zeitabständen ein Vergleich der Gruppenzugehörigkeit(en) eines Benutzers in 1 bis n Computersystemen mit den Rollendefinitionen im Regelwerk des IDM-Systems erfolgen. Das IDM-System kann diese Abweichung (Non-Compliance) dann bei Bedarf korrigieren und somit eine Zugriffskonsistenz sicherstellen.

## Benutzung

Die Benutzung von RBAC zur Verwaltung von Benutzerrechten wird weitgehend als bestes Verfahren angesehen. Diese Art der Zugriffskontrolle wurde in verschiedenen Systemen umgesetzt. Systeme wie Microsoft Active Directory, Microsoft SQL Server, SELinux, grsecurity, FreeBSD, Solaris, Oracle RDBMS, PostgreSQL 8.1, SAP R/3, FusionForge, Kubernetes und viele weitere benutzen eine Ausprägung des RBAC-Modells.