Berechtigungen

Regelbasierte Berechtigungen in TopLogic Project

Im Folgenden werden die Begrifflichkeiten und die grundlegende Funktionsweise des TopLogic Berechtigungssystems und dessen Verwendung in TopLogic erläutert.

Grundlagen

Rolle Für eine Rolle können sowohl funktionale Berechtigungen, als auch Datenberechtigungen definiert werden. Somit hat eine Rolle ein „Berechtigungsprofil“. Rollen können nur objektbezogen, nicht pauschal vergeben und ausgewertet werden.

Benutzer Ein Benutzer ist eine Person, die sich im System anmelden kann. Ein Benutzer kann eine oder mehrere Rollen auf den Fachobjekten des Systems haben. Welche Fachobjekte ein Benutzer sehen darf und welche Funktionen er darauf ausführen kann, definiert sich über die Rollen des Benutzers und den daraus resultierenden Berechtigungen auf dem jeweiligen Fachobjekt.

Dies sind die grundlegenden Entitäten zur Abbildung von Berechtigungen. Alles weitere dient (lediglich) der vereinfachten bzw. automatischen Rollenvergabe, also dem Management von Berechtigungen.

Beispiel: Bei 500 Benutzern und 200.000 Fachobjekten, können die Rollen nicht für jeden Benutzer und für jedes Fachobjekt manuell vergeben werden.

Rollenvergabe

Gruppen Eine Gruppe fasst eine Menge von Benutzern (Mitgliedern) zusammen. Gruppen können ebenso wie Benutzer Rollen auf bestimmten Objekten haben. Die Mitglieder solcher Gruppen bekommen dadurch dieselben Rechte auf diesen Objekten, als wären sie selbst Inhaber der Rolle darauf.

Funktion Eine Funktion ist ein rein fachlicher Begriff, der keinen technischen Hintergrund besitzt. Funktionen werden in TopLogic™ über ganz normale Attribute an den Fachobjekten abgebildet. Man spricht fachlich von Funktionen – und TopLogic™ Project stellt korrespondierende Attribute bereit. Wir wissen, dass derjenige Benutzer, der im Attribut „Projektleiter“ eines Projekts eingetragen wird, fachlich logisch die Funktion des Projektleiters einnimmt. Der Inhaber einer Funktion (also der Wert eines Attributs) kann nun mehrere unterschiedliche Rollen auf dem betreffenden Objekt oder auf in Beziehung stehenden weiteren Objekten bekommen. Welche Rollen das sind und auf welchen Objekten sie vergeben werden, wird durch Regeln beschrieben.

Regel Eine Regel beschreibt die Grundlagen zur automatischen Rollenvergabe im System.

Beispiele: Eine Regel kann besagen, dass der Benutzer im Attribut „Projektleiter“ eines Projekts eine gleichnamige Rolle „Projektleiter“ auf diesem Projekt bekommt. Diese Rolle würde das Berechtigungsprofil für einen Projektleiter definieren. Der selbe Benutzer kann in einem anderen Projekt als Mitarbeiter eingetragen sein. Eine Regel könnte besagen, dass der Benutzer auf diesem Projekt die Rolle „Mitarbeiter“ bekommt. Diese Rolle würde das Berechtigungsprofil für einen Mitarbeiter definieren. Fachlich könnte man nun sagen, der Benutzer hätte in einem Projekt die Funktion „Projektleiter“, in dem anderen die Funktion „Mitarbeiter“. Technisch findet dieser Begriff einer Funktion aber keine Abbildung.

Der selbe Benutzer könnte darüber hinaus als „Verantwortlich“ in einem Programm eingetragen sein. Fachlich hätte er also die Funktion „Programmleiter“ auf diesem Programm. Die Regeln zur Berechtigungsvergabe würden besagen, der Benutzer bekäme die Rolle „Programmverantwortlich“ auf dem betroffenen Programm aber auch auf allen zugehörigen Projekten. Das Berechtigungsprofil dieser Rolle definiert also nicht nur die Berechtigungen eines Programmverantwortlichen auf seinem Programm, sondern auch auf einem einzelnen Projekt.

Dieses Beispiel macht deutlich, wieso die Begriffe Funktion und Rolle nicht gleichgesetzt werden dürfen, sondern sich unterscheiden.

Regeln zur Rollenvergabe für Gruppen Natürlich gibt es auch Regeln, mit denen die Rollenvergabe für Gruppen gesteuert wird. Ähnlich wie für einzelne Benutzer ist es auch für Gruppen nicht praktikabel, die Rollen für einzelne Gruppen auf einzelnen Fachobjekten zu vergeben. So gibt es beispielsweise eine Regel, die besagt die Gruppe „Projektadministratoren“ hat die Rolle „Projektadministrator“ auf allen Objekten des Typs „Projekt“. Mitglieder dieser Gruppe sehen damit automatisch alle Projekte. Hätte man der Gruppe die Rolle manuell auf allen Projekten zugewiesen, so müsste man diese Zuordnung für neu hinzukommende Projekte immer nachpflegen. Durch die Verwendung besagter Regeln ist das nicht nötig.

Hintergrund

Benutzer definiert einen Anwender, identifiziert durch seinen Systemzugang (=Benutzerkonto).
Das System erlaubt die Konfiguration unterschiedlicher Rollen. Eine Rolle definiert eine Menge von funktionalen Berechtigungen zur Ausführung bestimmter Systemfunktionen (z.B. Anzeige, Bearbeitung, Löschung, Export oder komplexer fachlicher Transaktionen). Die Menge der an eine Rolle geknüpften Berechtigungen heißt „Berechtigungsprofil“ und kann in der Anwendung frei administriert werden.

Das System erlaubt die Konfiguration unterschiedlicher Gruppen. Eine Gruppe definiert eine Menge von Benutzern (=Benutzerkonten). Die Zugehörigkeit von Benutzerkonten zu Gruppen kann im System frei administriert werden.