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.
| Aspekt | Beschreibung |
| Typ | Eigenständiges Add-on (unabhängig deploybar) |
| Ersetzt | CyberArk Privileged Access Manager, Azure PIM |
| Deployment | Kubernetes (RKE2) auf VMware vSphere, On-Premises |
| Integration | REST API + RabbitMQ Event-Bus zum Self-Help Portal |
| Backend | Nest.js (TypeScript, Microservices) |
| Frontend | React 19 + TypeScript + Tailwind CSS + Shadcn/UI |
| Datenbank | PostgreSQL (Patroni HA) |
| Secret Store | HashiCorp Vault (HA-Cluster, 3 Nodes) |
| Identitätsquelle | On-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
| Schicht | Technologie | Einsatzzweck |
| Frontend | React 19, TypeScript 5.x, Tailwind CSS 4.x, Shadcn/UI | Admin-Oberfläche, Self-Service Portal |
| BFF | Next.js 15 (Backend for Frontend) | Server-Side Rendering, API-Aggregation |
| Backend | Nest.js, TypeScript | Microservices (CQRS + NestJS Modules) |
| API | REST (OpenAPI 3.1) + gRPC (intern) | Service-Kommunikation |
| Message Bus | RabbitMQ | Asynchrone Events, Portal-Integration |
| Datenbank | PostgreSQL 17 (Patroni HA, 3 Nodes) | Policies, Requests, Audit, Reviews |
| Secret Store | HashiCorp Vault (HA, 3 Nodes) | Credentials, Encryption Keys, Secrets |
| Cache | Redis Sentinel (3 Nodes) | Sessions, temporäre Tokens, Rate Limiting |
| Object Storage | MinIO (S3-kompatibel) | Session-Recordings, Export-Dateien |
| Suchmaschine | Elasticsearch 8.x | Audit-Log-Suche, Compliance-Reports |
| Identity | On-Prem AD (LDAPS), Entra ID (Hybrid Sync) | Primäre Identitätsquelle |
| M365 | Microsoft Graph API | Lizenzierung, Gruppenverwaltung, Teams |
portal.hafs.de/iam/dashboard
IAM Dashboard
System Healthy
TS
94%
Identity Health Score
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
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)
| Schritt | Aktion | Details |
| 1 | HR-Event empfangen | DEPARTMENT_CHANGE oder ROLE_CHANGE |
| 2 | Altes Template ermitteln | Bisherige Gruppen und Berechtigungen |
| 3 | Neues Template ermitteln | Zielgruppen und Berechtigungen |
| 4 | Delta berechnen | Zu entfernende und hinzuzufügende Berechtigungen |
| 5 | Alte Berechtigungen entziehen | AD-Gruppen, SharePoint, Teams entfernen |
| 6 | Neue Berechtigungen erteilen | AD-Gruppen, SharePoint, Teams hinzufügen |
| 7 | M365-Lizenz anpassen | Falls Lizenz-Typ sich ändert |
| 8 | Manager-OU aktualisieren | Neuen Vorgesetzten im AD setzen |
| 9 | Audit-Log schreiben | Alle Änderungen dokumentiert |
| 10 | Benachrichtigungen | Alter + 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
| Template | Abteilung | AD-Gruppen | M365 | Teams |
| Finance_Standard | Finance | GRP_Finance, GRP_SAP_User | E3 | T-Finance |
| Finance_Manager | Finance | GRP_Finance, GRP_SAP_Admin, GRP_Managers | E5 | T-Finance, T-Mgmt |
| IT_Standard | IT | GRP_IT, GRP_ServiceDesk | E3 | T-IT-Ops |
| IT_Admin | IT | GRP_IT, GRP_Admins, GRP_PAM_Users | E5 | T-IT-Ops, T-IT-Admin |
| HR_Standard | HR | GRP_HR, GRP_Personio | E3 | T-HR |
| Compliance_Std | Compliance | GRP_Compliance, GRP_Audit | E5 | T-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
| Faktor | Gewichtung | Beschreibung |
| Ressourcen-Sensitivität | 30% | Klassifizierung des Zielsystems (Public → Critical) |
| Berechtigungslevel | 25% | Read-Only vs. Write vs. Admin |
| SoD-Nähe | 20% | Nähe zu bekannten SoD-Konstellationen |
| Peer-Vergleich | 10% | Haben ähnliche Rollen diese Berechtigung? |
| Historisches Verhalten | 10% | Früheres Antragsverhalten des Users |
| Temporär vs. Permanent | 5% | 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-Regel | Konflikt-Kombination | Risiko |
| Finance-SoD-001 | Buchung erstellen + Buchung freigeben | CRITICAL |
| Finance-SoD-002 | Zahlungslauf erstellen + Zahlungslauf freigeben | CRITICAL |
| IT-SoD-001 | Entwicklung + Produktion-Deployment | HIGH |
| IT-SoD-002 | User-Administration + Audit-Log-Zugriff | HIGH |
| HR-SoD-001 | Gehaltsänderung + Gehaltsfreigabe | CRITICAL |
| Procurement-SoD-001 | Bestellung erstellen + Bestellung genehmigen | HIGH |
portal.hafs.de/iam/access-request/new
Neue Zugriffsanfrage
Entwurf
MB
Zugriffsanfrage erstellen
★ 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 Level | Genehmiger | Timeout | Eskalation |
| LOW (0–25) | Automatisch (Policy-basiert) | Sofort | Keine |
| MEDIUM (26–50) | Direkter Vorgesetzter | 48h | Nächste Führungsebene |
| HIGH (51–75) | Vorgesetzter + Data Owner + Security Team | 24h | CISO |
| CRITICAL (76–100) | Vorgesetzter + Data Owner + Security Team + CISO | 12h | CIO |
4.2 Delegation & Stellvertretung
| Feature | Beschreibung |
| Delegations-Regeln | Manager können Genehmigungsrechte an Stellvertreter delegieren |
| Zeitbasierte Delegation | Delegation gilt nur für definierten Zeitraum (z.B. Urlaub) |
| Eskalation bei Timeout | Nicht bearbeitete Genehmigungen eskalieren automatisch |
| Gruppen-Approval | Jedes Mitglied einer Genehmiger-Gruppe kann genehmigen |
| Vier-Augen-Prinzip | Bei 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-ID | Bedingung | Aktion |
| AUTO-001 | Risk Score < 25 UND Peer-Match > 80% | Automatisch genehmigen |
| AUTO-002 | Temporär (< 24h) UND Read-Only | Automatisch genehmigen |
| AUTO-003 | Erneuerung einer bestehenden Berechtigung | Automatisch genehmigen |
| AUTO-004 | Manager-Anfrage für eigenes Team (LOW Risk) | Automatisch genehmigen |
| AUTO-005 | Standard-Template-Berechtigung bei Joiner | Automatisch 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)
| Antragsteller | Ressource | Zugriff | Risiko | SoD | Eingereicht | Aktionen |
| 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-Typ | Beispiel | Rotation | Checkout-Modus |
| Domain Admin | hafs\domain-admin | Nach jeder Nutzung | Dual-Approval + Session Recording |
| Server Local Admin | .\Administrator | Nach jeder Nutzung | Manager-Approval + Session Recording |
| Database Admin | sa / postgres | Nach jeder Nutzung | Dual-Approval + Session Recording |
| Service Account | svc_app_portal | Täglich (automatisch) | Kein manueller Checkout |
| Network Device | admin@fw-core-01 | Wöchentlich | Security-Approval + Session Recording |
| Cloud Admin | azure-admin@hafs.de | Nach jeder Nutzung | CISO-Approval + Session Recording |
5.2 Password Rotation Policy
| Policy | Rotation | Komplexität | Max. Checkout |
| After-Use | Sofort nach Checkin | 32 Zeichen, alphanumerisch + Sonderzeichen | 4h |
| Daily | Täglich 02:00 UTC | 24 Zeichen, alphanumerisch + Sonderzeichen | N/A (Service) |
| Weekly | Sonntag 02:00 UTC | 24 Zeichen, alphanumerisch + Sonderzeichen | N/A (Network) |
| Emergency | Sofort (manuell) | 48 Zeichen, alphanumerisch + Sonderzeichen | 1h |
portal.hafs.de/pam/vault
PAM Vault – Privilegierte Accounts
Suche Account…
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)
| Account | System | Typ | Letzte Nutzung | Status | Aktion |
| 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
| Typ | Protokoll | Aufzeichnung | Speicherung | Aufbewahrung |
| RDP Session | RDP via Guacamole | Video (H.264) + Keystrokes | MinIO (verschlüsselt) | 12 Monate |
| SSH Session | SSH via Gateway | Terminal-Replay + Commands | MinIO (verschlüsselt) | 12 Monate |
| Web Session | HTTPS Proxy | Screenshots + Click-Log | MinIO (verschlüsselt) | 12 Monate |
| DB Session | SQL Proxy | Query-Log + Ergebnisse (maskiert) | MinIO (verschlüsselt) | 12 Monate |
6.2 Keystroke Logging
| Aspekt | Detail |
| Zweck | Ausschließlich Audit und Forensik |
| Verschlüsselung | AES-256-GCM, Schlüssel in HashiCorp Vault |
| Zugriff | Nur CISO + Security Team (Vier-Augen-Prinzip) |
| Aufbewahrung | 12 Monate, danach automatische Löschung |
| Datenschutz | DSGVO-konform, Betriebsrat-Vereinbarung erforderlich |
| Benachrichtigung | User 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:~$ █
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
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
| Zeitfenster | Einsatzzweck | Approval-Level |
| 1 Stunde | Kurze Diagnose, Quick-Fix | Manager |
| 2 Stunden | Standard-Wartung, Patching | Manager |
| 4 Stunden | Umfangreichere Wartungsarbeiten | Manager + Security |
| 8 Stunden | Größere Migrationen, Upgrades | Manager + Security + CISO |
| Custom | Sonderfälle (max. 24h) | CISO-Genehmigung erforderlich |
7.2 JIT-Regeln
| Regel | Beschreibung |
| Keine Verlängerung ohne Re-Approval | Zeitfenster kann nur mit neuer Genehmigung verlängert werden |
| Max. 24h | Kein JIT-Zugriff länger als 24 Stunden |
| Keine Parallelnutzung | Ein User kann nur eine aktive JIT-Session pro Zielsystem haben |
| Mandatory Recording | Alle JIT-Sessions werden aufgezeichnet |
| Auto-Terminate | Bei Inaktivität > 30 min wird die Session beendet |
| Blackout-Zeiten | Keine 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
| Regel | Detail |
| Berechtigung | Nur vordefinierte Break-Glass-berechtigte Personen (max. 10) |
| MFA | Persönliche MFA ist IMMER erforderlich (FIDO2 bevorzugt) |
| Session Recording | Kann NICHT deaktiviert werden |
| Auto-Expire | 1 Stunde, Verlängerung nur durch CISO (max. +1h) |
| CISO-Notification | Sofort, über alle Kanäle (Push, SMS, Teams, E-Mail) |
| Incident Report | PFLICHT innerhalb 24 Stunden |
| Session Review | Security Team prüft Aufzeichnung innerhalb 48 Stunden |
| Post-Mortem | Pflicht-Meeting innerhalb 5 Werktagen |
| Missbrauch | Ungerechtfertigte Break-Glass-Nutzung → Disziplinarmaßnahme |
| Audit | Alle 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
| Metrik | Ziel | Eskalation bei |
| Review-Completion-Rate | > 95% innerhalb 14 Tagen | < 80% nach 7 Tagen |
| AI-Empfehlung-Übernahme | Tracking (kein Ziel) | Abweichung dokumentieren |
| Entzogene Berechtigungen | Tracking | > 20% (mögliches Prozess-Problem) |
| Nicht-bestätigte Berechtigungen | 0 nach 14 Tagen | Auto-Revoke |
| SoD-Violations nach Review | 0 | Sofortige Eskalation an CISO |
portal.hafs.de/iam/access-reviews/Q1-2026
Access Review – Q1/2026
Laufend – 72% abgeschlossen
PF
1.247
Berechtigungen gesamt
89%
AI empfiehlt: Beibehalten
8%
AI empfiehlt: Entziehen
Berechtigungen zur Überprüfung
Alle
Beibehalten (89%)
Entziehen (8%)
Prüfen (3%)
Meine Reviews
| Benutzer | Berechtigung | Letzte Nutzung | AI-Empfehlung | Aktion |
| 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
| Operation | Protokoll | Port | Beschreibung |
| User erstellen | LDAPS | 636 | Neuen Account in OU anlegen |
| User deaktivieren | LDAPS | 636 | userAccountControl-Flag setzen |
| User löschen | LDAPS | 636 | Account aus AD entfernen (nach 30 Tagen) |
| Passwort setzen | LDAPS | 636 | Initiales oder Reset-Passwort |
| Gruppe hinzufügen | LDAPS | 636 | memberOf-Attribut aktualisieren |
| Gruppe entfernen | LDAPS | 636 | memberOf-Attribut aktualisieren |
| OU verschieben | LDAPS | 636 | Bei Abteilungswechsel |
| Global Catalog | LDAPS | 3269 | Forest-weite Suchen |
10.2 Sicherheitsanforderungen
| Anforderung | Umsetzung |
| Verschlüsselung | Ausschließlich LDAPS (Port 636), kein LDAP (389) |
| Service Account | Dedizierter Service Account mit minimalen Rechten |
| Credential Storage | Service-Account-Passwort in HashiCorp Vault |
| Audit | Alle AD-Operationen werden im Audit-Log protokolliert |
| Rate Limiting | Max. 100 AD-Operationen pro Minute |
| Failover | Automatisches Failover auf DC2 bei DC1-Ausfall |
| Monitoring | AD-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
11.1 KPI-Definitionen
| KPI | Beschreibung | Ziel | Eskalation |
| Provisioning Time | Zeit von HR-Event bis Account einsatzbereit | < 2h (auto) | > 4h |
| Orphaned Accounts | Accounts ohne zugeordneten aktiven Mitarbeiter | 0 | > 0 |
| Stale Permissions | Berechtigungen >180 Tage ohne Review/Nutzung | < 5% | > 10% |
| SoD Violations | Aktive Segregation-of-Duties-Verstöße | 0 | > 0 (sofort) |
| MFA Coverage | Anteil der User mit aktiviertem MFA | 100% | < 99% |
| Access Review Completion | Abschlussrate der quartalsweisen Reviews | > 95% | < 80% |
| PAM Session Recording | Anteil aufgezeichneter PAM-Sessions | 100% | < 100% (sofort) |
| JIT Compliance | Anteil PAM-Zugriffe über JIT (nicht permanent) | > 95% | < 90% |
| PW Rotation Compliance | Anteil rotierter Passwörter nach Nutzung | 100% | < 100% (sofort) |
| Approval Time | Durchschnittliche Genehmigungszeit | < 30 min | > 2h |
| Break Glass Usage | Anzahl Break-Glass-Aktivierungen pro Monat | < 2 | > 3 |
| Leaver Processing Time | Zeit 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
| Event | Ticket-Typ | Priorität | Empfänger |
| SoD-Violation erkannt | Security Incident | P1 | Security Team + CISO |
| Orphaned Account gefunden | Security Task | P2 | IAM-Team |
| Break Glass aktiviert | Security Incident | P1 | CISO + Security Team |
| MFA-Coverage < 99% | Security Task | P2 | IAM-Team |
| Access Review überfällig | Compliance Task | P3 | Manager + Compliance |
| PAM Session ohne Recording | Security Incident | P1 | Security Team |
| Failed Provisioning | IT Task | P2 | IAM-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.