Design Patterns
Die folgenden Patterns sind erprobt und von den WAF++ Prinzipien abgeleitet. Sie sind cloud-agnostisch formuliert, mit provider-spezifischen Hinweisen.
Pattern 1: Region-Pinned Landing Zone
Problem
Ohne eine strukturierte Landing Zone können einzelne Teams Ressourcen in beliebigen Regionen erstellen.
Lösung
Eine Landing Zone mit eingebautem Region-Pinning schlägt alle anderen Maßnahmen durch technische Vorab-Constraints.
Struktur
Organization Root
├── Management Account
│ └── Service Control Policy: DenyOutsideApprovedRegions
├── Sovereign Workload OU
│ ├── Production Account
│ │ ├── Terraform: provider.region = var.aws_region (validated)
│ │ ├── VPC Endpoints: S3, KMS, ECR, STS
│ │ └── CloudTrail: multi-region, log-validation, sovereign S3
│ └── Non-Production Account
│ └── Same constraints, different data classification
└── Shared Services Account
└── Central Logging: CloudWatch Logs, S3 (eu-central-1 enforced)
Pattern 2: Sovereign Key Hierarchy
Lösung
Eine drei-schichtige Key-Hierarchie nach Datenkritikalität:
Tier 1 – Public/Low-sensitivity Data
└── Provider-Managed Key (PMK) – akzeptabel
Tier 2 – Internal/Operational Data
└── Customer-Managed Key (CMK) in Cloud-KMS
├── Rotation: automatisch (jährlich)
└── Key Policy: restrict to specific services/principals
Tier 3 – PII / Financial / Health Data
└── BYOK: Customer-Key, Cloud-managed HSM (CloudHSM, Azure HSM, Cloud HSM)
oder
HYOK: Key in externem HSM (Thales, Utimaco, Securosys)
├── Zugriff für Cloud-Provider: technisch nicht möglich
└── Rotation: manuell / prozessgesteuert
Pattern 3: Sovereign Observability Stack
Lösung
Ein sovereign Observability Stack verarbeitet Daten innerhalb der genehmigten Regionen:
Application
└── OpenTelemetry SDK (vendor-neutral)
├── Traces → Sovereign Trace Backend (Jaeger/Tempo in eu-central-1)
├── Metrics → Sovereign Metrics Backend (Prometheus/Thanos in eu-central-1)
└── Logs → CloudWatch/S3 (eu-central-1, retention=90d, KMS-encrypted)
└── Optionaler Export zu DPA-gesichertem SIEM
Pattern 4: Break-Glass with Zero Standing Privilege
Lösung
Zero Standing Privilege: Admin-Zugriff existiert nicht permanent, sondern wird nur bei Bedarf aktiviert.
Normalbetrieb:
├── Developers: read-only oder scoped write (Applikationsebene)
├── Operations: Operations-Rolle (kein IAM-Zugriff)
└── Platform: Platform-Rolle (IaC-Deploy, kein Datenzugriff)
Break-Glass Aktivierung:
├── Trigger: dokumentierter Incident / Genehmigung (Dual Control)
├── Aktivierung: JIT-System (IAM Identity Center / Azure PIM)
├── Dauer: max. 4h, nach Ablauf automatische Deaktivierung
├── Logging: CloudTrail sammelt alle Aktionen
└── Review: Post-Incident Review innerhalb 5 Werktagen, Protokoll archiviert
Pattern 5: Sovereign Egress Gateway
Lösung
Zentralisierter Egress-Punkt mit Domain Allow-List und Anomalie-Erkennung:
Workload Subnet (Private)
└── alle ausgehenden Verbindungen → Egress Gateway
Egress Gateway
├── AWS Network Firewall / Azure Firewall / GCP Cloud Armor
├── Domain Allow-List (FQDN-basiert)
│ ├── Approved: *.amazonaws.com (via VPC Endpoint)
│ ├── Approved: *.internal.company.com
│ └── Blocked: * (default deny)
├── DNS: Route53 Resolver / Azure Private DNS
└── Logging: Flow Logs → sovereign S3
VPC Endpoints (kein Internet-Routing):
├── com.amazonaws.eu-central-1.s3
├── com.amazonaws.eu-central-1.kms
├── com.amazonaws.eu-central-1.ecr.api
└── com.amazonaws.eu-central-1.sts
Pattern 6: Exit-Ready IaC Architecture
Lösung
Portables IaC mit abstrakten Modulen und offenen Standards:
IaC Abstraction Layer
├── Module: network/vpc → AWS VPC oder Azure VNet
├── Module: storage/object → S3 oder Azure Blob oder GCS
├── Module: database/relational → RDS PostgreSQL oder Azure PostgreSQL
└── Module: compute/container → EKS oder AKS oder GKE
Daten-Standards:
├── PostgreSQL (open) statt Aurora Serverless v2 (proprietär)
├── OpenTelemetry statt X-Ray (proprietär)
└── S3-compatible API statt proprietary object store features
Exit-Readiness:
├── Quarterly Data Export Test: alle Daten exportiert und validiert
├── Terraform Plan in Ziel-Cloud: IaC angepasst und geplant
└── Lessons Learned dokumentiert