Berechtigungskonzept
Um die Engine verwenden zu können, benötigt der Benutzer ein bestimmtes Set an Berechtigungen - auch “Claims” genannt - die in seinem Auth Token vorhanden sein müssen.
Die Engine unterscheidet zwei Arten von Claims:
- Technische Claims
- Fachliche Claims
Root Access Tokens besitzen grundsätzlich uneingeschränktes Zugriffsrecht und sind daher von dem hier erläuterten Konzept ausgenommen.
Technische Claims
Technische Claims werden genutzt um die Verfügbarkeit bestimmter Engine-Features zu steuern.
Die folgenden technischen Claims werden derzeit verwendet:
| Claim-Name | Beschreibung |
|---|---|
| can_write_process_model | Erlaubt es Prozessmodelle zu deployen |
| can_delete_process_model | Erlaubt es Prozessmodelle zu löschen |
| can_access_external_tasks | Zugriff auf ExternalTasks - Wird i.d.R. nur von External Task Workern benötigt |
| can_terminate_process | Erlaubt das manuelle Abbrechen von Prozessinstanzen anderer Benutzer. Das Terminieren eigener Prozessinstanzen ist immer möglich. |
| can_retry_process_instance | Erlaubt das manuelle Neustarten von eigenen Prozessinstanzen in einem error oder terminated state |
| can_subscribe_to_events | Erlaubt es Notifications zu prozess-spezifischen Events zu erhalten (z.B. “UserTask finished”) |
| can_trigger_messages | Erlaubt es Message Events über die API auszulösen |
| can_trigger_signals | Erlaubt es Signal Events über die API auszulösen |
| can_observe_engine | Erlaubt vollständigen lesenden Zugriff, ungeachtet sonstiger vorhandener Claims. |
| can_manage_process_instances | Erlaubt die uneingeschränkte Nutzung aller Engine Funktionen und aller Prozesse, ungeachtet der Claims die der Nutzer sonst hat |
Benutzer mit dem can_observe_engine Claim haben lesenden Zugriff sämtliche Daten, allerdings keinerlei
Schreibrechte. D.h., ein Observer darf sich z.B. alle Prozessinstanzen anschauen, aber keine davon abschließen,
terminieren, löschen, oder neue Instanzen starten.
Dieser Claim ist ab dem 2025.1 Release für Engines >= v19.0.0 und Authorities >= v3.2.0 verfügbar.
Benutzer mit dem can_manage_process_instances Claim können auch die Prozessmodelle, Prozessinstanzen und Flow Node Instanzen anderer Benutzer sehen und verwalten.
Das schließt auch destruktive Operationen mit ein, wie z.B. das Terminieren von Prozessinstanzen.
Daher sollte dieser Claim nur Administratoren vorbehalten sein.
Fachliche Claims
Fachliche Claims werden über die Lanes von Prozessmodellen definiert und steuern, welche Benutzer welche Teile des Prozesses ansteuern können. Der Name der Lane entspricht dabei dem Claim, den der Benutzer besitzen muss, um den entsprechenden Prozessabschnitt sehen zu können
Benutzer müssen Zugriff auf mindestens eine Lane mit einem Start Event haben, um einen Prozess deployen, ansehen und starten zu können.
Beispiel:

Hier startet ein Mitarbeiter einen Bestellvorgang für Büro-Material. Anschließend muss jemand aus der Abteilungsleitung die Bestellung bewilligen.
Zuletzt wird die bewilligte Bestellung an einen externen Service übertragen.
Die Lanes Mitarbeiter und Abteilungsleitung bilden dabei die fachlichen Claims, die während der Ausführung des Prozesses zur Anwendung kommen.
Das Start Event dieses Prozesses befindet sich in der Mitarbeiter Lane.
Entsprechend wird der Mitarbeiter Claim benötigt, um den Prozess starten und den ersten User Task ansteuern zu können.
Der zweite Part des Prozesses befindet sich in der Lane Abteilungsleitung. Entsprechend können nur Benutzer mit dem Claim Abteilungsleitung den hier befindlichen User Task ansteuern.
External Task Worker, die den im Prozess befindlichen Service Task verarbeiten sollen, benötigen aktuell nur den Claim
can_access_external_tasks.