OAAP-Hilfe
oaap-docs szenarien/fachliche-rollen-einrichten · geprüft gegen 0.1.203 am 2026-10-18 · Original öffnen

Fachliche Rollen einrichten — aus den Vorlagen einer App

Geprüft gegen Referenz 0.1.203 + Setup (oaap-test, 2026-10-18), mit einem echten Keycloak 26.7.4 und einem Übungspaket, das die sechs Rollenvorlagen des Handball-Vereins trägt. Nicht gemessen: die Anmeldung einer Person mit Gruppe im Browser (oaap-test hat keinen Außennamen) und der Aufruf der App-Seite „Rollen & Rechte“ mit diesen Rollen. Spezifikation: oaap.core.authorization 0.4 §2.11. Platzhalter: <mandant>, <app>.

Grundgedanke: Eine App erklärt im Manifest, welche fachlichen Rollen es gibt („Vorlagen“, z. B. Trainer/in, Hallensprecher/in). Ein Mandant macht daraus Rollen und bündelt sie in Berechtigungspaketen. Personen bekommen ein Paket zugeordnet — von Hand oder, damit niemand daran denken muss, über eine Gruppe im Anmeldedienst: Wer in der Gruppe Verein/Trainer ist, bekommt bei jeder Anmeldung das Paket Trainer/in. Das Einrichten dieser Kette ist je Vorlage dreimal Handarbeit plus eine Gruppe im Anmeldedienst. Dafür gibt es einen Befehl.

1. Voraussetzungen

2. Erst ansehen: der Probelauf

sudo oaap authz setup --tenant <mandant> --app <app> --dry-run

Der Probelauf ändert nichts und nennt je Vorlage, was geschähe:

Zeile sagtheißt
[ready]wird eingerichtet; dahinter, welche Gruppe und woher der Pfad stammt (manifest = Vorschlag der App, tenant = von dir genannt)
[present]ist schon da, wird nicht angefasst
[skipped]braucht eine Entscheidung von dir (Vorlage mit Werten, $value) oder ist abgewählt
[conflict]der Name ist von etwas anderem belegt; nur diese Vorlage wird übergangen

Vorlagen mit Kontext (z. B. „von welcher Mannschaft“) bekommen Rolle und Paket, aber keine Gruppe: eine Gruppe sagt „ist Trainer“, nicht „von Mannschaft mB“. Die Zuordnung je Mannschaft machst du von Hand.

3. Einrichten

sudo oaap authz setup --tenant <mandant> --app <app> --accept-version 26.7.4

Je Vorlage entstehen: die Rolle, ein Berechtigungspaket mit dieser Rolle, die Abbildung Gruppe → Paket und die Gruppe im Anmeldedienst (nur wenn sie fehlt). Die Reihenfolge ist Absicht: zuerst die Gruppen im Anmeldedienst. Scheitert das, ist in OAAP nichts geschrieben.

Wichtige Schalter:

Der Lauf ist wiederholbar: Ein zweiter Aufruf sagt Nothing to do., ruft den Anmeldedienst nicht und schreibt nichts. Scheitert eine Zeile, laufen die anderen weiter; der Lauf endet mit Fehler, und ein Wiederholen macht nur den Rest.

4. Was der Befehl nie tut

5. Häufige Stolperer

6. Im Aufbau-Profil

{"id": "rollen", "type": "authz.setup", "app": "hib"}

Mit den Argumenten only, skip (Komma-getrennte Schlüssel), groups (schluessel=Pfad,schluessel=Pfad) und names (schluessel=Name,schluessel=Name; ein Name enthält kein Komma). Der Schritt gilt als erledigt, wenn der Plan nichts mehr zu tun findet — nicht schon, weil der Befehl ohne Fehler zurückkam. Ein belegter Name hält den Aufbau an (conflict), statt ihn zu überspringen. Er steht nach dem Schritt, der die App installiert.