WAF-SOV-010 – Data Residency Policy Defined
Beschreibung
Eine dokumentierte Data-Residency-Policy MUSS existieren, die für alle Datenkategorien (Primärdaten, Replikation, Backups, Logs/Traces/Metriken, Metadaten) und alle Umgebungen (prod/non-prod) erlaubte Regionen und Datenklassen explizit definiert.
Die Policy MUSS versioniert und technisch in IaC-Defaults, Provider-Konfigurationen
und Variable-Validation-Blöcken abgebildet sein. Tagging aller datenhaltenden Ressourcen
mit data-residency und data-class ist zwingend.
Rationale
Ohne eine dokumentierte und technisch abgebildete Residency-Policy ist kein anderer Sovereign-Control nachweisbar. Ohne Tagging und explizite Region-Konfigurationen in IaC können Daten lautlos durch Backup-Replikation, Log-Exporte oder Drittanbieter-Integrationen in nicht-souveräne Jurisdiktionen wandern.
Compliance mit DSGVO, BSI C5, EUCS und ähnlichen Regelwerken erfordert demonstrierbare geographische und jurisdiktionelle Kontrolle – nicht nur vertragliche Zusagen.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Daten in falscher Jurisdiktion |
Unconstrained IaC-Defaults führen stillschweigend zu Ressourcen in nicht-erlaubten Regionen. |
Regulatorischer Verstoß |
DSGVO Art. 46, EUCS, BSI C5: Fehlende Nachweisbarkeit gilt als Verstoß, selbst wenn Daten faktisch korrekt gespeichert sind. |
Fehlender Audit-Trail |
Nicht klassifizierte Datenflüsse können bei Audits nicht nachgewiesen werden. |
Drift ohne Erkennung |
Neue Ressourcen ohne Tagging-Policy bleiben bei Compliance-Scans unsichtbar. |
Regulatorisches Mapping
| Framework | Controls |
|---|---|
DSGVO |
Art. 44 – Allg. Grundsätze für Übermittlungen; Art. 46 – Geeignete Garantien; Art. 30 – Verzeichnis der Verarbeitungstätigkeiten |
BSI C5:2020 |
OPS-04 – Datenverwaltung; SIM-01 – Sicherheitsvorfallmanagement |
EUCS (ENISA) |
DSP-01 – Datenklassifikation; IAM-04 – Zugangskontrollpolitik |
ISO 27001:2022 |
A.8.10 – Informationslöschung; A.5.12 – Klassifizierung von Informationen; A.5.33 – Schutz von Aufzeichnungen |
GAIA-X |
Sovereign Cloud – Anforderungen an Datenlokation und Transparenz |
Anforderung
Eine Data-Residency-Policy MUSS:
-
alle Datenkategorien (PII, Gesundheitsdaten, Finanzdaten, operativ, öffentlich) benennen
-
pro Datenkategorie erlaubte Regionen und Jurisdiktionen festlegen
-
Primärdaten, Replikationen, Backups, Logs und Metadaten abdecken
-
für alle Umgebungen (prod/non-prod) gültig sein
-
versioniert im Repository vorliegen (kein PDF in SharePoint)
-
technisch in IaC-Defaults, Variable-Validation und Tagging-Pflicht abgebildet sein
Implementierungsanleitung
-
Policy-Dokument erstellen: Als maschinenlesbare YAML-Datei neben dem Terraform-Code ablegen; semantische Versionierung verwenden.
-
Datenklassen definieren: Mindestens:
pii,financial,health,operational,public. -
Regionen explizit festlegen: Keine offenen „EU"-Angaben; konkrete Cloud-Region-IDs (z.B.
eu-central-1,germanywestcentral). -
IaC-Defaults setzen: Provider-Region in allen Blöcken explizit; kein Fallback auf Umgebungsvariablen.
-
Variable-Validation ergänzen: Alle Region/Location-Variablen mit
validation-Block für erlaubte Werte. -
Mandatory Tagging Module einführen: Zentrales Modul, das
data-residencyunddata-classTags erzwingt. -
CI-Gate aktivieren: WAF++ Checker oder OPA-Policy in CI-Pipeline integrieren.
-
Quarterly Review: Policy mindestens jährlich, besser quartalsweise auf neue Datenflüsse prüfen.
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Policy dokumentiert |
Policy-Dokument existiert und ist versioniert; Primärregionen definiert. |
2 |
Alle Datenkategorien abgedeckt |
Policy deckt Backups, Logs, Metadaten ab; erlaubte Regionen je Datenkategorie; jährliches Review. |
3 |
Technisch in IaC abgebildet |
IaC nutzt Validation-Blöcke; CI-Pipeline validiert Region-Settings; alle datenhaltenden Ressourcen korrekt getaggt. |
4 |
Kontinuierliche Drift-Erkennung |
Automatisiertes Scanning erkennt Policy-Verstöße in Live-Infrastruktur; Alerts bei neuen unklassifizierten Ressourcen. |
5 |
Policy-as-Code mit Auto-Remediation |
Policy vollständig maschinenlesbar; Verstöße werden automatisch remediert oder geblockt; Audit-Evidenz automatisch gesammelt. |
Terraform Checks
waf-sov-010.tf.any.resource-tag-data-residency
Prüft: Datenhaltende Ressourcen müssen data-residency und data-class Tags tragen.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: Tags data-residency und data-class zu allen datenhaltenden Ressourcen
(S3, RDS, DynamoDB, Storage Accounts, GCS Buckets) hinzufügen.
Zulässige Werte für data-residency: eu-only, de-only, ch-only, global-approved.
waf-sov-010.tf.aws.provider-region-explicit
Prüft: AWS Provider muss region explizit setzen (kein Fallback auf AWS_DEFAULT_REGION).
| Compliant | Non-Compliant |
|---|---|
|
|
waf-sov-010.tf.azurerm.location-explicit
Prüft: Azure Resource Groups und kritische Ressourcen müssen location explizit setzen.
# Compliant
variable "azure_location" {
type = string
default = "germanywestcentral"
validation {
condition = contains(
["germanywestcentral", "westeurope", "northeurope"],
var.azure_location
)
error_message = "Nur souveräne Azure-Regionen erlaubt."
}
}
resource "azurerm_resource_group" "main" {
name = "rg-sovereign-prod"
location = var.azure_location
}
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
Governance |
✅ Pflicht |
Versioniertes Data-Residency-Policy-Dokument; alle Datenkategorien und erlaubten Regionen enthalten. |
IaC |
✅ Pflicht |
Terraform Provider-Konfigurationen und Variable-Defaults mit Region-Validation. |
Architecture |
Optional |
Architekturdiagramme mit Datenflüssen, Trust Boundaries und Region-Labels. |
Process |
Optional |
Änderungshistorie und Review-Protokolle des Policy-Dokuments. |