1. Übersicht & Architektur

Das IAM/PAM Add-on ist eine eigenentwickelte Applikation, die alle Funktionen für Identity Lifecycle Management, Access Governance und Privileged Access Management in einer einzigen Lösung vereint. Es ersetzt CyberArk (PAM) und Azure PIM durch eine vollständig kontrollierbare, On-Premises-fähige Alternative.

AspektBeschreibung
TypEigenständiges Add-on (unabhängig deploybar)
ErsetztCyberArk Privileged Access Manager, Azure PIM
DeploymentKubernetes (RKE2) auf VMware vSphere, On-Premises
IntegrationREST API + RabbitMQ Event-Bus zum Self-Help Portal
BackendNest.js (TypeScript, Microservices)
FrontendReact 19 + TypeScript + Tailwind CSS + Shadcn/UI
DatenbankPostgreSQL (Patroni HA)
Secret StoreHashiCorp Vault (HA-Cluster, 3 Nodes)
IdentitätsquelleOn-Prem Active Directory (primär), Entra ID (Hybrid Sync)

1.1 High-Level Architektur

IAM/PAM Add-on Architektur
  ┌─────────────────────────────────────────────────────────────────┐
  │                  IAM/PAM ADD-ON ARCHITEKTUR                      │
  │                                                                  │
  │  ┌─── Self-Help Service Portal ──────────────────────────────┐   │
  │  │                                                            │   │
  │  │  Portal Frontend  ◄── REST API ──►  IAM/PAM Frontend      │   │
  │  │  (React SPA)         (HTTPS)        (React SPA)           │   │
  │  └────────┬──────────────────────────────────┬───────────────┘   │
  │           │                                  │                   │
  │           ▼                                  ▼                   │
  │  ┌────────────────┐               ┌─────────────────────┐       │
  │  │ Portal Backend │◄─ RabbitMQ ─► │ IAM/PAM Backend     │       │
  │  │ (Nest.js)       │   Events      │ (Nest.js)            │       │
  │  └────────────────┘               │                     │       │
  │                                   │  ┌───────────────┐  │       │
  │                                   │  │ Identity      │  │       │
  │                                   │  │ Lifecycle Svc │  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ Access        │  │       │
  │                                   │  │ Request Svc   │  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ Approval      │  │       │
  │                                   │  │ Workflow Svc  │  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ PAM Vault Svc │  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ Session       │  │       │
  │                                   │  │ Recording Svc │  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ JIT Access Svc│  │       │
  │                                   │  ├───────────────┤  │       │
  │                                   │  │ Review &      │  │       │
  │                                   │  │ Recert. Svc   │  │       │
  │                                   │  └───────────────┘  │       │
  │                                   └──────────┬──────────┘       │
  │                                              │                   │
  │  ┌───────────────────────────────────────────┘                   │
  │  │                                                               │
  │  ▼                                                               │
  │  ┌──────────────────────────────────────────────────────────┐    │
  │  │                    DATA LAYER                              │    │
  │  │                                                           │    │
  │  │  ┌──────────┐  ┌──────────────┐  ┌───────────────────┐   │    │
  │  │  │PostgreSQL│  │ HashiCorp    │  │ On-Prem Active    │   │    │
  │  │  │(Patroni  │  │ Vault        │  │ Directory (LDAPS) │   │    │
  │  │  │ HA, 3x)  │  │ (HA, 3x)    │  │ + Entra ID        │   │    │
  │  │  │          │  │              │  │                   │   │    │
  │  │  │ Policies │  │ Credentials  │  │ Identitäten      │   │    │
  │  │  │ Requests │  │ Secrets      │  │ Gruppen           │   │    │
  │  │  │ Audit    │  │ Encryption   │  │ GPOs              │   │    │
  │  │  └──────────┘  └──────────────┘  └───────────────────┘   │    │
  │  │                                                           │    │
  │  │  ┌──────────┐  ┌──────────────┐  ┌───────────────────┐   │    │
  │  │  │ MinIO    │  │ Redis        │  │ Elasticsearch     │   │    │
  │  │  │ (Session │  │ (Cache,      │  │ (Audit-Logs,      │   │    │
  │  │  │  Record.)│  │  Sitzungen)  │  │  Volltext-Suche)  │   │    │
  │  │  └──────────┘  └──────────────┘  └───────────────────┘   │    │
  │  └──────────────────────────────────────────────────────────┘    │
  └─────────────────────────────────────────────────────────────────┘

1.2 Tech-Stack Detailübersicht

SchichtTechnologieEinsatzzweck
FrontendReact 19, TypeScript 5.x, Tailwind CSS 4.x, Shadcn/UIAdmin-Oberfläche, Self-Service Portal
BFFNext.js 15 (Backend for Frontend)Server-Side Rendering, API-Aggregation
BackendNest.js, TypeScriptMicroservices (CQRS + NestJS Modules)
APIREST (OpenAPI 3.1) + gRPC (intern)Service-Kommunikation
Message BusRabbitMQAsynchrone Events, Portal-Integration
DatenbankPostgreSQL 17 (Patroni HA, 3 Nodes)Policies, Requests, Audit, Reviews
Secret StoreHashiCorp Vault (HA, 3 Nodes)Credentials, Encryption Keys, Secrets
CacheRedis Sentinel (3 Nodes)Sessions, temporäre Tokens, Rate Limiting
Object StorageMinIO (S3-kompatibel)Session-Recordings, Export-Dateien
SuchmaschineElasticsearch 8.xAudit-Log-Suche, Compliance-Reports
IdentityOn-Prem AD (LDAPS), Entra ID (Hybrid Sync)Primäre Identitätsquelle
M365Microsoft Graph APILizenzierung, Gruppenverwaltung, Teams
portal.hafs.de/iam/dashboard
IAM Dashboard System Healthy TS
847
Aktive Benutzer
12
Offene Anfragen
94%
Identity Health Score
3
Orphaned Accounts
Identity Health
94
MFA Coverage: 99,6%
Stale Permissions: 3,2%
SoD Violations: 0
Orphaned Accounts: 3
Offene Zugriffsanfragen
M. Becker SAP FI Admin MEDIUM
L. Richter SharePoint Vorstand HIGH
K. Weber Teams Projekt Alpha LOW
S. Hoffmann VPN Remote Access LOW
Compliance Status – Quartalübersicht
Access Reviews
92%
MFA Coverage
99,6%
PW Rotation
100%
JIT Compliance
97%
Session Recording
100%
IAM Dashboard – Zentrale Übersicht über Identity Health, offene Anfragen und Compliance-Status

2. Identity Lifecycle Management (Joiner / Mover / Leaver)

Das Identity Lifecycle Management automatisiert den gesamten Lebenszyklus einer Identität – vom Eintritt (Joiner) über Abteilungswechsel (Mover) bis zum Austritt (Leaver). HR-Events aus dem HR-System triggern automatisch die entsprechenden Workflows.

