Rollenbasierte Zugriffskontrolle

Role Based Access Control, RBAC

 

Einführung: https://de.wikipedia.org/wiki/RBAC

Bei einem rollenbasierten Rechtesystem werden Rollen definiert, die sich an die jeweiligen Aufgaben eines Benutzers orientieren. Eine Rolle könnte z.B. "Redakteur" heißen und Rechte zum Anlegen von Seiten und Ändern von Inhalten beinhalten. Einem Benutzer können nun beliebig viele Rollen zugewiesen werden, aus denen sich die effektiven Rechte ergeben.
 

Begriffe


Rollen

Eine Rolle beschreibt im Prinzip eine Aufgabe, die ein Benutzer erfüllen soll, also z.B. das Erstellen von Beiträgen bzw. Inhalten. Hierzu wird die Rolle mit den dafür notwendigen Rechten verknüpft, z.B. "Seite anlegen", "Sektionen verwalten", "Inhalte ändern" usw. Die so konfigurierte Rolle kann nun Benutzern bzw. Gruppen zugeordnet werden, so daß sich die damit verknüpften Rechte entsprechend auswirken können.

Rechte

Rechte oder Berechtigungen werden ausschließlich mit Rollen verknüpft. Ein Recht könnte z.B. sein, daß ein Benutzer im Backend den Seitenbaum sehen oder sich überhaupt erst im Backend anmelden darf.

Benutzer

Benutzer sind in BlackCat CMS in erster Linie für den Zugriff auf das Backend relevant. Es ist aber auch denkbar, daß man bestimmte Bereiche der Webseite nur bestimmten Besuchern zugänglich machen möchte. Dies erfordert, daß sich der Besucher gegenüber dem CMS autorisieren (anmelden) kann - er braucht also eine Benutzerkennung samt Kennwort.

Gruppen

Benutzer können zu Gruppen zusammengefaßt werden. Diesen Gruppen können wiederum Rollen zugeordnet werden. Über die Gruppenmitgliedschaft erhält der Benutzer dann die Berechtigungen, die in den Rollen definiert sind.

 

Die Hauptvorteile:

  • Die vorhandenen Rechte können jederzeit - z.B. durch Module - erweitert werden.
  • Die Rollen können passend zum Projekt (Anforderungen des Kunden) auf Basis der umzusetzenden Workflows gestaltet werden, ohne eventuelle Vorgaben durch BC berücksichtigen zu müssen.
  • Rechte können weitaus granularer ausgestaltet werden als bisher.
  • Es können Abhängigkeiten definiert werden, z.B. daß das Recht "Inhalte ändern" mindestens auch die Rechte "Zugang zum Backend" und dort "Seitenbaum sehen" benötigt.

Die Hauptnachteile:

  • Aufgrund der Erweiterbarkeit ist das System auch komplexer und kann ggfs. sehr unübersichtlich werden.
  • Es ist prinzipiell möglich, Rechtekombinationen zu vergeben, die unzureichend oder unlogisch sind (z.B. wenn ein Redakteur Seiten anlegen, aber dann nicht bearbeiten kann). Dies soll durch die Definition der o.g. Abhängigkeiten weitestgehend vermieden werden.