Gruppen Berechtigungen zuweisen - einen Berechtigungssatz erstellen

Einer Gruppe, damit allen Mitgliedern dieser Gruppe, können einzelne Berechtigungen zugeordnet werden. Hierfür steht das folgende Menü zur Verfügung:

SuchenNeu Gruppe/RechtSpeichernAbbruch



Hilfe
Übersicht  (0/0)
 < 1 > 
 -    Beispiel-Gruppe (N)
Id
Gruppe *
Objekttyp
Objektname
Nutzerrecht *
ReadAdd
EditDelete
read own Objectedit own Object
del own Objectmanage own Object
execute Objectcreate PDF
read groupRowsadd groupRows
edit groupRowsrem groupRows
StvAdminAdmin
Owner

Löschen

Ein Berechtigungssatz setzt sich zusammen aus einer Gruppe, dem Objekttyp und Objektnamen sowie einem Nutzerrecht, welches sich als Kombination von mindestens einem der einzelnen Nutzerrechte zusammensetzt. Die Objektnamen werden in Abhängigkeit vom gewählten Objekttyp passend eingeblendet.

1. Prinzipien

Ein Berechtigungssatz ist immer positiv: Er gewährt Rechte. Er bezieht sich entweder auf alle Objekttypen - dann bleibt das Feld <Objekttyp> leer. Oder der Berechtigungssatz ist eingeschränkt auf einen einzelnen Objekttyp. Im oberen Beispiel ist er auf den Objekttyp <Tabellenzeilen> eingeschränkt. Hier wiederholt sich diese Hierarchie: Die Berechtigung kann sich auf alle Tabellen oder auf eine einzelne Tabelle beziehen. Wurden beide Zugriffsebenen festgelegt, so können die konkreten Rechte der Reihe nach gesetzt oder entfernt werden. Hierbei umfaßt StvAdmin alle anderen Rechte außer dem Admin-Recht, das Admin-Recht umfaßt alle anderen Rechte. Die Objekttypen orientieren sich an den sechzehn internen Menüs.

Beispiel: Die admin-group: Hier sind Objekttyp und Objekt leer, 'Nutzerrecht' hat nur einen einzigen Haken bei 'Admin'. Damit sind alle Aktionen ausführbar. Die Berechtigungssätze für die vordefinierten Gruppen sind im obigen Menü lesbar.

2. Nutzerrechte

Grundsätzlich gilt, daß alle Nutzer der internen Masken Objekte suchen und die Liste der Suchergebnisse sehen können. Die ersten vier Rechte Read, Add, Edit und Delete stellen in bezug auf Tabellenzeilen die üblichen Rechte zum Lesen, Hinzufügen, Ändern und Löschen von Daten dar. Letzteres erfordert zusätzlich, daß im Menü 3 für die Tabelle das Löschen erlaubt wurde. Für Objekte (Tabellen, mehrsprachliche Spalten, Aktionen usw.) bedeuten Read, Add, Edit und Delete, daß diese Objekte in den zugehörigen Grundmasken gelesen, neu erstellt, geändert und gelöscht werden dürfen. Ein Nutzer mit dem Add-Recht für Ausgabeseiten kann also im Menü 10 mit 'Neue Ausgabeseite' beginnen und das Ergebnis erfolgreich abspeichern. Ein Nutzer ohne dieses Recht erhält beim Speichern eine Meldung, welche auf das fehlende Add-Recht hinweist. Das fehlende Add-Recht wirkt sich erst beim Speichern aus.

Das 'execute Object'-Recht wird nur für Abfragen, Ausgabeseiten, Up- und Downloads berücksichtigt. Das 'create PDF'-Recht wird derzeit nur für Ausgabeseiten verwendet.

Ein Nutzer, der ein Objekt neu erstellt hat, ist Owner / Eigentümer dieses Objektes. Der Eigentümer eines Objektes kann niemals geändert werden. Besitzt er eines der drei Rechte read / edit / delete own Object, so kann er die entsprechende Tätigkeit für sein Objekt ausführen.