Identity Lifecycle Management
  HR-SYSTEM                IAM/PAM ADD-ON              ZIELSYSTEME

  ┌──────────┐        ┌──────────────────┐        ┌──────────────┐
  │ HR-Event │        │ Event Processor  │        │ On-Prem AD   │
  │ Webhook  │──────► │                  │──────► │ (Account,    │
  │          │  JSON  │ • Validierung    │ LDAPS  │  Gruppen,    │
  └──────────┘        │ • Regelwerk      │        │  OUs)        │
                      │ • Template       │        └──────────────┘
  Events:             │   Matching       │
  • NEW_HIRE          │ • Provisioning   │        ┌──────────────┐
  • DEPARTMENT_CHANGE │   Orchestration  │        │ Entra ID     │
  • ROLE_CHANGE       │                  │──────► │ (Sync via    │
  • TERMINATION       └──────────────────┘ Graph  │  AD Connect) │
  • CONTRACT_END                          API     └──────────────┘
  • LEAVE_OF_ABSENCE
                                                  ┌──────────────┐
                                          ──────► │ M365         │
                                           Graph  │ (Lizenzen,   │
                                           API    │  Exchange,   │
                                                  │  Teams)      │
                                                  └──────────────┘

2.1 Joiner-Prozess (Onboarding)

Joiner-Workflow
  HR-Event: NEW_HIRE
         │
         ▼
  ┌──────────────────┐
  │ Webhook empfangen│──► Payload: Name, Abteilung, Standort,
  │                  │    Rolle/Titel, Startdatum, Vorgesetzter
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Template Matching│──► Role Template: "Finance_Standard"
  │ Abteilung +      │    → AD-Gruppen: GRP_Finance, GRP_SAP_User
  │ Rolle → Template │    → M365-Lizenz: E3
  └──────┬───────────┘    → SharePoint: Finance-Team-Site
         │
         ▼
  ┌──────────────────┐
  │ Account erstellen│──► 1. AD-Account (On-Prem, LDAPS)
  │                  │    2. Initiales PW → HashiCorp Vault
  │                  │    3. AD-Gruppen zuweisen
  │                  │    4. Entra Sync (Azure AD Connect)
  │                  │    5. M365-Lizenz (Graph API)
  │                  │    6. Exchange Postfach
  │                  │    7. Teams-Mitgliedschaft
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Benachrichtigung │──► Manager: Teams + E-Mail
  │                  │    IT-Helpdesk: Ticket für Hardware
  │                  │    Neuer MA: Willkommens-E-Mail
  └──────────────────┘

2.2 Mover-Prozess (Abteilungswechsel)

SchrittAktionDetails
1HR-Event empfangenDEPARTMENT_CHANGE oder ROLE_CHANGE
2Altes Template ermittelnBisherige Gruppen und Berechtigungen
3Neues Template ermittelnZielgruppen und Berechtigungen
4Delta berechnenZu entfernende und hinzuzufügende Berechtigungen
5Alte Berechtigungen entziehenAD-Gruppen, SharePoint, Teams entfernen
6Neue Berechtigungen erteilenAD-Gruppen, SharePoint, Teams hinzufügen
7M365-Lizenz anpassenFalls Lizenz-Typ sich ändert
8Manager-OU aktualisierenNeuen Vorgesetzten im AD setzen
9Audit-Log schreibenAlle Änderungen dokumentiert
10BenachrichtigungenAlter + neuer Manager, Mitarbeiter

2.3 Leaver-Prozess (Offboarding)

Leaver-Workflow (Offboarding)
  HR-Event: TERMINATION / CONTRACT_END
         │
         ▼
  ┌──────────────────┐
  │ Sofort-Aktionen  │──► AD-Account deaktivieren
  │ (Austrittstag)   │    Alle Gruppen entfernen
  │                  │    M365-Lizenzen entziehen (Graph API)
  │                  │    PAM-Sessions beenden
  │                  │    VPN-Zugang sperren
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Daten-Sicherung  │──► OneDrive → Manager übertragen
  │ (Tag 1–7)        │    E-Mail-Archiv → Shared Mailbox
  │                  │    Teams-Daten → Eigentümer-Übertragung
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Endgültige       │──► AD-Account löschen (nach 30 Tagen)
  │ Bereinigung      │    Entra ID Sync: automatische Bereinigung
  │ (Tag 30)         │    Vault Secrets: persönliche Secrets löschen
  │                  │    Audit-Logs: 7 Jahre aufbewahren
  └──────────────────┘

2.4 Role Templates

TemplateAbteilungAD-GruppenM365Teams
Finance_StandardFinanceGRP_Finance, GRP_SAP_UserE3T-Finance
Finance_ManagerFinanceGRP_Finance, GRP_SAP_Admin, GRP_ManagersE5T-Finance, T-Mgmt
IT_StandardITGRP_IT, GRP_ServiceDeskE3T-IT-Ops
IT_AdminITGRP_IT, GRP_Admins, GRP_PAM_UsersE5T-IT-Ops, T-IT-Admin
HR_StandardHRGRP_HR, GRP_PersonioE3T-HR
Compliance_StdComplianceGRP_Compliance, GRP_AuditE5T-Compliance

3. Self-Service Access Requests

Mitarbeiter können über das Self-Service Portal eigenständig Berechtigungsanfragen stellen. Die AI unterstützt bei der Risikobewertung und der Identifikation von Segregation-of-Duties-Konflikten.

Access Request Portal
  ┌─── Neue Berechtigungsanfrage ──────────────────────────────┐
  │                                                             │
  │  Antragsteller: max.mustermann@hafs.de                     │
  │  Abteilung:     Finance                                    │
  │                                                             │
  │  Gesuchte Berechtigung:                                    │
  │  ┌──────────────────────────────────────────────────────┐  │
  │  │ [x] SAP FI – Buchungskreis 1000 (Zugriff Lesen)     │  │
  │  │ [ ] SAP FI – Buchungskreis 1000 (Zugriff Schreiben) │  │
  │  │ [ ] SharePoint: Vorstandsberichte                    │  │
  │  │ [ ] Teams: Projekt Alpha                             │  │
  │  └──────────────────────────────────────────────────────┘  │
  │                                                             │
  │  Begründung:        [Für Quartalsabschluss Q1/2026]       │
  │  Gewünschte Dauer:  [Permanent ▼] / [Temporär: __ Tage]   │
  │                                                             │
  │  ┌─── AI Risk Assessment ──────────────────────────────┐   │
  │  │  Risk Score:    LOW (12/100)                         │   │
  │  │  SoD-Check:     Keine Konflikte erkannt              │   │
  │  │  Empfehlung:    Auto-Approve möglich                │   │
  │  │  Ähnliche:      85% der Finance-Analysten haben     │   │
  │  │                 diese Berechtigung                    │   │
  │  └──────────────────────────────────────────────────────┘   │
  │                                                             │
  │  [Anfrage absenden]                                        │
  └─────────────────────────────────────────────────────────────┘

3.1 AI-gestütztes Risk Scoring

