Architektur-Review Vorlage

Dieses Beispiel dokumentiert, wie Architekturentscheidungen inkl. Authentifizierung/Autorisierung festgehalten werden. Lege die ausgefüllte Datei unter docs/<projekt>/architektur-review.md ab und verknüpfe sie im ADR (adr/0001-auth.md).

# Architektur-Review – Projekt <Name>

## Kontext
- Release/Sprint: 2024-07 (SEC-REL-045)
- Reviewer: Security Champion (alice@example.com)
- Beteiligte Systeme: Web-Frontend, Auth-Service, Backend-API
- Protokolle: HTTPS, mTLS (intern), OAuth 2.0 / OIDC

## Schichten & Services
| Ebene        | Komponente        | Beschreibung                                    | Protokoll(e)        |
|--------------|-------------------|--------------------------------------------------|---------------------|
| Präsentation | Web-Frontend      | React SPA im CDN                                | HTTPS               |
| Auth         | Auth-Service      | Keycloak Realm „customer-prod“                  | HTTPS, OAuth 2.0    |
| Backend      | API Gateway       | Kong 3.0 (Rate-Limiting, JWT-Validierung)       | HTTPS, mTLS intern  |
| Daten        | Customer-Service  | Spring Boot, Zugriff auf Postgres               | mTLS intern         |

## AuthN/AuthZ Entscheidungen
- Flow: Authorization Code Flow mit PKCE, enforced MFA.
- Token-Claims: `sub`, `roles`, `tenant`. Backend-APIs prüfen `roles:admin` für Administrations-Endpunkte.
- Session-TTLs: 15 min Idle, 8 h absolute; Refresh Token 24 h.

## Sicherheitsmaßnahmen
- Rate Limiting: 200 req/min pro Token, Logging via ELK.
- Input Validation: Zentrale Validator-Bibliothek `@company/validation` in jedem Service.
- Secrets: Vault Agent Sidecar, JWT Signing Keys rotieren alle 30 Tage.

## Eskalationsprüfung
- Offene Fragen: Benötigt der neue Partner-API-Access eine DSGVO-Freigabe? (Ticket LEG-58)
- Risiko: Keycloak Patch CVE-2024-1234 offen (Patch spätestens im Sprint 2024-08 einplanen).
- Entscheid: Keine Eskalation an CISO (Risiko Low, kompensiert durch WAF-Regel).

## Freigaben
- Security Champion: _Alice Example, 2024-06-30_
- Product Owner: _Bob Owner, 2024-06-30_