Eine Besonderheit des hiesigen Systems liegt darin, daß diese Owner-Regelung nicht nur für Systemobjekte, sondern ebenfalls für Zeilen benutzerdefinierter Tabellen gilt. Damit ist es möglich, Nutzern das Recht zum Lesen aller Zeilen, dem Hinzufügen neuer Zeilen und dem Editieren/Löschen eigener Objekte zu erteilen. Ein Nutzer kann damit alle Datensätze lesen, neue Zeilen hinzufügen und nur seine eigenen Datensätze ändern. Alternativ kann die Leseberechtigung auch nur für die eigenen Zeilen erteilt werden. Dann liefern die Views nur die vom aktuellen Nutzer erstellten Zeilen aus.

Zusätzlich zu den beiden Varianten 'alle Zeilen' und 'eigene Zeilen' steht mit den gruppenbezogenen Rechten (read groupRows usw.) eine Möglichkeit für eine horizontale Partitionierung von Tabellen zur Verfügung. Gehört ein Nutzer zu einer Gruppe, welcher diese Rechte in bezug auf Tabellenzeilen zugeordnet sind, wurde einigen Tabellenzeilen beim Erstellen zusätzlich eine Gruppen-ID (die ID eines anderen Nutzers) in der vordefinierten Spalte _Group zugewiesen und ist der Nutzer über das Menü 15: Gruppenmitglieder mit diesem verantwortlichen Nutzer (eventuell eingeschränkt auf eine Tabelle) verknüpft, dann kann er jene Aktionen (Lesen, Hinzufügen, Ändern und Löschen) für diese Teilmenge von Zeilen ausführen, wie sie über die Rechtevergabe erlaubt wurde. Innerhalb von Ausgabeseiten lassen sich diese Techniken über Vorbelegungen automatisieren.

2.1 Leseberechtigungen für Berechtigungssätze

Die Details eines Berechtigungssatzes können von Nutzern gelesen werden, die entweder der Gruppe dieses Berechtigungssatzes angehören, administrationsberechtigt für diese Kombination Objekttyp/Objekt sind oder Besitzer dieses Berechtigungssatzes sind, ihn also erstellt haben. Ferner sind die vorerstellten Berechtigungssätze für die Systemgruppen von allen Nutzern lesbar. Jeder Nutzer der internen Masken kann sich über das Menü 15 darüber informieren, welchen Gruppen er angehört und anschließend über das hiesige Menü ermitteln, welche Berechtigungen er insgesamt hat.

2.2 Erstellen von Berechtigungssätzen

Für die Erstellung von Berechtigungssätzen sind zwei voneinander unabhängige Berechtigungen notwendig: Der Nutzer muß administrationsberechtigt für diese Kombination aus Objekttyp und Objekt sein und er muß das Recht haben, die gewünschte Gruppe zu bearbeiten.

2.2.1 Administrationsberechtigung

Für die Administrationsberechtigung gibt es zwei Möglichkeiten: Der Nutzer ist StvAdmin/Admin für diese Kombination aus Objekttyp und Objekt. Oder er ist Besitzer dieses Einzelobjektes und hat das Recht, seine eigenen Objekte zu managen.

StvAdmin/Admin zu sein heißt also, einerseits auf ein Objekt lesend/schreibend zugreifen zu dürfen. Andererseits ist es eine notwendige Bedingung zur Erstellung von Berechtigungssätzen. Diese StvAdmin/Admin-Berechtigung kann, aufgrund der Hierarchie von Objekttyp/Objekt, für alle Objekttypen, für alle Objekte eines Typs oder nur für ein einzelnes Objekt gelten. Das 'manage own Object' - Recht kann dagegen zwar global verliehen werden. Wird dem Nutzer jedoch nicht mindestens ein Add-Recht zur Erstellung eigener Objekte erlaubt, so bleibt dieses 'manage own Object' - Recht wirkungslos. Denn der Nutzer hat kein Objekt, welches er unter 'Objekt' auswählen und den erzeugten Datensatz erfolgreich speichern könnte. Ferner kann ein Nutzer mit 'manage own Object'-Recht und einer von ihm verwaltbaren Gruppe zu dieser Kombination nur Berechtigungssätze erstellen / bearbeiten / löschen, die keines der drei Rechte 'create PDF', 'StvAdmin' oder 'Admin' haben. In diesem Sinne ist das 'manage own Object'-Recht schwächer als 'StvAdmin' oder 'Admin' für dieses Objekt.