FaktorGewichtungBeschreibung
Ressourcen-Sensitivität30%Klassifizierung des Zielsystems (Public → Critical)
Berechtigungslevel25%Read-Only vs. Write vs. Admin
SoD-Nähe20%Nähe zu bekannten SoD-Konstellationen
Peer-Vergleich10%Haben ähnliche Rollen diese Berechtigung?
Historisches Verhalten10%Früheres Antragsverhalten des Users
Temporär vs. Permanent5%Temporäre Anfragen erhalten niedrigeren Score
Risk Score Berechnung
  ┌─── Input ──────────────────────────────────────────────┐
  │ User-Profil + Angeforderte Berechtigung + Kontext      │
  └──────────┬─────────────────────────────────────────────┘
             │
             ▼
  ┌──────────────────────┐
  │ AI Risk Engine       │
  │ (Nest.js Service)     │
  │                      │
  │ 1. SoD-Matrix prüfen│──► Conflict? → Risk +40
  │ 2. Peer-Analyse      │──► Ungewöhnlich? → Risk +15
  │ 3. Ressource bewerten│──► Critical? → Risk +30
  │ 4. Zeitraum bewerten │──► Permanent+Sensitive? → Risk +10
  │ 5. Historie prüfen  │──► Anomalie? → Risk +20
  └──────────┬───────────┘
             │
             ▼
  ┌──────────────────────┐
  │ Score: 0–100         │
  │                      │
  │  0–25:   LOW         │──► Auto-Approve möglich
  │ 26–50:   MEDIUM      │──► Manager-Genehmigung
  │ 51–75:   HIGH        │──► Manager + Data Owner + Security
  │ 76–100:  CRITICAL    │──► + CISO-Genehmigung
  └──────────────────────┘

3.2 Segregation of Duties (SoD) Prüfung

SoD-RegelKonflikt-KombinationRisiko
Finance-SoD-001Buchung erstellen + Buchung freigebenCRITICAL
Finance-SoD-002Zahlungslauf erstellen + Zahlungslauf freigebenCRITICAL
IT-SoD-001Entwicklung + Produktion-DeploymentHIGH
IT-SoD-002User-Administration + Audit-Log-ZugriffHIGH
HR-SoD-001Gehaltsänderung + GehaltsfreigabeCRITICAL
Procurement-SoD-001Bestellung erstellen + Bestellung genehmigenHIGH
portal.hafs.de/iam/access-request/new
Neue Zugriffsanfrage Entwurf MB
Zugriffsanfrage erstellen
Max Becker (Finance – Analyst) · max.becker@hafs.de
SAP FI – Buchungskreis 1000 ▾
Lesen Schreiben Admin
Benötige Schreibzugriff auf SAP FI Buchungskreis 1000 für den Quartalsabschluss Q1/2026. Buchungen müssen bis 31.03. erfasst werden.
Permanent Temporär
30 Tage
Anfrage absenden Entwurf speichern
★ AI Risk Assessment
42
MEDIUM Risk
Manager-Genehmigung erforderlich
SoD-Check: Kein Konflikt erkannt
! Schreibzugriff erhöht Risk Score
i 67% der Finance-Analysten haben Lesezugriff
i 23% haben Schreibzugriff
Ähnliche Anfragen
L. Richter – SAP FI Write – Genehmigt
K. Weber – SAP FI Read – Auto-Approved
S. Braun – SAP FI Admin – Abgelehnt
Genehmigungskette
Antragsteller: Max Becker
Manager: Dr. Petra Fischer
Resource Owner: SAP-Team
Self-Service Zugriffsanfrage mit AI Risk Assessment und Peer-Analyse

4. Approval Workflows

Approval Workflow Engine
  Access Request
         │
         ▼
  ┌──────────────────┐
  │ Risk Score        │
  │ ermitteln         │
  └──────┬────────────┘
         │
    ┌────┼──────────────┬────────────────────┬──────────────────┐
    │    │              │                    │                  │
    ▼    ▼              ▼                    ▼                  ▼
  LOW   MEDIUM         HIGH               CRITICAL
  (0–25) (26–50)        (51–75)            (76–100)
    │    │              │                    │
    ▼    ▼              ▼                    ▼
  Auto   Manager       Manager             Manager
  Approve Approval     Approval            Approval
  (sofort) │           + Data Owner        + Data Owner
    │    │             Approval            Approval
    │    │              │                  + Security Team
    │    │              │                  + CISO Approval
    │    │              │                    │
    └────┴──────────────┴────────────────────┘
                        │
                        ▼
                ┌──────────────────┐
                │ Provisionierung  │
                │ ausführen       │
                └──────────────────┘

4.1 Approval-Konfiguration

Risk LevelGenehmigerTimeoutEskalation
LOW (0–25)Automatisch (Policy-basiert)SofortKeine
MEDIUM (26–50)Direkter Vorgesetzter48hNächste Führungsebene
HIGH (51–75)Vorgesetzter + Data Owner + Security Team24hCISO
CRITICAL (76–100)Vorgesetzter + Data Owner + Security Team + CISO12hCIO

4.2 Delegation & Stellvertretung

FeatureBeschreibung
Delegations-RegelnManager können Genehmigungsrechte an Stellvertreter delegieren
Zeitbasierte DelegationDelegation gilt nur für definierten Zeitraum (z.B. Urlaub)
Eskalation bei TimeoutNicht bearbeitete Genehmigungen eskalieren automatisch
Gruppen-ApprovalJedes Mitglied einer Genehmiger-Gruppe kann genehmigen
Vier-Augen-PrinzipBei CRITICAL: Mindestens 2 verschiedene Personen müssen genehmigen

4.3 Teams-Integration für Genehmigungen

Teams Approval Notification (Adaptive Card)
  ┌─── Microsoft Teams – Adaptive Card ─────────────────────────┐
  │                                                              │
  │  Neue Genehmigungsanfrage                                   │
  │  ──────────────────────────                                 │
  │                                                              │
  │  Antragsteller: Max Mustermann (Finance)                    │
  │  Berechtigung:  SAP FI – Buchungskreis 1000 (Lesen)         │
  │  Risk Score:    MEDIUM (34/100)                              │
  │  SoD-Check:     Keine Konflikte                              │
  │  Begründung:    Quartalsabschluss Q1/2026                   │
  │                                                              │
  │  AI-Empfehlung: Genehmigung empfohlen                       │
  │  (85% der Finance-Analysten haben diese Berechtigung)       │
  │                                                              │
  │  [Genehmigen]  [Ablehnen]  [Mehr Details]                  │
  │                                                              │
  │  Timeout: 48h (Eskalation an Bereichsleiter)                │
  └──────────────────────────────────────────────────────────────┘

4.4 Auto-Approve Regeln

