HvO-Connect organisiert Benutzer und Berechtigungen über Gruppen, Rollen und Berechtigungen.
Zusätzlich gibt es Systemrollen, die unabhängig von einer einzelnen Gruppe systemweit gültig sind.
Das Berechtigungssystem besteht aus vier Ebenen:
Gruppe → Rolle → Benutzer → Berechtigungen
Eine Gruppe kann mehrere Rollen enthalten. Einer Rolle können mehrere Benutzer zugewiesen werden. Die Berechtigungen werden an der Rolle festgelegt und gelten für alle Benutzer, die dieser Rolle zugewiesen sind.
Zusätzlich gibt es Systemrollen. Diese funktionieren grundsätzlich wie Gruppenrollen, sind jedoch nicht an eine bestimmte Gruppe gebunden und können systemweit gültige Berechtigungen erhalten.
Gruppen bilden die organisatorische Struktur innerhalb von HvO-Connect ab.
Eine Gruppe kann beispielsweise einen Ortsverein, eine Bereitschaft oder einen anderen Bereich einer Organisation darstellen.
Gruppen können hierarchisch aufgebaut werden. Dadurch können übergeordnete Gruppen und Untergruppen abgebildet werden.
Die Hierarchie kann beispielsweise so aussehen:
Organisation X
├── Ortsverein A
│ ├── HvO
│ └── Sanitätsdienst
└── Ortsverein B
└── HvO
Berechtigungen können sich dabei auf die eigene Gruppe oder – abhängig von der Berechtigung – auch auf Untergruppen beziehen.
Jede Gruppe kann mehrere Rollen enthalten.
Eine Rolle definiert, welche Berechtigungen ein Benutzer innerhalb dieser Gruppe besitzt.
Beispielsweise können folgende Rollen angelegt werden:
Die Namen der Rollen können frei gewählt werden.
Ein Benutzer kann mehreren Rollen zugewiesen werden. Die Berechtigungen der zugewiesenen Rollen werden dabei zusammengeführt.
Systemrollen sind Rollen, die nicht an eine bestimmte Gruppe gebunden sind.
Sie werden verwendet, wenn ein Benutzer systemweit auf bestimmte Funktionen zugreifen können soll.
Systemrollen funktionieren ähnlich wie Gruppenrollen:
Systemrollen eignen sich insbesondere für Funktionen, die über mehrere Gruppen hinweg benötigt werden. Die Systemrolle default_applicationRole stellt hierbei eine Besonderheit dar, dieser sind alle Nutzer automatisch zugeordnet.
Berechtigungen legen fest, welche Funktionen ein Benutzer ausführen darf.
Berechtigungen werden einer Rolle zugewiesen. Dabei wird zwischen Berechtigungen für Gruppen und systemweiten Berechtigungen unterschieden.
Jede Berechtigung verfügt über eine Beschreibung, die erklärt, welche Funktion dadurch freigeschaltet wird.
Einige Berechtigungen ermöglichen den Zugriff auf Daten oder Funktionen von Untergruppen.
Beispielsweise erlaubt read_child_group_protocols das Lesen von Protokollen aller Untergruppen.
Dadurch kann eine übergeordnete Gruppe beispielsweise die Aktivitäten ihrer untergeordneten Gruppen einsehen, ohne dass die Benutzer direkt Mitglied dieser Gruppen sein müssen.
| Berechtigung | Beschreibung | Gültigkeitsbereich |
|---|---|---|
read_protocols |
Erlaubt das Lesen von Protokollen. | Gruppe / System |
write_protocols |
Erlaubt die Bearbeitung und Erstellung von Protokollen. | Gruppe / System |
read_group_protocols |
Erlaubt das Lesen von Protokollen von Gruppenmitgliedern. | Gruppe / System |
write_group_protocols |
Erlaubt das Bearbeiten von Protokollen von Gruppenmitgliedern. | Gruppe / System |
read_child_group_protocols |
Erlaubt das Lesen von Protokollen aller Untergruppen. | Gruppe / System |
manage_protocols |
Erlaubt den Zugriff auf das Approval-System. | Gruppe / System |
manage_child_group_protocols |
Erlaubt den Zugriff auf das Approval-System für Untergruppen. | Gruppe / System |
download_own_protocols |
Erlaubt das Herunterladen eigens ausgefüllter Protokolle. | Gruppe |
write_templates |
Erlaubt die Bearbeitung und Erstellung von Protokollvorlagen. | Gruppe / System |
read_templates |
Erlaubt das Auslesen von Protokollvorlagen. Diese Berechtigung ist für jeden Benutzer erforderlich. | Gruppe / System |
manage_templates |
Erlaubt das Löschen von Protokollvorlagen. | Gruppe / System |
delete_role |
Erlaubt das Löschen von Rollen einer Gruppe. | Gruppe / System |
create_role |
Erlaubt das Erstellen von Rollen und das Zuweisen von Berechtigungen. | Gruppe / System |
manage_group |
Erlaubt allgemeine Änderungen an einer Gruppe, z. B. das Hinzufügen oder Entfernen von Mitgliedern. | Gruppe / System |
delete_group |
Erlaubt das Archivieren von Gruppen. | Gruppe / System |
create_group |
Erlaubt das Erstellen von Gruppen. | Gruppe / System |
read_statistics |
Erlaubt das Einsehen von Statistiken. | Gruppe / System |
edit_hierarchy |
Erlaubt das Anlegen und Bearbeiten von Untergruppen. Erlaubt ebenfalls in kombination mit bspw. read_statistics oder manage_vehicles das auslesen der Statistiken einer Untergruppe. | Gruppe / System |
manage_vehicles |
Erlaubt das Anlegen, Bearbeiten und Archivieren von Fahrzeugen einer Gruppe. | Gruppe / System |
system:export |
Erlaubt den verschlüsselten Export und Import von Systemdaten. | System |
Benutzer werden nicht direkt mit einzelnen Berechtigungen versehen. Stattdessen werden sie einer Rolle zugewiesen.
Die Benutzer erhalten anschließend die Berechtigungen der jeweiligen Rolle.
Tipp: Erstellen Sie Rollen nach den tatsächlichen Aufgaben und Verantwortlichkeiten Ihrer Organisation. So müssen Berechtigungen nicht für jeden Benutzer einzeln gepflegt werden.