Regelbasierte Berechtigungen in Top-Logic™ Project

Im Folgenden werden die Begrifflichkeiten und die grundlegende Funktionsweise des Top-Logic™ Berechtigungssystems und dessen Verwendung in Top-Logic™ Project 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 Top-Logic™ über ganz normale Attribute an den Fachobjekten abgebildet. Man spricht fachlich von Funktionen – und Top-Logic™ 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.


Verwendung in Top-Logic™ Project

In Top-Logic™ Project sind in der Konfiguration (also vorab) bereits eine Menge von Rollen und Gruppen festgelegt. Weiter wurde ein dazu passendes Regelset entworfen, was die Vergabe dieser Rollen sowohl für Gruppen als auch für Benutzer regelt. Die Berechtigungssteuerung in Top-Logic™ Project erfolgt damit ausschließlich

Die erste Variante wird für eine Berechtigungsvergabe auf dem betroffenen oder assoziierten Objekten genutzt. Die zweite Variante meist für eine Berechtigungsvergabe über alle Objekte (eines bestimmten Typs).

Beispiel: Wenn es fünf Projekte im System gibt, kann man einen Benutzer auf diese Projekte berechtigen, indem man ihn in allen fünf Projekten als Administrator einträgt, wodurch er eine entsprechende Rolle bekommt. Kommt ein sechstes Projekt hinzu, wird dieser Benutzer das Projekt solange nicht sehen, bis er dort ebenfalls als Administrator eingetragen wird. Ordnet man den Benutzer hingegen der Gruppe Administratoren zu, die entsprechend einer Regel die selbe Rolle „Administrator“ auf allen Projekten hat, so wird dieser Benutzer sofort und immer auf alle Projekte berechtigt.

Darüber hinaus könnte man in der Administration weiterhin dynamisch weitere Rollen anlegen und diese manuell und direkt (ohne Attributzuweisung und ohne Regeln, direkt manuell) für einzelne Benutzer oder Gruppen auf einzelnen Objekten (z.B. Projekten) vergeben. Diese Art der Berechtigungsvergabe ist jedoch für eine Anwendung wie Top-Logic™ Project sehr aufwändig und wird daher weder genutzt noch empfohlen.