Rollen und Berechtigungen
Status: Entwurf
Sechs initiale Rollen (Quelle: projektmike/output/gettingtoyes/zielarchitektur.md). Rollen sind kombinierbar.
Rollen-Matrix
| Rolle | Hauptaufgabe | Wer ist das typisch? |
|---|---|---|
| Admin | User-/Rollen-Verwaltung, Instanz-Konfiguration, Hard-Delete | IT / Plattform-Verantwortlicher |
| Modellierer | Berechnungsmodelle pflegen | Controlling, Wirtschaftsanalytik |
| Stammdatenpfleger | Stammdaten pflegen | Tochter-spezifisch je Datenhoheit |
| Analyst | Cases bearbeiten, Szenarien, Reports | Mandats-Vertrieb, Asset-Management |
| Management | Cases freigeben, Dashboards | Geschäftsleitung Holding und Töchter |
| Auditor | Lesezugriff über Zeitachse | interne Revision, externe Prüfung |
Permissions-Matrix (vereinfacht)
| Aktion | Admin | Modellierer | Pfleger | Analyst | Mgmt | Auditor |
|---|---|---|---|---|---|---|
read Stammdaten | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
create/update Stammdaten | ✓ | ─ | ✓ | ─ | ─ | ─ |
archive/restore Stammdaten | ✓ | ─ | ✓ | ─ | ─ | ─ |
read Modelle | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
create/update Modelle | ✓ | ✓ | ─ | ─ | ─ | ─ |
release Modell (approve) | ✓ | ─ | ─ | ─ | ✓ | ─ |
read Cases | ✓ | ✓ | ─ | ✓ (eigene + zugewiesene) | ✓ | ✓ |
create/update Cases | ✓ | ─ | ─ | ✓ | ─ | ─ |
release Case (approve) | ✓ | ─ | ─ | ─ | ✓ | ─ |
read_audit | ✓ | ─ | ─ | ─ | ─ | ✓ |
manage_metadata (entity_type, attribute) | ✓ | ✓ (eingeschränkt) | ─ | ─ | ─ | ─ |
manage_permissions | ✓ | ─ | ─ | ─ | ─ | ─ |
hard_delete | ✓ | ─ | ─ | ─ | ─ | ─ |
export (Bulk) | ✓ | ─ | ─ | ✓ | ✓ | ─ |
Spezialisierungen via ACL
Über die generelle Rolle hinaus erlauben ACL-Einträge feingranulare Überschreibungen:
- Eigene vs. fremde Cases —
analystdarf nur eigene Cases ändern. ACLacl_scope=entitymiteffect=allowfürupdateaufcase:<id>fürowner=$user. - Sichtbarkeit Tochter-internem — Mitarbeiter Tochter A sieht keine Marge der Tochter B. ACL
acl_scope=entity_typemitattribute_key=margeundprincipal_group=tochter_a. - Holding-Sicht-Privileg — Holding-Aggregat nur für Holding-Mgmt sichtbar. ACL
acl_scope=entityaufholding_case-Records. - Tenant-Scope (V2+) — wenn mehrere Holdings in einer Instanz: ACL
acl_scope=tenant.
(Mechanik in docs/spec/70-security/02-authorization.md.)
Mapping zu Spec-Rollen
Die Spec definiert System-Rollen (docs/spec/70-security/02-authorization.md):
| Fachrolle | Spec-Rolle |
|---|---|
| Admin | administrator |
| Modellierer | metadata_admin + Custom-Rolle model_editor |
| Stammdatenpfleger | editor (auf Stammdaten-Entitätstypen) |
| Analyst | editor (auf case) + reader (auf Stammdaten) |
| Management | Custom-Rolle case_approver + reader (Holding-weit) |
| Auditor | auditor |
Detail in ../70-mapping-to-spec/04-rbac-mapping.md.
Verwandte Dokumente
02-views-per-role.md— welche Sicht je Rolledocs/spec/70-security/02-authorization.md— RBAC + ACL Mechanik