Regel-IDBedingungAktion
AUTO-001Risk Score < 25 UND Peer-Match > 80%Automatisch genehmigen
AUTO-002Temporär (< 24h) UND Read-OnlyAutomatisch genehmigen
AUTO-003Erneuerung einer bestehenden BerechtigungAutomatisch genehmigen
AUTO-004Manager-Anfrage für eigenes Team (LOW Risk)Automatisch genehmigen
AUTO-005Standard-Template-Berechtigung bei JoinerAutomatisch genehmigen
portal.hafs.de/iam/approvals
Genehmigungen 5 ausstehend PF
Workflow-Visualisierung
✓ Antragsteller ● Manager Resource Owner Security Team
Alle (5) Low Risk (1) Medium (2) High (1) Critical (1)
AntragstellerRessourceZugriffRisikoSoDEingereichtAktionen
MB Max Becker SAP FI BK 1000 Schreiben MEDIUM (42) OK vor 2h Genehmigen Ablehnen
LR Laura Richter SharePoint Vorstand Lesen HIGH (68) OK vor 4h Genehmigen Ablehnen
KW Klaus Weber Teams Projekt Alpha Mitglied LOW (14) OK vor 6h Genehmigen Ablehnen
SH Stefan Hoffmann AD Domain Admin Admin CRITICAL (89) SoD! vor 1h Genehmigen Ablehnen
AB Anna Braun PostgreSQL prod-db Schreiben MEDIUM (38) OK vor 3h Genehmigen Ablehnen
★ AI-Empfehlung
Weber (Teams): Auto-Approve empfohlen – Low Risk, 94% Peer-Match
Hoffmann (Domain Admin): Ablehnung empfohlen – SoD-Konflikt mit bestehender Audit-Log-Berechtigung
Becker (SAP FI): Genehmigung empfohlen – temporär, geschäftlich begründet
Genehmigungs-Übersicht mit Workflow-Kette, Risk-Levels und AI-Empfehlungen

5. PAM Vault

Das PAM Vault speichert alle privilegierten Credentials in HashiCorp Vault. Kein Administrator hat direkten Zugriff auf Passwörter – der Checkout erfolgt ausschließlich über das Add-on mit vollständigem Audit-Trail.

