Skip to Content
DocsAuthorityUsername & Password Extension

Username & Password Extension

Die Username & Password Extension (UPE) ist eine integrierte Erweiterung der Authority, die eine vollständige Benutzerverwaltung bietet.

UPE Seeding

Die UPE kann beim Start der Authority mit einem initialen Set an Benutzern, Gruppen und Berechtigungen versehen werden.

Seeding-Datei erstellen

Erstelle eine JSON-Datei mit folgendem Aufbau:

upeSeedingData.json
{ "users": [ { "username": "admin", "password": "admin", "scopes": ["openid", "profile", "email", "engine_read", "engine_observer", "engine_write", "upe_admin"] } ], "groups": [ { "name": "Administratoren", "claimValues": ["can_read_process_model", "can_write_process_model"] } ] }

Seeding-Datei einbinden

Setze in der docker-compose.yml die Umgebungsvariable UPE_SEED_PATH:

docker-compose.yml
authority: image: 5minds/processcube_authority:2024-2 environment: UPE_SEED_PATH: /etc/authority/config/upeSeedingData.json volumes: - ./upeSeedingData.json:/etc/authority/config/upeSeedingData.json

Ohne Seeding-Datei wird ein Benutzer mit den Anmeldedaten admin:admin angelegt.

Administration über die UPE

Die UPE stellt eine Web-Oberfläche zur Verfügung, über die Benutzer, Gruppen, Claims und Scopes verwaltet werden können.

Zugriff auf die UPE

  1. Öffne die Authority im Browser: http://authority:11560
  2. Melde dich mit einem Benutzer an, der den Scope upe_admin besitzt
  3. Du wirst automatisch zur UPE-Verwaltungsoberfläche weitergeleitet

Claims verwalten

Claims definieren, welche Berechtigungen ein Benutzer oder eine Gruppe hat.

Verfügbare Claims:

  • can_read_process_model - Prozessmodelle lesen
  • can_write_process_model - Prozessmodelle schreiben
  • can_delete_process_model - Prozessmodelle löschen
  • can_start_process_instance - Prozessinstanzen starten
  • can_read_user_tasks - UserTasks lesen
  • can_finish_user_tasks - UserTasks bearbeiten
  • und viele weitere…

Scopes verwalten

Scopes fassen mehrere Claims zu logischen Gruppen zusammen.

Standard-Scopes:

  • engine_read - Lesezugriff auf die Engine
  • engine_write - Schreibzugriff auf die Engine
  • engine_observer - Observer-Zugriff auf Events
  • upe_admin - Administratorzugriff auf die UPE

Gruppen verwalten

Gruppen ermöglichen es, Berechtigungen zentral zu verwalten und mehreren Benutzern zuzuweisen.

  1. Erstelle eine neue Gruppe
  2. Weise der Gruppe Claims zu
  3. Füge Benutzer zur Gruppe hinzu
  4. Alle Benutzer in der Gruppe erhalten automatisch die zugewiesenen Claims

Benutzer verwalten

Über die UPE können Benutzer erstellt, bearbeitet und gelöscht werden.

Benutzer erstellen:

  1. Klicke auf “Benutzer hinzufügen”
  2. Gib Username und Passwort ein
  3. Weise Scopes zu
  4. Optional: Füge zu Gruppen hinzu
  5. Speichern

Passwort ändern:

  1. Wähle den Benutzer aus
  2. Klicke auf “Passwort ändern”
  3. Gib das neue Passwort ein
  4. Speichern

Passwörter werden mit bcrypt gehashed. Es ist nicht möglich, Passwörter im Klartext auszulesen.

Best Practices

  • Verwende starke Passwörter für alle Benutzer
  • Nutze Gruppen für wiederkehrende Berechtigungssets
  • Vergib nur die minimal notwendigen Scopes
  • Dokumentiere Custom Claims in deiner Anwendung
  • Regelmäßige Überprüfung der Berechtigungen