2.2.2 Bearbeitung von Gruppen

Ein Berechtigungssatz benötigt die Festlegung einer Gruppe, ansonsten kann er nicht gespeichert werden. Hier können die 'predefined groups' (anon-user-group, anon-nick-group, auth-user-group, registered-user-group, not-registered-user-group) immer verwendet werden. Ein Ersteller eines Berechtigungssatzes kann also immer allen Nutzern Zugriff auf 'sein Objekt' gewähren. Die 'system groups' (admin-group, dataReader-group, dataWriter-group, ownAdmin-group) können niemals verwendet werden. Die diesen Gruppen zugewiesenen Rechte bleiben immer unverändert.

Für benutzerdefinierte Gruppen ('other group') gilt: Zur Erstellung von Gruppen ist zum Objekttyp 'Gruppen' das Add-Recht notwendig. Bei der Berechtigungsprüfung für das Menü 13 wird unterschieden, ob es sich um einen neuen Nutzer oder um eine neue Gruppe handelt. Da das Hinzufügen von Nutzern zu einer Gruppe eine administrative Tätigkeit darstellt, ist hierfür das StvAdmin/Admin-Recht oder das 'manage own Object' - Recht notwendig, letzteres, falls es sich um eine Gruppe im eigenen Besitz handelt. Dieselben Prinzipien gelten bei Berechtigungssätzen: Hier kann eine Gruppe verwendet werden, falls der ausführende Nutzer entweder mindestens StvAdmin für den Objekttyp 'Gruppen' ist oder er Besitzer der Gruppe mit Selbstverwaltungsrecht ist.

3. Weitere Hinweise

Zu Aktionen und Sichten werden keine einzelnen Objekte angezeigt. Aktionen versenden Mails ausschließlich an den Ersteller der Aktion. Die Weitergabe einer Execute-Berechtigung an eine andere Gruppe mit der Folge, daß die Mitglieder dieser Gruppe unerwünschte Mails bekommen würden, ist ausgeschlossen. Views überprüfen nicht das Execute-, sondern das Leserecht für die dem View zugrundeliegende Tabelle.

Für das Menü 13 / Nutzer und Gruppen gibt es zwei Berechtigungen: Der Objekttyp 'Nutzer' bedeutet, Daten anderer Nutzer lesen zu dürfen oder neue autorisierte Nutzer zu erstellen. Der Objekttyp 'Gruppen' bedeutet, Gruppen erstellen und ihnen Mitglieder zuweisen zu dürfen. Ein Hinzufügen eines neuen Datensatzes im Menü 13 führt zu zwei verschiedenen Sicherheitsprüfungen in Abhängigkeit davon, ob es sich um einen neuen Nutzer oder eine neue Gruppe handelt.

<Protokolldaten> bietet die Möglichkeit, die nutzerübergreifende Leseberechtigung mittes Read sowie das Recht zum Download von Protokolldaten und Löschen alter Protokolldaten mittels StvAdmin/Admin zuzuweisen. Alle anderen Berechtigungen werden ignoriert.

<Kundendaten> bietet den Zugriff auf die Untermenüs <Datenbank>, <Buchungen> sowie <Kundendaten> im Menü 14 - Eigene Daten. Mit dem Read-Recht können diese drei Masken aufgerufen werden. Das Write-Recht erlaubt die Speicherung einer geänderten Datenbank-Größe oder des Vorauszahlungszeitraumes. Für die Änderung der Kundenhauptdaten, welche den Daten der Erstanmeldung entsprechen, sind StvAdmin/Admin-Rechte notwendig.


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2018 Jürgen Auer, Berlin.