AA_ROLE
Status: Entwurf · Quelle: Spec-Erweiterung RBAC/ACL · Spec-Kandidat: ja
Zweck
Benannte Sammlung von Permissions. Wird über AA_PRINCIPAL_ROLE an Identitäten/Gruppen zugewiesen und über AA_ROLE_PERMISSION mit konkreten Permissions verknüpft.
Felder
| Feld | Typ | Pflicht | Hinweise |
|---|---|---|---|
id | uuid | ja | PK |
tenant_id | uuid | ja | FK → AA_TENANT. Rollen sind tenant-scoped — kein globaler Rollen-Pool |
key | text | ja | Format ^[a-z][a-z0-9_]*$, eindeutig je Tenant (UNIQUE(tenant_id, key)) |
name | text | ja | |
description | text | nein | |
is_system | boolean | ja | default false. System-Rollen aus dem Default-Set sind unveränderlich |
is_active | boolean | ja | default true |
metadata | jsonb | ja | default '{}' |
| Audit-/Soft-Delete-Felder | – | – |
Default-Set (globaler Template-Katalog)
Das Default-Set lebt als Template in Migration/Seed-Code, nicht als globale Rollen-Zeilen. Beim Anlegen eines neuen AA_TENANT instanziiert mdm.fn_provision_tenant_defaults(tenant_id) das Set einmalig in den neuen Tenant — jeder Tenant erhält danach seine eigene, voll editierbare Kopie (System-Rollen bleiben durch is_system=true schreibgeschützt).
| Default-Rolle | Zweck (Kurz) |
|---|---|
administrator | volle Konfiguration im Tenant inkl. manage_permissions, hard_delete |
owner | Tenant-Owner — alle fachlichen Rechte im Tenant, aber keine Plattform-Admin-Rechte |
steward | Datenpflege: Match/Merge, DQ, Approval-Workflows (Vorbereitung OP-29/OP-35) |
metadata_admin | Pflege DDM_ENTITY_TYPE, DDM_ENTITY_TYPE_ATTRIBUTE, DDM_RELATION_TYPE, DDM_ENUM_SET |
editor | read, create, update, archive, relate, unrelate auf zugewiesenen Entitätstypen |
reader | read auf zugewiesenen Entitätstypen |
auditor | read_audit auf AA_AUDIT_LOG und DDM_ENTITY_VERSION |
exporter | export (Massen-/Bulk-Export, FR-103) |
Konkrete Permission-Bündel je Rolle siehe Autorisierung.
Hinweise
- Service muss
is_system=true-Rollen vor Schreibzugriff schützen (Permissions-Set ändert sich nur per Migration / Default-Set-Update). - Tenant-eigene, nicht-System-Rollen können frei angelegt, umbenannt und gelöscht werden.
- Soft-delete einer Rolle entfernt sie nicht aus
AA_PRINCIPAL_ROLE-Historie;mdm.v_principal_role_activefiltert nicht-aktive Rollen aus. - Default-Set-Updates (neue Default-Rolle hinzukommt) werden per Migration in alle bestehenden Tenants gespiegelt — Tenant-Customizings (
is_system=false) bleiben unangetastet.