Zum Inhalt springen

AA_PRINCIPAL_ROLE

Status: Entwurf · Quelle: Spec-Erweiterung RBAC/ACL · Spec-Kandidat: ja

Zweck

Weist eine Rolle einer Identität (AA_APP_USER, AA_SERVICE_ACCOUNT, AA_PRINCIPAL_GROUP) zu. Optional Scope-eingeschränkt (z. B. „editor nur für DDM_ENTITY_TYPE=customer”) und befristet (valid_from/valid_to).

Felder

FeldTypPflichtHinweise
iduuidjaPK
principal_typemdm.principal_typejanur user, AA_SERVICE_ACCOUNT, group
principal_iduuidjaper Trigger gegen aktive Identität validiert
role_iduuidjaFK → AA_ROLE
scopemdm.acl_scopejadefault global
scope_entity_type_iduuidneinPflicht wenn scope='entity_type'
scope_entity_iduuidneinPflicht wenn scope='entity'
scope_relation_type_iduuidneinPflicht wenn scope='relation_type'
valid_fromtimestamptznein
valid_totimestamptzneinexklusiv
metadatajsonbjadefault '{}'
Audit-/Soft-Delete-Felder

Constraints und Trigger

  • principal_role_validity_chk: valid_from <= valid_to.
  • principal_role_principal_kind_chk: principal_type ist eine Identität, keine AA_ROLE.
  • principal_role_scope_consistency_chk: Scope-Felder passen zu scope.
  • trg_principal_role_validate_principal: Existenz aktive Identität.
  • uq_principal_role_active: Eindeutigkeit pro Principal/Rolle/Scope unter aktiven Einträgen.

Vererbung über Gruppen

Wenn ein AA_PRINCIPAL_ROLE-Eintrag mit principal_type='group' existiert, gelten die Permissions der Rolle für alle aktiven Mitglieder der Gruppe (transitiv über AA_PRINCIPAL_GROUP_MEMBER). Materialisiert in mdm.v_principal_role_active.

Verwandte Dokumente