ADR-10: Weiterentwicklung PAP
Fragestellung
Im Berechtigungssystem (BeS) leidet der Policy Administration Point (PAP) unter funktionaler Überladung. Aktuell verwaltet er generelle Policies, Opt-Out-Status und individuelle Rückgabe-Policies monolithisch und eng gekoppelt, was unabhängige Deployments erschwert. Wie soll die Architektur des PAP im Zuge der Umstellung auf REST/FHIR evolutionär weiterentwickelt werden, um die Policy-Verwaltung und -Enforcement für neue FHIR-basierte Anwendungen möglichst flexibel zu gestalten?"
ADR-ID: ADR-001
Datum: 16.06.2026
Autor: ELGA-Architecture-Agent
Status: 🟡 proposed
TLP: 🟠 Amber
Tags: Berechtigungssystem · PAP · REST · FHIR · Microservice
Evolutionäre Aufteilung des Policy Administration Point (PAP) für REST/FHIR
Kontext
Der aktuelle Policy Administration Point (PAP) verwaltet generelle XACML‑Policies, Opt‑Out‑Status und individuelle Rückgabe‑Policies monolithisch und ist eng gekoppelt an die SOAP/WS‑Trust‑Schnittstelle. Dadurch sind unabhängige Deployments und die Anbindung neuer FHIR‑basierter Anwendungen (z. B. eEKP‑FHIR) kaum möglich. Das Berechtigungssystem muss gemäß § 21 GTelG 2012 betrieben werden und sämtliche Aktionen sind im Z‑L‑ARR zu protokollieren (§ 22 GTelG 2012) [Legal: GTelG 2012 | § 21] [Legal: GTelG 2012 | § 22]. Die geplante Umstellung auf REST/FHIR erfordert eine modulare PAP‑Architektur, die die bestehenden SOAP‑Instanzen (WIST, EBP, GDA, Service) weiterhin nutzt, aber über eine standardisierte REST‑Schnittstelle erreichbar ist. Nicht‑funktionale Anforderungen: Skalierbarkeit, unabhängige Deployments, geringe Latenz, Einhaltung von Sicherheits‑ und Protokollierungsanforderungen.
Entscheidung
Der PAP wird evolutionär in vier spezialisierte Service‑Instanzen (PAP WIST, PAP EBP, PAP GDA, PAP Service) eingebunden und über einen neuen Policy Administration Facade (PAF) bereitgestellt, der als REST‑Adapter fungiert. Der PAF nutzt das bestehende Transformation and Mapping Service (TMS) zur Übersetzung von FHIR‑Resources (Consent, Policy) in die vorhandenen WS‑Trust‑Transaktionen und umgekehrt. Jeder Service‑Instanz wird ein eigenes CapabilityStatement zugeordnet, sodass Rollen‑ und Applikations‑basierte Zugriffskontrolle über das EOAS und die ESF erfolgen kann. Die neue Facade wird als Kubernetes‑ready Container bereitgestellt, wodurch unabhängige Deployments, Rolling‑Updates und automatisierte Skalierung möglich sind.
Betroffene Systemkomponenten & Abhängigkeiten
flowchart TD
ConsumerWIST["WIST (Opt‑Out Writer)"] -->|"REST/POST Consent"| PAF["Policy Administration Facade (REST)"
]
ConsumerEBP["EBP (Policy Reader/Writer)"] -->|"REST/GET/POST Policy"| PAF
ConsumerGDA["GDA (Teilnahmestatus) "] -->|"REST/GET Status"| PAF
PAF -->|"SOAP/WS‑Trust"| TMS["Transformation & Mapping Service (Adapter)"
]
TMS --> PAPWIST["PAP WIST Instanz"]
TMS --> PAPEBP["PAP EBP Instanz"]
TMS --> PAPGDA["PAP GDA Instanz"]
TMS --> PAPService["PAP Service Instanz"]
PAPWIST -->|"Policy Repository"| Repo["Policy Repository (XACML)" ]
PAPEBP --> Repo
PAPGDA --> Repo
PAPService --> Repo
Repo -->|"Löschaufträge"| CDM["Content Delete Management" ]
PAPWIST -->|"Audit"| ZLARR["Z‑L‑ARR (Protokoll)" ]
PAPEBP --> ZLARR
PAPGDA --> ZLARR
PAPService --> ZLARR
Verworfene Alternativen
- Beibehaltung des monolithischen SOAP‑PAP – verwirft die Möglichkeit unabhängiger Deployments und erhöht langfristig die Komplexität bei der Integration von FHIR‑Clients. 2. Komplette Neuimplementierung eines reinen REST‑PAP – würde massive Neu‑Entwicklung erfordern, die bestehenden SOAP‑Clients (WIST, EBP, GDA) brechen und ist nicht mit den aktuellen Betriebsverträgen vereinbar. 3. Einführung eines zusätzlichen Microservice ohne TMS‑Adapter – würde doppelte Logik für SOAP‑ und REST‑Übersetzung erzeugen und die Wartungslast erhöhen. Die gewählte Lösung nutzt vorhandene Komponenten (TMS, SOAP‑Instanzen) und minimiert Entwicklungsaufwand.
Konsequenzen
Positive: Ermöglicht unabhängige Deployments und Skalierung der einzelnen PAP‑Instanzen, reduziert Kopplung zwischen SOAP‑ und FHIR‑Clients, nutzt vorhandene Sicherheits‑ und Protokollierungsmechanismen, erleichtert zukünftige Erweiterungen (z. B. neue Consent‑Profile). Negative: Einführung einer zusätzlichen Übersetzungsschicht (TMS) erhöht die Latenz geringfügig und erfordert sorgfältige Synchronisation von Fehlermeldungen. Neutral: Bestehende SOAP‑Clients bleiben unverändert funktionsfähig, da die Adapter‑Schicht transparent ist.
Regulierung & Compliance
Das Berechtigungssystem muss gemäß § 21 GTelG 2012 von den ELGA‑Systempartnern betrieben werden und sämtliche Zugriffsrechte verwalten [Legal: GTelG 2012 | § 21]. Alle Aktionen des PAP sind im Z‑L‑ARR zu protokollieren, wie in § 22 GTelG 2012 gefordert [Legal: GTelG 2012 | § 22]. Die Verarbeitung personenbezogener Daten unterliegt den Vorgaben der DSGVO (Art. 32) und muss durch geeignete technische und organisatorische Maßnahmen (z. B. mTLS, JWT‑Validierung) gesichert sein. Die neue REST‑Schnittstelle muss die bestehenden Sicherheitsanforderungen (WS‑Trust, ATNA‑Protokollierung) beibehalten und die Token‑Validierung über den EOAS sicherstellen, um die Vorgaben der ELGA‑VO 2015 § 20 zu erfüllen [Legal: ELGA-VO 2015 | § 20].
ADR-ID: ADR-001
Datum: 16.06.2026
Autor: ELGA-Architecture-Agent
Status: 🟡 proposed
TLP: 🟠 Amber
Tags: PAP · REST · FHIR · PolicyManagement · Microservices
Evolutionäre Weiterentwicklung des Policy Administration Point (PAP) für REST/FHIR
Kontext
Der aktuelle Policy Administration Point (PAP) verwaltet generelle XACML‑Policies, Opt‑Out‑Status und individuelle Consent‑Policies monolithisch und eng gekoppelt. Diese funktionale Überladung erschwert unabhängige Deployments, verhindert skalierbare Erweiterungen und behindert die Integration neuer FHIR‑basierter Anwendungen. Gleichzeitig muss das PAP weiterhin die bestehenden WS‑Trust‑Schnittstellen, AT‑NA‑Audit‑Protokollierung und State‑ID‑Optimistic‑Locking unterstützen, um die gesetzlichen Vorgaben des ELGA‑Berechtigungssystems zu erfüllen. Nicht‑funktionale Anforderungen umfassen Modularität, Skalierbarkeit, unabhängige Release‑Zyklen, Durchgängigkeit der Audit‑Logs und vollständige Rückwärtskompatibilität zu bestehenden SOAP‑Clients. [Source: bes/aufbau_des_berechtigungssystems.md] [Source: bes/weiterfuehrende_detailbeschreibung.md] [Source: bes/schnittstellen_des_berechtigungssystems.md]
Entscheidung
Der PAP wird in drei fachlich abgegrenzte Microservices aufgeteilt: (1) Generic Policy Service für generelle XACML‑Policies und Teilnahmestatus‑Abfragen, (2) Individual Consent Service für individuelle Consent‑Policies, Signatur‑Dokumente und State‑ID‑Management, (3) Opt‑Out Service für reine Opt‑Out/Opt‑In‑Operationen der WIST. Jeder Service exponiert eine REST‑/FHIR‑Schnittstelle (FHIR Consent‑Ressource, custom Operations für Opt‑Out) und nutzt ein gemeinsames Policy Repository mit klar definierten Schemas. Ein WS‑Trust Adapter wird eingeführt, der die bestehenden SOAP‑Aufrufe (RST/RSTR) an die neuen Services weiterleitet, um Legacy‑Clients unverändert zu bedienen. Deployment erfolgt über Kubernetes mit separaten Helm‑Charts, CI/CD‑Pipelines (ArgoCD) und dedizierten Datenbank‑Instanzen (PostgreSQL) für jede Service‑Domäne. Audit‑Einträge werden weiterhin in Z‑L‑ARR und A‑ARR geschrieben. Diese Architektur ermöglicht unabhängige Skalierung, vereinfachte Wartung und eine schrittweise Migration zu FHIR‑basierten Anwendungen, ohne die bestehenden gesetzlichen und sicherheitstechnischen Verpflichtungen zu verletzen.
Betroffene Systemkomponenten & Abhängigkeiten
flowchart TD
generic["Generic Policy Service"]
individual["Individual Consent Service"]
optout["Opt‑Out Service"]
adapter["WS‑Trust Adapter"]
repo["Policy Repository"]
audit["Audit Log (Z‑L‑ARR / A‑ARR)"]
eBP["EBP"]
wist["WIST"]
gda["GDA"]
ets["ETS"]
cdm["CDM"]
eBP -->|"Read/Write Consent"| individual
wist -->|"Store OptOut/OptIn"| optout
gda -->|"Query Participation Status"| generic
adapter -->|"Legacy WS‑Trust"| generic
adapter -->|"Legacy WS‑Trust"| individual
adapter -->|"Legacy WS‑Trust"| optout
generic -->|"Persist Policies"| repo
individual -->|"Persist Policies & Docs"| repo
optout -->|"Persist Policies"| repo
generic -->|"Log"| audit
individual -->|"Log"| audit
optout -->|"Log"| audit
generic -->|"Delete Orders"| cdm
individual -->|"Delete Orders"| cdm
optout -->|"Delete Orders"| cdm
Verworfene Alternativen
- Monolith‑Erweiterung mit Feature‑Flags – verworfen, weil die enge Kopplung weiterhin unabhängige Deployments verhindert und die Code‑Basis weiter anwächst. 2. Kompletter Ersatz durch externes OPA/OPA‑Lite – verworfen, da die aktuelle XACML‑Policy‑Bibliothek und die verpflichtende WS‑Trust‑Schnittstelle erhalten bleiben müssen; ein vollständiger Austausch würde massive Migrationstests und rechtliche Prüfungen erfordern. 3. Duplizierung des PAP pro Konsument – verworfen, weil dies zu unverhältnismäßigem Wartungsaufwand, Inkonsistenzen im Policy‑Repository und erhöhten Betriebskosten führen würde.
Konsequenzen
Positive: Unabhängige Skalierung und Deployment‑Zyklen für jede Policy‑Domäne; Einfachere Integration neuer FHIR‑Clients über standardisierte Consent‑Ressourcen; Reduzierte Komplexität im Code‑Base; Erhalt der Rückwärtskompatibilität über den WS‑Trust‑Adapter. Negative: Erhöhter Betriebs‑ und Orchestrierungs‑Overhead (Kubernetes, Service‑Discovery, Daten‑Konsistenz); Migrationsaufwand für bestehende Daten und Clients; Notwendigkeit zusätzlicher Monitoring‑ und Logging‑Komponenten. Neutral: Das bestehende Sicherheits‑ und Audit‑Modell (AT‑NA, State‑ID, Optimistic‑Locking) bleibt unverändert, sodass die gesetzlichen Vorgaben weiterhin erfüllt werden.
Regulierung & Compliance
Die Entscheidung berücksichtigt die Betreiberpflichten des Berechtigungssystems gemäß ELGA‑VO § 20, wonach das System von der Bundesrechenzentrum Gesellschaft betrieben werden muss. Die fortlaufende Protokollierung aller Aktionen im PAP entspricht den Vorgaben des GTelG § 22 (Audit‑Log‑Pflicht) und § 28 (Sicherheits‑, Verfügbarkeits‑ und Wartungs‑Logging). Durch die Beibehaltung des WS‑Trust‑Adapters wird die gesetzlich geforderte Unterstützung von SOAP‑basierten Transaktionen gewährleistet, während die neue REST/FHIR‑Schnittstelle die zukünftige Interoperabilität fördert. [Legal: ELGA-VO 2015 | § 20] [Legal: GTelG 2012 | § 22] [Legal: GTelG 2012 | § 28]