Datenrechte werden in der easydb zentral vom Administrator bezogen auf Benutzer- und / oder Gruppen festgelegt. Das Rechtemanagement besteht aus 3-4 Stufen:
Je Rechtestufe werden i.d.R. folgende Rechte vergeben:
Für Assets gibt es zusätzlich:
Bei Arbeitsmappen gibt es zusätzlich:
Das Tabellenrecht ist die erste Stufe im Rechtemanagement. Auf dieser Ebene wird grundsätzlich festgelegt, inwieweit ein Benutzer überhaupt Zugriff auf die Objekte einer Tabelle hat. Sie können beispielsweise einer Gruppe das Recht geben Assets nur zu Lesen.
Das Linkrecht der Stufen 1 und 2 ist die Verfeinerung des generellen Tabellenrechts bezogen auf die Link-Tabellen-Zugehörigkeit einzelner Objekte.
Beispielsweise sind Assets generell in Pools abgelegt. Ein Asset befindet sich immer in genau einem Pool. Die Zugehörigkeit zum Pool regelt das Linkrecht, welches sich an dem Pool befindet die Verfeinerung der Tabellenrechte für die Tabelle Assets.
In einigen easydbs gibt es darüber hinaus noch ein Linkrecht der Stufe 2 die dann zusätzlich zur Pool-Zugehörigkeit als weitere Verfeinerung dient.
Das Recht am Objekt schließlich ist die letzte Stufe im Rechtemanagement und bestimmt am Objekt selbst (z.B. dem Asset mit der ID 12345) eine weitere Verfeinerung der Rechte.
Auf jeder Stufe können dem Benutzer Rechte entzogen oder gegeben werden.
Welche Link-Tabellen eine Auswirkung im Rechtemanagement haben, wird im Creator im DBMODEL unter "Linkprio" festgelegt. Dabei gibt die Zahl die Stufe des Linkrechts an.
Klicken Sie auf Einstellungen, um in diesen Bereich zu gelangen. Hierfür benötigen Sie das ADMIN-Recht.
Zuerst legen Sie das Tabellenrecht fest. Hier entscheidet sich für den Benutzer grundsätzlich, welcher Art Zugriff auf Objekte in der Tabelle bestehen. Sie können beispielsweise ein allgemeines Lese-Recht vergeben und dann in der Linkrecht Stufe 1 einzelne Pools an einzelne Benutzergruppen auch zum Schreiben freigeben.
Standardmäßig ist keine Tabelle geschützt – read, write, delete sind erlaubt. Jedoch müssen die Zusatz-Attribute wie create, Hires, Huge, Big und Medium explizit gesetzt werden. Für Ersteller können keine Zusatz-Attribute gesetzt werden.
Klicken Sie auf 1, um die Datenrechte zu wählen. In 2 sehen Sie alle Tabellen, für die sich Datenrechte einstellen lassen. Im Beispiel haben wir auf E geklickt, um die Tabellenrechte für Assets zu editieren. Der Bereich 3 sind die eigentlichen Rechtelisten, die pro Stufe festlegen, ob ein Benutzer etwas darf oder nicht.
Das Rechtemanagement läuft immer über die Haupt-Tabelle in der ein Objekt geführt wird. Wenn Sie zum Beispiel an einem Asset Fotografen verknüpft haben, dann regelt das Recht für die Tabelle Asset, ob der Benutzer beispielsweise das Asset mit allen verknüpften Fotografen sieht oder nicht.
Die Namen der Tabellen sind nicht die Namen der Tabellen in der SQL-Datenbank. Die Namen werden über das STRINGTOOL festgelegt, der Key ist: table_screen_name__<sql table name>. Einzelne Tabellen lassen sich ausblenden, wenn Sie im DBMODEL No Table Right anhaken.
Die Rechtelisten werden zeilenweise durchlaufen. Pro Zeile prüft easydb, ob der eingeloggte Benutzer von dieser Zeile betroffen ist oder nicht. Mehr zu den Rechtelisten finden Sie hier.
Im Screenshot besteht die Rechtliste aus vier Zeilen. Je nach Benutzer ergibt diese Stufe andere Rechte. Die Beispiele beziehen sich auf fiktive Benutzer Anton, Anna und Armin.
Benutzer Anton ist ein Benutzer ohne besondere Rechte. Anton ist in keiner speziellen Gruppe. Für ihn greift die Zeile 1 da er ein Mitglied der allgemeinen Gruppe Alle ist. Für alle Objekte, die Anton in der Tabelle Assets erstellt hat, greift zudem Zeile 2, da Anton der Ersteller dieser Objekte ist.
Zeile 1 gibt Anton Lese- und Erstell-Recht und die Rechteklasse Medium für die Asset-Vorschauen.
Zeile 2 gibt Anton Lese-, Schreib- und Löschrechte. Für Ersteller können keine Rechteklassen vergeben werden, weswegen sie deaktiviert sind.
Zeile 3 und Zeile 4 haben für Anton keine Bedeutung, da er weder in der Gruppe Gruppe1 noch in der Gruppe Administratoren Mitglied ist.
Benutzerin Anna ist in der Gruppe der Gruppe1. Sie erhält deshalb durch Zeile 3 mehr Rechte als Anton. Sie hat für alle Assets grundsätzlich Lese-, Schreib-, Lösch- und Erstell-Recht. Darüber hinaus hat sie die Rechte für alle Rechtklassen der Asset-Vorschauen.
Zeile 4 hat für Anna keine Bedeutung, da sie nicht in der Gruppe Administratoren ist.
Armin ist in der Gruppe Administratoren. Er darf alles und durch das Sticky-Recht der Zeile 4 kann ein nachgeordnete Linkstufen-Recht oder Recht am Objekt ihm diese Rechte auch nicht mehr überschreiben.
Das Sticky-Recht ist für Administratoren gedacht, die immer Zugriff auf Objekte haben müssen, egal welche Rechte beispielsweise bei Pools oder einzelnen Objekten konfiguriert sind. Sticky beim Ersteller-Recht bezieht sich auf die Objekte, die ein Benutzer erstellt hat. Diese Recht sind Sticky, d.h. sie können dem Ersteller nicht mehr durch Rechte am Objekt entzogen werden. Ein Sticky-Recht, welches nach der Definition eines nicht-Sticky Ersteller-Rechtes gesetzt wird, überschreibt das Ersteller-Recht. Wird das Ersteller-Recht nach dem Sticky-Recht gesetzt, so überschreibt es das Sticky-Recht nicht, es sei denn, das Ersteller-Recht ist selber Sticky gesetzt.
Folgende Tabelle verdeutlicht das Verhalten von Sticky- und Ersteller-Rechten:
In der Rechte-Hierarchie zuerst aufgeführt | In der Rechte-Hierarchie danach aufgeführt | Ergebnis |
---|---|---|
Rechtzeile sticky | Ersteller-Recht sticky | Ersteller-Recht gewinnt |
Ersteller-Recht sticky | Rechtezeile sticky | Ersteller-Recht gewinnt |
Rechtzeile sticky | Ersteller-Recht nicht sticky | Rechtezeile gewinnt |
Ersteller-Recht nicht sticky | Rechtezeile sticky | Rechtezeile gewinnt |
Ersteller-Recht nicht sticky | Rechtezeile nicht sticky | Ersteller-Recht gewinnt |
Rechtezeile nicht sticky | Ersteller-Recht nicht sticky | Ersteller-Recht gewinnt |
Jedes Asset befindet sich in einem Pool. Der Pool kann Rechte des Benutzers verfeinern. Die Liste der Pools erreichen Sie durch Klick auf 1. Im Beispiel haben wir auf E geklickt, um den Pool-Editor anzuzeigen. 3 Neben den allgemeinen Information über einen Pool, gibt es dort auch eine Rechteliste, die das Linkrecht festlegt
Im vorliegenden Beispiel editieren wir die Rechte für Assets im Pool Vorpool. Dieser Pool befindet sich im Top-Level der Pools. Die Rechte-Liste sorgt dafür, dass Benutzer, die nicht der Gruppe Vorpool-Editoren angehören, Assets die sich im Pool Vorpool befinden, nicht finden und nicht sehen. Benutzer die dieser Gruppe angehören haben vollen Zugriff auf diese Assets.
Bitte beachten Sie, dass bei den Linkrechten kein create-Recht (Erstellen) vorkommt und es in den Zeilen auf keine Rechte für Ersteller gibt.
Ob der Benutzer den Button Neu sieht, um den Asset-Editor für neue Assets aufzurufen bestimmt das create-Recht des Tabellenrechts für die Tabelle Assets. Das im Asset-Editor befindliche Pulldown zur Pool-Zuordnung zeigt dem Benutzer dann alle Pools an, für die er mindestens Schreibrechte hat.
In einigen Fällen ( z.B. Arbeitsmappen ) gibt es im Editor am Objekt selbst eine weitere Rechteliste. Die dort eingetragenen Rechtezeilen werden nach dem Tabellenrecht und den Linkrechten ausgeführt. Damit ist es möglich einzelnen Objekten spezieller Rechte zuzuordnen.
Näheres zum Rechtemanager bei den Arbeitsmappen finden Sie hier.
Die easydb verbindet sich zur Datenbank mit einem einzigen Benutzer und regelt das Rechtemanagement innerhalb des Frontends der easydb.