PAM Vault Architektur
  ┌─── Admin / User ──────────────────────────────────────────┐
  │                                                            │
  │  1. Login mit persönlichem Account + MFA                  │
  │  2. PAM-Request über Portal stellen                       │
  │  3. Genehmigung abwarten (oder Auto-Approve)              │
  │  4. Temporäres Credential erhalten                        │
  └────────────────────────────┬───────────────────────────────┘
                               │
                               ▼
  ┌────────────────────────────────────────────────────────────┐
  │            IAM/PAM ADD-ON – VAULT SERVICE                   │
  │                                                             │
  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
  │  │ Checkout     │  │ Password     │  │ Credential       │  │
  │  │ Manager      │  │ Rotation     │  │ Injection        │  │
  │  │              │  │ Engine       │  │                  │  │
  │  │ • Request    │  │              │  │ • RDP Gateway    │  │
  │  │   validieren │  │ • Nach jeder │  │ • SSH Proxy      │  │
  │  │ • Checkout   │  │   Nutzung    │  │ • Web Proxy      │  │
  │  │   ausführen │  │ • Geplant    │  │ • DB Connector   │  │
  │  │ • Timer      │  │   (täglich/  │  │                  │  │
  │  │   starten    │  │    wöchentl) │  │ User sieht nie   │  │
  │  │ • Checkin    │  │ • Komplexe   │  │ das eigentliche  │  │
  │  │   erzwingen  │  │   Passwörter │  │ Passwort         │  │
  │  └──────────────┘  └──────────────┘  └──────────────────┘  │
  └────────────────────────┬───────────────────────────────────┘
                           │
                           ▼
  ┌────────────────────────────────────────────────────────────┐
  │            HASHICORP VAULT (HA CLUSTER, 3 NODES)            │
  │                                                             │
  │  Secret Engines:                                            │
  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
  │  │ KV v2        │  │ AD Secret    │  │ Database Secret  │  │
  │  │ (Statische   │  │ Engine       │  │ Engine           │  │
  │  │  Secrets)    │  │ (AD-PW       │  │ (DB-Credentials) │  │
  │  │              │  │  Rotation)   │  │                  │  │
  │  └──────────────┘  └──────────────┘  └──────────────────┘  │
  │                                                             │
  │  Encryption:  AES-256-GCM (Seal/Unseal, Shamir's Secret)   │
  │  Auth:        AppRole + Kubernetes Auth Method              │
  │  Audit:       Jeder Zugriff wird geloggt (Audit Device)    │
  └────────────────────────────────────────────────────────────┘

5.1 Verwaltete Account-Typen

Account-TypBeispielRotationCheckout-Modus
Domain Adminhafs\domain-adminNach jeder NutzungDual-Approval + Session Recording
Server Local Admin.\AdministratorNach jeder NutzungManager-Approval + Session Recording
Database Adminsa / postgresNach jeder NutzungDual-Approval + Session Recording
Service Accountsvc_app_portalTäglich (automatisch)Kein manueller Checkout
Network Deviceadmin@fw-core-01WöchentlichSecurity-Approval + Session Recording
Cloud Adminazure-admin@hafs.deNach jeder NutzungCISO-Approval + Session Recording

5.2 Password Rotation Policy

PolicyRotationKomplexitätMax. Checkout
After-UseSofort nach Checkin32 Zeichen, alphanumerisch + Sonderzeichen4h
DailyTäglich 02:00 UTC24 Zeichen, alphanumerisch + SonderzeichenN/A (Service)
WeeklySonntag 02:00 UTC24 Zeichen, alphanumerisch + SonderzeichenN/A (Network)
EmergencySofort (manuell)48 Zeichen, alphanumerisch + Sonderzeichen1h
portal.hafs.de/pam/vault
PAM Vault – Privilegierte Accounts TS
Meine aktiven Checkouts
hafs\srv-admin srv-app-01 Ausgecheckt Verbleibend: 1h 23min Zurückgeben
Alle Accounts (42) Domain Admin (4) Server Admin (12) DB Admin (8) Service Accounts (14) Netzwerk (4)
AccountSystemTypLetzte NutzungStatusAktion
hafs\domain-admin DC1 / DC2 Domain Admin 05.02.2026 Verfügbar Auschecken
.\Administrator srv-db-prod-01 Server Admin 08.02.2026 Ausgecheckt Belegt
sa@sql-prod-01 sql-prod-01 DB Admin 09.02.2026 Verfügbar Auschecken
svc_app_portal k8s-cluster Service Account Automatisch Managed Kein Checkout
admin@fw-core-01 fw-core-01 Netzwerk 03.02.2026 Gesperrt Gesperrt
● Letzte Rotation: heute, 02:00 UTC ● Nächste geplante Rotation: morgen, 02:00 UTC ● Vault-Status: Unsealed & Healthy
PAM Vault – Übersicht privilegierter Accounts mit Checkout-Status und automatischer Passwort-Rotation

6. Session Recording

Alle privilegierten Sitzungen werden über den Session-Proxy des IAM/PAM Add-ons geleitet. Der Proxy injiziert die Credentials automatisch und zeichnet die gesamte Sitzung auf.

Session Recording Architektur
  ┌─── Admin Workstation ──────────────────────────────────┐
  │  Browser / RDP Client / SSH Client                      │
  └────────────────────────────┬────────────────────────────┘
                               │
                               ▼
  ┌────────────────────────────────────────────────────────────┐
  │            SESSION PROXY (IAM/PAM ADD-ON)                   │
  │                                                             │
  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
  │  │ RDP Proxy    │  │ SSH Proxy    │  │ Web Proxy        │  │
  │  │ (Apache      │  │ (Custom      │  │ (Reverse Proxy   │  │
  │  │  Guacamole)  │  │  SSH Gateway)│  │  für Admin-UIs) │  │
  │  │              │  │              │  │                  │  │
  │  │ • Video      │  │ • Befehle    │  │ • Screenshots    │  │
  │  │   Recording  │  │   loggen     │  │ • Klick-Protokoll│  │
  │  │ • Keystroke  │  │ • Session    │  │ • URL-Tracking   │  │
  │  │   Logging    │  │   Recording  │  │ • Session Replay │  │
  │  └──────────────┘  └──────────────┘  └──────────────────┘  │
  │                                                             │
  │  ┌──────────────┐  ┌────────────────────────────────────┐  │
  │  │ DB Proxy     │  │ Gemeinsame Funktionen              │  │
  │  │ (SQL Proxy   │  │ • Credential Injection (aus Vault) │  │
  │  │  Gateway)    │  │ • Real-Time Monitoring             │  │
  │  │ • Query      │  │ • Auto-Terminate bei Verdacht      │  │
  │  │   Logging    │  │ • Verschlüsselte Speicherung      │  │
  │  │ • Sensitive  │  │ • Aufbewahrung: 1 Jahr             │  │
  │  │   Data Mask. │  │                                    │  │
  │  └──────────────┘  └────────────────────────────────────┘  │
  └────────────────────────────┬────────────────────────────────┘
                               │
                               ▼
  ┌────────────────────────────────────────────────────────────┐
  │            ZIELSYSTEME                                      │
  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
  │  │ Windows  │  │ Linux    │  │ Web Admin│  │ Daten-   │   │
  │  │ Server   │  │ Server   │  │ Consoles │  │ banken   │   │
  │  │ (RDP)    │  │ (SSH)    │  │ (HTTPS)  │  │ (SQL)    │   │
  │  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
  └────────────────────────────────────────────────────────────┘

6.1 Recording-Typen

TypProtokollAufzeichnungSpeicherungAufbewahrung
RDP SessionRDP via GuacamoleVideo (H.264) + KeystrokesMinIO (verschlüsselt)12 Monate
SSH SessionSSH via GatewayTerminal-Replay + CommandsMinIO (verschlüsselt)12 Monate
Web SessionHTTPS ProxyScreenshots + Click-LogMinIO (verschlüsselt)12 Monate
DB SessionSQL ProxyQuery-Log + Ergebnisse (maskiert)MinIO (verschlüsselt)12 Monate

6.2 Keystroke Logging

AspektDetail
ZweckAusschließlich Audit und Forensik
VerschlüsselungAES-256-GCM, Schlüssel in HashiCorp Vault
ZugriffNur CISO + Security Team (Vier-Augen-Prinzip)
Aufbewahrung12 Monate, danach automatische Löschung
DatenschutzDSGVO-konform, Betriebsrat-Vereinbarung erforderlich
BenachrichtigungUser wird vor Sitzungsbeginn informiert
portal.hafs.de/pam/sessions/REC-2026-0847
Session Recording – REC-2026-0847 Abgeschlossen ↧ Export
thomas@srv-app-01:~$ sudo systemctl status nginx
● nginx.service - A high performance web server
Active: active (running) since Mon 2026-02-09 14:23:01 UTC
thomas@srv-app-01:~$ sudo tail -f /var/log/nginx/error.log
2026/02/09 15:01:42 [warn] upstream timed out
thomas@srv-app-01:~$ sudo nginx -t
nginx: configuration file /etc/nginx/nginx.conf test is successful
thomas@srv-app-01:~$ sudo systemctl restart nginx
thomas@srv-app-01:~$
00:34:12 / 00:47:23 1x
Schlüsselereignisse
00:00 – Session gestartet (SSH über Proxy)
00:02 – sudo verwendet – systemctl status
00:08 – Log-Dateien eingesehen
00:34 – Service Restart (nginx)
00:47 – Session beendet (manuell)
Session-Details
Benutzer: Thomas Schmidt
Account: hafs\srv-admin
Zielsystem: srv-app-01
Protokoll: SSH (Port 22)
Dauer: 47 Min. 23 Sek.
Beginn: 09.02.2026, 14:22 UTC
Ende: 09.02.2026, 15:09 UTC
Statistik
38
Befehle
12
sudo-Aufrufe
Risk Events
! 12x sudo – erhöhte Privilegien
Keine unbekannten Befehle
Keine Datei-Exfiltration
Keine laterale Bewegung
Session Recording Viewer – SSH-Sitzung mit Terminal-Replay, Schlüsselereignissen und Risk-Analyse

7. JIT (Just-in-Time) Access

Just-in-Time Access stellt sicher, dass privilegierte Berechtigungen nur für den exakt benötigten Zeitraum vergeben werden. Es gibt keine permanenten Admin-Berechtigungen.

JIT Access Workflow
  Normalzustand:       Admin hat KEINE privilegierten Rechte

  ┌─────────────────────────────────────────────────────────┐
  │  User: thomas.schmidt@hafs.de                           │
  │  Rollen: Standard-User, IT-Mitarbeiter                  │
  │  Admin-Rechte: KEINE                                    │
  └──────────┬──────────────────────────────────────────────┘
             │
             │  JIT-Anfrage: "Server-Admin für srv-app-01"
             │  Dauer: 2h  |  Grund: Patch KB5034441
             ▼
  ┌──────────────────┐
  │ Approval         │──► Manager genehmigt via Teams
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Privilege        │──► AD-Gruppe "SRV-APP-01-Admins" hinzugefügt
  │ Elevation        │    Session-Recording aktiviert
  │ (Zeitfenster:    │    Timer: 2h gestartet
  │  2h)             │    Vault-Credential ausgecheckt
  └──────┬───────────┘
         │
         │  ... Admin arbeitet (max. 2h) ...
         │
         ▼
  ┌──────────────────┐
  │ Auto-Revoke      │──► AD-Gruppe entfernt
  │ (nach 2h oder    │    Credential zurückgegeben
  │  manuellem Ende) │    Passwort rotiert
  │                  │    Session-Recording archiviert
  │                  │    Audit-Log geschrieben
  └──────────────────┘

  Danach:             Admin hat WIEDER KEINE privilegierten Rechte

7.1 Konfigurierbare Zeitfenster

ZeitfensterEinsatzzweckApproval-Level
1 StundeKurze Diagnose, Quick-FixManager
2 StundenStandard-Wartung, PatchingManager
4 StundenUmfangreichere WartungsarbeitenManager + Security
8 StundenGrößere Migrationen, UpgradesManager + Security + CISO
CustomSonderfälle (max. 24h)CISO-Genehmigung erforderlich

7.2 JIT-Regeln

RegelBeschreibung
Keine Verlängerung ohne Re-ApprovalZeitfenster kann nur mit neuer Genehmigung verlängert werden
Max. 24hKein JIT-Zugriff länger als 24 Stunden
Keine ParallelnutzungEin User kann nur eine aktive JIT-Session pro Zielsystem haben
Mandatory RecordingAlle JIT-Sessions werden aufgezeichnet
Auto-TerminateBei Inaktivität > 30 min wird die Session beendet
Blackout-ZeitenKeine JIT-Vergabe während Change-Freeze-Perioden (außer Break Glass)

8. Break Glass Procedures

Break Glass ist der Notfallmechanismus für Situationen, in denen der reguläre Approval-Prozess nicht abgewartet werden kann (z.B. Systemausfall, Security Incident, Datenverlust).

Break Glass – Notfallzugriff

Sofortiger privilegierter Zugriff ohne vorherige Genehmigung – Session Recording ist IMMER aktiv und kann nicht deaktiviert werden. CISO wird sofort über alle Kanäle benachrichtigt.

Break Glass Procedure
  NOTFALL ERKANNT
         │
         ▼
  ┌──────────────────┐
  │ Break Glass      │
  │ Request          │
  │                  │
  │ 1. Persönliche   │──► MFA-Verifizierung (FIDO2 / Authenticator)
  │    Authentifiz.  │
  │ 2. Notfall-      │──► Pflichtfeld: Art des Notfalls
  │    Begründung    │    (System-Ausfall / Security Incident /
  │                  │     Datenverlust / Sonstiges)
  │ 3. Zielsystem    │──► Welches System wird benötigt
  │    auswählen     │
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ SOFORT-AKTIONEN  │
  │ (automatisch)    │
  │                  │
  │ • Zugriff wird   │──► Credential aus Vault (sofort, kein
  │   SOFORT gewährt │    Approval erforderlich)
  │                  │
  │ • CISO wird      │──► Push + SMS + Teams + E-Mail (parallel)
  │   SOFORT         │
  │   benachrichtigt │
  │                  │
  │ • Session        │──► Aufzeichnung startet automatisch
  │   Recording ON   │    (PFLICHT, nicht deaktivierbar)
  │                  │
  │ • Timer: 1h      │──► Automatische Beendigung nach 60 Minuten
  │   Auto-Expire    │    Verlängerung NUR durch CISO
  └──────┬───────────┘
         │
         │  ... Notfall-Arbeit (max. 1h) ...
         │
         ▼
  ┌──────────────────┐
  │ POST-INCIDENT    │
  │ (PFLICHT)        │
  │                  │
  │ • Incident Report│──► Pflicht innerhalb 24h
  │ • Session Review │──► Security Team prüft innerhalb 48h
  │ • Post-Mortem    │──► Bewertung: War Break Glass
  │   Meeting        │    gerechtfertigt? (innerhalb 5 Werktage)
  │ • Maßnahmen     │──► Lessons Learned dokumentieren
  └──────────────────┘

8.1 Break Glass Regeln

RegelDetail
BerechtigungNur vordefinierte Break-Glass-berechtigte Personen (max. 10)
MFAPersönliche MFA ist IMMER erforderlich (FIDO2 bevorzugt)
Session RecordingKann NICHT deaktiviert werden
Auto-Expire1 Stunde, Verlängerung nur durch CISO (max. +1h)
CISO-NotificationSofort, über alle Kanäle (Push, SMS, Teams, E-Mail)
Incident ReportPFLICHT innerhalb 24 Stunden
Session ReviewSecurity Team prüft Aufzeichnung innerhalb 48 Stunden
Post-MortemPflicht-Meeting innerhalb 5 Werktagen
MissbrauchUngerechtfertigte Break-Glass-Nutzung → Disziplinarmaßnahme
AuditAlle Break-Glass-Events werden separat für 7 Jahre archiviert

9. Access Reviews / Rezertifizierung

Access Review Zyklus
  Quartal 1          Quartal 2         Quartal 3        Quartal 4
  (Jan–März)        (Apr–Juni)       (Jul–Sep)       (Okt–Dez)

  ┌──────────┐     ┌──────────┐     ┌──────────┐     ┌──────────┐
  │ Standard │     │ Standard │     │ Standard │     │ Standard │
  │ Review   │     │ Review   │     │ Review   │     │ Review   │
  │          │     │          │     │          │     │ + Jahres-│
  │ Alle     │     │ Alle     │     │ Alle     │     │ review   │
  │ Berecht. │     │ Berecht. │     │ Berecht. │     │          │
  └──────────┘     └──────────┘     └──────────┘     └──────────┘

  Zusätzlich:
  ┌──────────────────────────────────────────────────────────┐
  │ PAM-Reviews:          Monatlich (alle priv. Zugänge)    │
  │ SoD-Reviews:          Monatlich (alle SoD-relevanten)    │
  │ Service-Account-Rev:  Quartalsweise (alle Service Acc.)  │
  │ External-Access-Rev:  Monatlich (alle externen Zugänge) │
  └──────────────────────────────────────────────────────────┘

9.1 AI-gestützte Review-Empfehlungen

AI Pre-Analysis für Access Reviews
  Access Review gestartet
         │
         ▼
  ┌──────────────────┐
  │ AI Pre-Analysis  │
  │                  │
  │ Für jeden User   │
  │ und jede         │
  │ Berechtigung:    │
  │                  │
  │ 1. Letzte        │──► Nie genutzt (>90 Tage)? → "Entziehen"
  │    Nutzung       │    Selten genutzt? → "Prüfung empfohlen"
  │    prüfen        │    Regelmäßig? → "Beibehalten"
  │                  │
  │ 2. Peer-         │──► Nur dieser User hat Berechtigung?
  │    Vergleich     │    → "Anomalie: Prüfung empfohlen"
  │                  │
  │ 3. Rollen-       │──► Passt nicht zur Rolle?
  │    Konsistenz    │    → "Nicht rollenkonform: Entziehen"
  │                  │
  │ 4. Risk Score    │──► Hochrisiko ohne Business Need?
  │                  │    → "Risiko: Entziehen dringend empfohlen"
  │                  │
  │ 5. SoD-Check     │──► Neue SoD-Verletzung?
  │                  │    → "SoD-Konflikt: Sofort entziehen"
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Review Portal    │
  │ (Manager-Sicht)  │
  │                  │
  │ ┌─ Berechtigung ──── Empfehlung ──── Aktion ───────┐
  │ │ SAP FI Read       Beibehalten      [Bestätigen]  │
  │ │ SAP FI Write      Entziehen        [Entziehen]   │
  │ │ SharePoint Admin  Anomalie         [Prüfen]      │
  │ │ Teams: Projekt X  Beibehalten      [Bestätigen]  │
  │ └──────────────────────────────────────────────────┘
  └──────┬───────────┘
         │
         ▼
  ┌──────────────────┐
  │ Auto-Execution   │──► Entzogene Berechtigungen sofort
  │                  │    in AD/Entra ID umgesetzt
  │ Nicht bearbeitete│    User wird informiert
  │ Reviews → Auto-  │    Berechtigung wird nach 14 Tagen
  │ Revoke nach 14d  │    automatisch entzogen
  └──────────────────┘

9.2 Review-Metriken

MetrikZielEskalation bei
Review-Completion-Rate> 95% innerhalb 14 Tagen< 80% nach 7 Tagen
AI-Empfehlung-ÜbernahmeTracking (kein Ziel)Abweichung dokumentieren
Entzogene BerechtigungenTracking> 20% (mögliches Prozess-Problem)
Nicht-bestätigte Berechtigungen0 nach 14 TagenAuto-Revoke
SoD-Violations nach Review0Sofortige Eskalation an CISO
portal.hafs.de/iam/access-reviews/Q1-2026
Access Review – Q1/2026 Laufend – 72% abgeschlossen PF
72%
Fortschritt
1.247
Berechtigungen gesamt
898
Abgeschlossen
349
Ausstehend
89%
AI empfiehlt: Beibehalten
8%
AI empfiehlt: Entziehen
3%
AI empfiehlt: Prüfen
Berechtigungen zur Überprüfung
Alle Beibehalten (89%) Entziehen (8%) Prüfen (3%) Meine Reviews
BenutzerBerechtigungLetzte NutzungAI-EmpfehlungAktion
MB Max Becker SAP FI Read (BK 1000) 08.02.2026 Beibehalten Bestätigen Entziehen
LR Laura Richter SharePoint Finance Admin 14.11.2025 Entziehen Bestätigen Entziehen
KW Klaus Weber Teams Projekt Alpha 07.02.2026 Beibehalten Bestätigen Entziehen
SH Stefan Hoffmann VPN Remote Access 21.08.2025 Entziehen Bestätigen Entziehen
AB Anna Braun Confluence IT-Wiki Editor 05.02.2026 Prüfen Bestätigen Entziehen
★ AI-Zusammenfassung
100 Berechtigungen empfohlen zum Entziehen: 62 ungenutztet seit >90 Tagen, 23 nicht rollenkonform, 15 Peer-Anomalien.
37 Berechtigungen zur manuellen Prüfung: 22 seltene Nutzung, 15 kürzlich geänderte Rollen.
Deadline: 28.03.2026 – Nicht geprüfte Berechtigungen werden automatisch entzogen.
Access Review Dashboard – Quartalsweise Rezertifizierung mit AI-Empfehlungen und Fortschrittsverfolgung

10. AD/LDAP Integration

AD/LDAP Integrationsarchitektur
  ┌─── IAM/PAM ADD-ON ────────────────────────────────────────┐
  │                                                            │
  │  ┌────────────────┐    ┌────────────────┐                  │
  │  │ AD Connector   │    │ Graph API      │                  │
  │  │ (Nest.js)       │    │ Connector      │                  │
  │  │                │    │ (Nest.js)       │                  │
  │  │ • LDAPS (636)  │    │                │                  │
  │  │ • Kerberos     │    │ • User Mgmt    │                  │
  │  │ • Read/Write   │    │ • Group Mgmt   │                  │
  │  │ • Real-Time    │    │ • License Mgmt │                  │
  │  │   Sync         │    │ • Teams Mgmt   │                  │
  │  └───────┬────────┘    └───────┬────────┘                  │
  └──────────┼─────────────────────┼───────────────────────────┘
             │ LDAPS (Port 636)    │ HTTPS (Graph API)
             ▼                     ▼
  ┌──────────────────┐  ┌──────────────────────────────────┐
  │ ON-PREM ACTIVE   │  │ MICROSOFT ENTRA ID               │
  │ DIRECTORY        │  │ (Azure Active Directory)         │
  │                  │  │                                  │
  │ • DC1 (VLAN 40)  │  │ • Cloud-Identitäten             │
  │ • DC2 (VLAN 40)  │  │ • Conditional Access             │
  │ • LDAPS (636)    │  │ • MFA / Passwordless             │
  │ • Global Catalog │  │ • Dynamic Groups                 │
  │   (3269)         │  │                                  │
  │                  │◄─┤── Azure AD Connect ──► Hybrid    │
  │ Primäre          │  │   (Sync On-Prem → Cloud) Sync   │
  │ Identitätsquelle │  │                                  │
  └──────────────────┘  └──────────────────────────────────┘

10.1 AD-Operationen

OperationProtokollPortBeschreibung
User erstellenLDAPS636Neuen Account in OU anlegen
User deaktivierenLDAPS636userAccountControl-Flag setzen
User löschenLDAPS636Account aus AD entfernen (nach 30 Tagen)
Passwort setzenLDAPS636Initiales oder Reset-Passwort
Gruppe hinzufügenLDAPS636memberOf-Attribut aktualisieren
Gruppe entfernenLDAPS636memberOf-Attribut aktualisieren
OU verschiebenLDAPS636Bei Abteilungswechsel
Global CatalogLDAPS3269Forest-weite Suchen

10.2 Sicherheitsanforderungen

AnforderungUmsetzung
VerschlüsselungAusschließlich LDAPS (Port 636), kein LDAP (389)
Service AccountDedizierter Service Account mit minimalen Rechten
Credential StorageService-Account-Passwort in HashiCorp Vault
AuditAlle AD-Operationen werden im Audit-Log protokolliert
Rate LimitingMax. 100 AD-Operationen pro Minute
FailoverAutomatisches Failover auf DC2 bei DC1-Ausfall
MonitoringAD-Connector-Health-Check alle 30 Sekunden

10.3 AD-Gruppenstruktur

AD-Gruppenstruktur
  OU=Groups,DC=hafs,DC=de
  │
  ├── OU=Role-Groups (Rollen-basiert)
  │   ├── GRP_Finance
  │   ├── GRP_IT
  │   ├── GRP_HR
  │   ├── GRP_Compliance
  │   └── GRP_Managers
  │
  ├── OU=Application-Groups (Applikations-Zugriff)
  │   ├── APP_SAP_User
  │   ├── APP_SAP_Admin
  │   ├── APP_Portal_User
  │   ├── APP_Portal_Admin
  │   └── APP_Confluence_User
  │
  ├── OU=PAM-Groups (Privilegierte Zugänge)
  │   ├── PAM_ServerAdmins
  │   ├── PAM_DBAdmins
  │   ├── PAM_NetworkAdmins
  │   └── PAM_BreakGlass
  │
  └── OU=JIT-Groups (Temporäre Gruppen für JIT)
      ├── JIT_SRV-APP-01-Admins
      ├── JIT_SRV-DB-PROD-01-Admins
      └── JIT_FW-CORE-01-Admins

11. Dashboard & KPIs

94/100
Identity Health Score
1.247
Aktive User
23
Offene Requests
7
Aktive PAM Sessions
0
Break Glass (MTD)
0
SoD Violations

11.1 KPI-Definitionen

KPIBeschreibungZielEskalation
Provisioning TimeZeit von HR-Event bis Account einsatzbereit< 2h (auto)> 4h
Orphaned AccountsAccounts ohne zugeordneten aktiven Mitarbeiter0> 0
Stale PermissionsBerechtigungen >180 Tage ohne Review/Nutzung< 5%> 10%
SoD ViolationsAktive Segregation-of-Duties-Verstöße0> 0 (sofort)
MFA CoverageAnteil der User mit aktiviertem MFA100%< 99%
Access Review CompletionAbschlussrate der quartalsweisen Reviews> 95%< 80%
PAM Session RecordingAnteil aufgezeichneter PAM-Sessions100%< 100% (sofort)
JIT ComplianceAnteil PAM-Zugriffe über JIT (nicht permanent)> 95%< 90%
PW Rotation ComplianceAnteil rotierter Passwörter nach Nutzung100%< 100% (sofort)
Approval TimeDurchschnittliche Genehmigungszeit< 30 min> 2h
Break Glass UsageAnzahl Break-Glass-Aktivierungen pro Monat< 2> 3
Leaver Processing TimeZeit vom HR-Event bis Account-Deaktivierung< 15 min> 1h

12. Portal-Integration

Das IAM/PAM Add-on stellt eine REST API bereit, über die das Self-Help Portal alle IAM/PAM-Funktionen ansteuern kann.

12.1 REST API (Synchron)

REST API Endpunkte (OpenAPI 3.1)
  Base-URL: https://iam-pam.hafs.internal/api/v1
  Auth:     Bearer Token (OAuth 2.0 / Service-to-Service)

  Identity Lifecycle:
  POST   /lifecycle/events              HR-Event verarbeiten
  GET    /lifecycle/events/{id}         Event-Status abfragen
  GET    /lifecycle/templates           Role Templates auflisten

  Access Requests:
  POST   /access-requests               Neue Anfrage erstellen
  GET    /access-requests/{id}          Anfrage-Status
  POST   /access-requests/{id}/approve  Anfrage genehmigen
  POST   /access-requests/{id}/reject   Anfrage ablehnen

  PAM Vault:
  POST   /pam/sessions                  PAM-Session anfordern
  GET    /pam/sessions/{id}             Session-Status
  POST   /pam/sessions/{id}/extend      Session verlängern
  POST   /pam/sessions/{id}/terminate   Session beenden
  GET    /pam/sessions/{id}/recording   Session-Aufzeichnung

  Break Glass:
  POST   /pam/break-glass               Break Glass aktivieren
  GET    /pam/break-glass/{id}          Break-Glass-Status

  Access Reviews:
  GET    /reviews                        Aktive Reviews auflisten
  GET    /reviews/{id}                   Review-Details
  POST   /reviews/{id}/decisions         Review-Entscheidung

  Dashboard:
  GET    /dashboard/kpis                 KPI-Übersicht
  GET    /dashboard/health               System-Health
  GET    /dashboard/audit-log            Audit-Log abfragen

12.2 Event-Bus Integration (RabbitMQ – Asynchron)

RabbitMQ Event-Bus Integration
  ┌─── IAM/PAM Add-on publiziert ──────────────────────────────┐
  │                                                             │
  │  Exchange: iam-pam.events (Topic)                          │
  │                                                             │
  │  • iam.user.created         → Neuer User angelegt          │
  │  • iam.user.disabled        → User deaktiviert             │
  │  • iam.user.deleted         → User gelöscht               │
  │  • iam.access.granted       → Berechtigung erteilt         │
  │  • iam.access.revoked       → Berechtigung entzogen        │
  │  • iam.sod.violation        → SoD-Verstoß erkannt         │
  │  • pam.session.started      → PAM-Session gestartet        │
  │  • pam.session.ended        → PAM-Session beendet          │
  │  • pam.breakglass.activated → Break Glass aktiviert        │
  │  • pam.password.rotated     → Passwort rotiert             │
  │  • review.started           → Access Review gestartet      │
  │  • review.completed         → Access Review abgeschlossen  │
  └─────────────────────────────────────────────────────────────┘

  ┌─── IAM/PAM Add-on konsumiert ──────────────────────────────┐
  │                                                             │
  │  Exchange: portal.events (Topic)                           │
  │                                                             │
  │  • portal.ticket.created    → Neues Ticket (evtl. relevant)│
  │  • portal.user.login        → User-Login-Event             │
  │  • portal.security.alert    → Security-Alert vom Portal    │
  └─────────────────────────────────────────────────────────────┘

12.3 Security-Ticket-Erstellung bei Violations

EventTicket-TypPrioritätEmpfänger
SoD-Violation erkanntSecurity IncidentP1Security Team + CISO
Orphaned Account gefundenSecurity TaskP2IAM-Team
Break Glass aktiviertSecurity IncidentP1CISO + Security Team
MFA-Coverage < 99%Security TaskP2IAM-Team
Access Review überfälligCompliance TaskP3Manager + Compliance
PAM Session ohne RecordingSecurity IncidentP1Security Team
Failed ProvisioningIT TaskP2IAM-Team + IT-Ops

12.4 Kubernetes Deployment (RKE2)

Kubernetes Deployment auf RKE2
  Namespace: hafs-iam-pam

  Deployments:
  ──────────────────────────────────────────────────────────
  iam-pam-frontend        (2 Replicas, React SPA + Nginx)
  iam-pam-api-gateway     (2 Replicas, Nest.js)
  iam-lifecycle-svc       (2 Replicas, Nest.js)
  iam-access-request-svc  (2 Replicas, Nest.js)
  iam-approval-svc        (2 Replicas, Nest.js)
  pam-vault-svc           (2 Replicas, Nest.js)
  pam-session-proxy       (3 Replicas, Guacamole + Custom)
  pam-jit-svc             (2 Replicas, Nest.js)
  iam-review-svc          (2 Replicas, Nest.js)
  iam-ad-connector        (2 Replicas, Nest.js)
  iam-graph-connector     (2 Replicas, Nest.js)

  StatefulSets:
  ──────────────────────────────────────────────────────────
  iam-pam-postgresql      (3 Replicas, Patroni HA)
  iam-pam-redis           (3 Replicas, Sentinel)

  Ingress:
  ──────────────────────────────────────────────────────────
  iam-pam.hafs.internal    → iam-pam-api-gateway (HTTPS/TLS)
  iam-pam-ui.hafs.internal → iam-pam-frontend (HTTPS/TLS)
  pam-proxy.hafs.internal  → pam-session-proxy (WSS/TLS)

  Network Policies (Calico):
  ──────────────────────────────────────────────────────────
  • Nur Portal-Namespace darf auf API-Gateway zugreifen
  • Nur iam-pam-Namespace darf auf PostgreSQL/Redis zugreifen
  • Nur pam-vault-svc darf auf HashiCorp Vault zugreifen
  • Nur iam-ad-connector darf auf AD-VLAN (40) zugreifen
  • Egress: Nur Graph API (graph.microsoft.com) erlaubt

  Resource Limits (Gesamt-Namespace):
  ──────────────────────────────────────────────────────────
  CPU:     16 Cores (Request: 8, Limit: 16)
  Memory:  32 Gi (Request: 16 Gi, Limit: 32 Gi)
  Storage: 500 Gi (PostgreSQL + Redis + Session Recordings)
Zusammenfassung

Das IAM/PAM Add-on ist eine eigenständige, maßgeschneiderte Applikation auf dem RKE2-Cluster, die CyberArk und Azure PIM vollständig ersetzt. Es bietet Identity Lifecycle Management, Self-Service Access Requests mit AI-Risk-Scoring, PAM Vault mit automatischer Password Rotation, Session Recording, JIT Access und Break Glass Procedures – alles integriert über REST API und RabbitMQ Event-Bus mit dem Self-Help Service Portal.