Skip to main content

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
note

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-NameBeschreibung
can_read_process_modelErlaubt es Prozessmodelle zu lesen - ⚠️ Wird seit v15.0.0 nicht mehr benötigt
can_write_process_modelErlaubt es Prozessmodelle zu deployen
can_delete_process_modelErlaubt es Prozessmodelle zu löschen
can_access_external_tasksZugriff auf ExternalTasks - Wird i.d.R. nur von External Task Workern benötigt
can_create_anonymous_sessionErlaubt es Anonyme Sessions zu erstellen
can_terminate_processErlaubt das manuelle Abbrechen von eigenen Prozessinstanzen
can_retry_process_instanceErlaubt das manuelle Neustarten von eigenen Prozessinstanzen in einem error oder terminated state
can_subscribe_to_eventsErlaubt es Notifications zu prozess-spezifischen Events zu erhalten (z.B. "UserTask finished")
can_trigger_messagesErlaubt es MessageEvents über die API auszulösen
can_trigger_signalsErlaubt es SignalEvents über die API auszulösen
can_read_cronjob_historyErlaubt es die Ausführungshistorie der deployten Cronjobs zu lesen - ⚠️ Wird seit v15.0.0 nicht mehr benötigt
can_manage_process_instancesErlaubt die uneingeschränkte Nutzung aller Engine Funktionen und aller Prozesse, ungeachtet der Claims die der Nutzer sonst hat
Achtung

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

tip

Benutzer müssen Zugriff auf mindestens eine Lane mit einem Start Event haben, um einen Prozess deployen, ansehen und starten zu können.

Beispiel:

Beschaffung Prozess

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.

info

External Task Worker, die den im Prozess befindlichen Service Task verarbeiten sollen, benötigen aktuell nur den Claim can_access_external_tasks.