# Benutzer und Rollen Alle Themen, die mit Benutzerverwaltung und Berechtigungskonzepten in Zusammenhang stehen. # Berechtigungskonzept #### Berechtigungsmatrix
Die Folgende Dokumentation ist nicht final und wird im Laufe der Zeit mit Details gefüllt. Aktuell beschreibt sie die vorhandenen Berechtigungen bewusst verallgemeinert. Wir bitten um Feedback bei Verständnisfragen.
Die folgende Matrix zeigt die Berechtigungen an, welche verschiedene Rollen in Squeeze erhalten. Die Inhalte der Tabelle bedeuten: - **C -** Kann ein User diese Ressource anlegen? - **R -** Kann ein User auf diese Ressource zugreifen? - **U -** Kann ein User diese Ressource aktualisieren / speichern? - **D -** Kann ein User diese Ressource löschen? - **X -** Kann ein User diese Aktion durchführen?***Server-Admin1*** | **root** | **User Management** | **Role Management** | **Benutzerdefinierte Rollen** | |
Dokument | CRUD | CRUDDok | |||
Logs der Verarbeitung eines Dokumentes | R | RDok | |||
Konfigurationen wie: - Stapelklassen - Dokumentenklassen - Lokatoren - Import-Schnittstellen | CRUD | ||||
Benutzer | CRUD | CRUD | |||
Rollen | CRUD | CRUD | |||
Rollen zu Benutzern zuordnen | CRUD | CRUD | CRUD | ||
Stamdatentabellen und zugehörige Konfigurationen | CRUD | CRUDM | |||
Stammdaten | CRUD | CRUDM | |||
Administrative Tätigkeiten wie: - Skripte verwalten - Skripte ausführen - Jobs verwalten - Migrationen ausführen - Suchindizes verwalten | X | ||||
Feature Flags | CRUD |
Rollenfilter und Feldbedingungen werden genutzt um das Anzeigen, Validieren, Zurückstellen und Löschen von Dokumenten in Squeeze zu berechtigen.
## Rollenfilter Rollenfilter (im Folgenden kurz "Filter") gehören zum Autorisierungskonzept von SQUEEZE und unterstützen bei feldbasierter Autorisierung von Dokumenten. Mittels dieser Filter ist es möglich für unterschiedliche Benutzergruppen unterschiedliche Dokumente (auch innerhalb einer Dokumentenklasse) zu berechtigen. - - - - - - ### Konfiguration Jeder Rolle können beliebig viele Filter hinzugefügt werden. Ein Filter steht im Bezug zu einer Dokumentenklasse und berechtigt den Zugriff (lesend & schreibend) auf alle Dokumente dieser Klasse. ### Auswertung Rollenfilter werden mit einem **logischen Oder** ausgewertet. D. h., wenn einer Rolle mehrere Filter zu der selben Dokumentenklasse zugeordnet sind, dann genügt bereits eine positive Auswertung eines Filters (und seiner [Feldbedingungen](https://docs.squeeze.one/books/squeeze-admin-handbuch/page/rollenfilter-feldbedingungen#bkmrk-feldbasierte-berecht)) aus, um Zugriff auf das Dokument zu erhalten. Dieses Verhalten gilt auch dann, wenn ein Benutzer Mitglied mehrerer Rollen mit wiederum diversen Filtern ist.**Zusammengefasst:** Ein Benutzer erhält Zugriff auf ein Dokument, sobald mindestens eine seiner Rollen über einen Rollenfilter den Zugriff gewährt.
## Feldbedingungen Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können Rollenfilter um Feldbedingungen ergänzt werden. Diese erlauben die Filterung von Dokumenten auf Basis ihrer Feldwerte.Aktuell (Squeeze 2.0 - 2.4) können nicht alle konfigurierbaren Filter korrekt ausgewertet werden. Die Konfiguration solcher Filter ist zwar möglich, sollte aber vermieden werden. **Beispiel:** Die Filterung auf ein Textfeld mit einem "Größer als" Komparator (bspw. "Lieferantenname größer als 20") würde zu einem Suchfehler führen. Wir arbeiten kontinuierlich an Verbesserungen an diesem System. Weiteres finden Sie unter der Überschrift "Besonderheiten".
SQUEEZE 1 unterstützt mehr Komparatoren als SQUEEZE 2. Sollten Sie einen Komparator nutzen, der nicht mehr unterstützt wird, kontaktieren Sie bitte den Support, wenn Sie migrieren möchten.
### Konfiguration An einem Filter können beliebig viele Feldbedingungen definiert werden. Eine Bedingung ist zusammengesetzt aus: - Dem Feld dessen Inhalt geprüft werden soll - Dem Komparator, der zur Prüfung genutzt wird - Dem Vergleichswert (kann von einigen Komparatoren ignoriert werden) #### Besonderheiten Das hier sind bekannte Sonderheiten bei der Konfiguration der Feldbedingungen. Diese werden laufend dokumentiert: ##### **Betragsfelder** - Betragsfelder müssen generell immer mit zwei Stellen nach dem Punkt angegeben werden. Geben Sie also **200.00** statt **200** ein. ### Auswertung Feldbedingungen werden anders als Rollenfilter mit einem **logischen Und** verknüpft ausgewertet. Es müssen also alle Bedingungen erfüllt sein, damit ein Rollenfilter den Zugriff auf ein Dokument gewährt. ### Zusammenspiel mehrerer Rollenfilter Wenn für einen Benutzer mehrere Rollenfilter (mit wiederum diversen Feldbedingungen) ausgewertet werden, dann spielen Rollenfilter **ohne** Feldbedingungen keine Rolle mehr und werden ignoriert. **Ein Beispiel:** - Eine Rolle hat zwei Filter. Der erste Filter hat keine Feldbedingungen. Der zweite Filter hat eine Feldbedingung. - Bei der Auswertung dürfen Nutzer der Rolle nur Dokumente sehen, die durch den zweiten Filter freigegeben werden. ### Zusammenspiel mit vererbten RollenRollenfilter und Feldbedingungen werden aus Performance-Gründen nicht überall in der UI ausgeführt.
#### Auf dem Dashboard 1. Die angezeigte Dokumentensumme in auf den Validierungskacheln berücksichtigt die Rollenfilter **nicht**. 2. Ebenso berücksichtigt die Warteschlange im oberen Bereich die Rollenfilter **nicht**. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233208785.png) #### Dokumentensuche - In der eigentlichen Dokumentensuche (hier ist die Trefferliste zu sehen), werden Rollenfilter berücksichtigt. - Zu erkennen ist das bspw. daran, dass in der Warteschlange 5 Dokumente in der Validierung gezeigt werden, entsprechend der Rollenfilter aber nur 1 Dokument dem Validierer angezeigt werden. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233303943.png) #### Validierung - Wenn ein Dokument direkt in der Validierung angezeigt werden soll, werden Rollenfilter berücksichtigt. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233401253.png) #### Administration - In der Administration werden Rollenfilter i. A. nicht angewandt, um gewährleisten zu können, dass Administratoren technische Probleme wie "liegengebliebene" Dokument sehen und lösen können. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233886771.png) ### FAQ ##### Es fehlen Dokumente im Validierungsschritt Bei der Verwendung von **Feldbedingungen** kann es vorkommen, dass diese nicht korrekt konfiguriert wurden. Das äußert sich dann darin, dass scheinbar eine andere Anzahl an Dokumenten im Validierungsschritt dargestellt wird (Vergleiche Timeline (1) und Ergebnisse der Dokumentensuche (2)). Dieses Verhalten tritt auch bei Admins mit der Root-Rolle auf. Das ist kein Softwarefehler, sondern Folge der Konfiguration. I. d. R. tritt das bei Projekten auf, wo viele Rollen mit eigenen Filtern eingesetzt werden. [](https://docs.squeeze.one/uploads/images/gallery/2023-08/image-1692014088720.png) Beispiel-Schaubild **Problem verifizieren**: So ist zu testen, ob die Konfiguration der Rollenfilter das Problem für die scheinbar fehlenden Dokumente sind. Wie im vorherigen Text erklärt, erben die Rollen ihre Rollenfilter und deren Rollenfilter-Feldbedingungen von unten nach oben, gehen Sie wie folgt vor um den Fehler zu ermitteln: 1. Prüfen Sie die Rolle die ihren Nutzer berechtigt und ermitteln Sie welche Rollen die Rolle bereits durch die Vererbung einschließt. 2. Kontrollieren Sie nun jede Rolle und deren Rollenfilter achten Sie auf die Rollenfilter-Feldbedingungen.Eine Rolle die Zugriff auf alle Dokumentenklassen-Dokumente haben soll muss einen Rollenfilter auf die bezogene Dokumentenklasse besitzen.
Ein Beispiel-Fehlerbild: Ein Admin kann weniger Dokumente auffinden, als in der Verarbeitungskette (Punkt 1. Abbildung "Beispiel-Schaubild") angezeigt werden. Es gibt mehrere untergeordnete Rollen, die Rollenfilter-Feldbedingungen auf das Feld "Mandant", bspw. "Mandant = 1000", "Mandant = 2000" usw. haben. - Stellen Sie sicher, dass die Admin-Rolle einen Rollenfilter auf die komplette Dokumentenklasse besitzt. Der Rollenfilter darf keine Feldbedingungen besitzen die den Zugriff einschränken. # Rollenfilter & Feldbedingungen (ab & inkl. Squeeze 2.5)Rollenfilter und Feldbedingungen werden genutzt um das Anzeigen, Validieren, Zurückstellen und Löschen von Dokumenten in Squeeze zu berechtigen.
## Rollenfilter Rollenfilter (im Folgenden kurz "Filter") gehören zum Autorisierungskonzept von SQUEEZE und unterstützen bei feldbasierter Autorisierung von Dokumenten. Mittels dieser Filter ist es möglich für unterschiedliche Benutzergruppen unterschiedliche Dokumente (auch innerhalb einer Dokumentenklasse) zu berechtigen. - - - - - - ### Konfiguration Jeder Rolle können beliebig viele Filter hinzugefügt werden. Ein Filter steht im Bezug zu einer Dokumentenklasse und berechtigt den Zugriff (lesend & schreibend) auf alle Dokumente dieser Klasse. ### Auswertung Rollenfilter werden mit einem **logischen Oder** ausgewertet. D. h., wenn einer Rolle mehrere Filter zu der selben Dokumentenklasse zugeordnet sind, dann genügt bereits eine positive Auswertung eines Filters (und seiner [Feldbedingungen](https://docs.squeeze.one/books/squeeze-admin-handbuch/page/rollenfilter-feldbedingungen#bkmrk-feldbasierte-berecht)) aus, um Zugriff auf das Dokument zu erhalten. Dieses Verhalten gilt auch dann, wenn ein Benutzer Mitglied mehrerer Rollen mit wiederum diversen Filtern ist.**Zusammengefasst:** Ein Benutzer erhält Zugriff auf ein Dokument, sobald mindestens eine seiner Rollen über einen Rollenfilter den Zugriff gewährt.
## Feldbedingungen Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können Rollenfilter um Feldbedingungen ergänzt werden. Diese erlauben die Filterung von Dokumenten auf Basis ihrer Feldwerte.Aktuell (Squeeze 2.0 - 2.4) können nicht alle konfigurierbaren Filter korrekt ausgewertet werden. Die Konfiguration solcher Filter ist zwar möglich, sollte aber vermieden werden. **Beispiel:** Die Filterung auf ein Textfeld mit einem "Größer als" Komparator (bspw. "Lieferantenname größer als 20") würde zu einem Suchfehler führen. Wir arbeiten kontinuierlich an Verbesserungen an diesem System. Weiteres finden Sie unter der Überschrift "Besonderheiten".
SQUEEZE 1 unterstützt mehr Komparatoren als SQUEEZE 2. Sollten Sie einen Komparator nutzen, der nicht mehr unterstützt wird, kontaktieren Sie bitte den Support, wenn Sie migrieren möchten.
### Konfiguration An einem Filter können beliebig viele Feldbedingungen definiert werden. Eine Bedingung ist zusammengesetzt aus: - Dem Feld dessen Inhalt geprüft werden soll - Dem Komparator, der zur Prüfung genutzt wird - Dem Vergleichswert (kann von einigen Komparatoren ignoriert werden) #### Besonderheiten Das hier sind bekannte Sonderheiten bei der Konfiguration der Feldbedingungen. Diese werden laufend dokumentiert: ##### **Betragsfelder** - Betragsfelder mit den folgenden Kombinationen aus Tausendertrennzeichen und Dezimaltrenner konfiguriert werden: - 2187,50 - 2187.50 - 2.187,50 - 2,187.50 ### Auswertung Feldbedingungen werden anders als Rollenfilter mit einem **logischen Und** verknüpft ausgewertet. Es müssen also alle Bedingungen erfüllt sein, damit ein Rollenfilter den Zugriff auf ein Dokument gewährt. #### Zusammenspiel mehrerer Rollenfilter Wenn für einen Benutzer mehrere Rollenfilter (mit wiederum diversen Feldbedingungen) ausgewertet werden, dann gilt weiterhin, dass nur einer der Rollenfilter positiv ausgewertet werden muss. **Ein Beispiel:** - Eine Rolle hat zwei Filter. Der erste Filter hat keine Feldbedingungen. Der zweite Filter hat eine Feldbedingung. - Bei der Auswertung dürfen Nutzer alle Dokumente der Dokumentenklasse sehen. #### Zusammenspiel mit vererbten RollenRollenfilter und Feldbedingungen werden aus Performance-Gründen nicht überall in der UI ausgeführt.
#### Auf dem Dashboard 1. Die angezeigte Dokumentensumme in auf den Validierungskacheln berücksichtigt die Rollenfilter **nicht**. 2. Ebenso berücksichtigt die Warteschlange im oberen Bereich die Rollenfilter **nicht**. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233208785.png) #### Dokumentensuche - In der eigentlichen Dokumentensuche (hier ist die Trefferliste zu sehen), werden Rollenfilter berücksichtigt. - Zu erkennen ist das bspw. daran, dass in der Warteschlange 5 Dokumente in der Validierung gezeigt werden, entsprechend der Rollenfilter aber nur 1 Dokument dem Validierer angezeigt werden. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233303943.png) #### Validierung - Wenn ein Dokument direkt in der Validierung angezeigt werden soll, werden Rollenfilter berücksichtigt. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233401253.png) #### Administration - In der Administration werden Rollenfilter i. A. nicht angewandt, um gewährleisten zu können, dass Administratoren technische Probleme wie "liegengebliebene" Dokument sehen und lösen können. [](https://docs.squeeze.one/uploads/images/gallery/2022-12/image-1670233886771.png) ### FAQ ##### Es fehlen Dokumente im Validierungsschritt Bei der Verwendung von **Feldbedingungen** kann es vorkommen, dass diese nicht korrekt konfiguriert wurden. Das äußert sich dann darin, dass scheinbar eine andere Anzahl an Dokumenten im Validierungsschritt dargestellt wird (Vergleiche Timeline (1) und Ergebnisse der Dokumentensuche (2)). Dieses Verhalten tritt auch bei Admins mit der Root-Rolle auf. Das ist kein Softwarefehler, sondern Folge der Konfiguration. I. d. R. tritt das bei Projekten auf, wo viele Rollen mit eigenen Filtern eingesetzt werden. [](https://docs.squeeze.one/uploads/images/gallery/2023-08/image-1692014088720.png) Beispiel-Schaubild **Problem verifizieren**: So ist zu testen, ob die Konfiguration der Rollenfilter das Problem für die scheinbar fehlenden Dokumente sind. Wie im vorherigen Text erklärt, erben die Rollen ihre Rollenfilter und deren Rollenfilter-Feldbedingungen von unten nach oben, gehen Sie wie folgt vor um den Fehler zu ermitteln: 1. Prüfen Sie die Rolle die ihren Nutzer berechtigt und ermitteln Sie welche Rollen die Rolle bereits durch die Vererbung einschließt. 2. Kontrollieren Sie nun jede Rolle und deren Rollenfilter achten Sie auf die Rollenfilter-Feldbedingungen.Eine Rolle die Zugriff auf alle Dokumentenklassen-Dokumente haben soll muss einen Rollenfilter auf die bezogene Dokumentenklasse besitzen.
Ein Beispiel-Fehlerbild: Ein Admin kann weniger Dokumente auffinden, als in der Verarbeitungskette (Punkt 1. Abbildung "Beispiel-Schaubild") angezeigt werden. Es gibt mehrere untergeordnete Rollen, die Rollenfilter-Feldbedingungen auf das Feld "Mandant", bspw. "Mandant = 1000", "Mandant = 2000" usw. haben. - Stellen Sie sicher, dass die Admin-Rolle einen Rollenfilter auf die komplette Dokumentenklasse besitzt. Der Rollenfilter darf keine Feldbedingungen besitzen die den Zugriff einschränken. # Rollen ### Rollen Rollen können genutzt werden, um den Dokumentenzugriff zu verwalten und die Verwendung von Funktionen wie Benutzerverwaltung zu authorisieren. Das zugrundeliegende Authorisierungskonzept ist [RBAC](https://de.wikipedia.org/wiki/Role_Based_Access_Control). [](https://docs.squeeze.one/uploads/images/gallery/2022-04/image-1650962362225.png) ### Konfiguration Es können beliebig viele Rollen angelegt werden. Jede Rolle verfügt über einen Namen und eine Beschreibung. Außerdem muss **jeder** Rolle eine Eltern-Rolle zugeordnet werden. Durch diese Zuordnung entsteht eine Rollenhierarchie, welche bspw. genutzt werden kann, um Organisationsstrukturen abzubilden. [](https://docs.squeeze.one/uploads/images/gallery/2022-04/image-1650962474844.png) ### Benutzerzuordnung & Vererbung Ein Benutzer kann zu beliebig vielen Rollen hinzugefügt werden. **Der zugeordnete Benutzer ist implizit Mitglied aller Sub-Rollen der zugeordneten Rolle.** [](https://docs.squeeze.one/uploads/images/gallery/2022-04/image-1650962572893.png)