WAF-SOV-070 β Break-Glass Process & Logging
Description
A formally documented break-glass process MUST exist that defines trigger criteria, approval workflow, activation steps, and post-incident review requirements. All break-glass actions MUST be fully logged via CloudTrail (or equivalent) with log file validation.
Root account and emergency admin activities MUST trigger real-time alerts. Post-incident reviews MUST be documented and linked to the activation event.
Rationale
Break-glass access represents the highest-risk event in a cloud environment: emergency use of highly privileged credentials that bypass normal access controls. Without a defined process, logging, and review cycle, break-glass becomes a permanent backdoor.
From a sovereignty perspective, unlogged privileged access can modify region constraints, disable audit logging, change key policies, or exfiltrate data β thereby destroying the entire sovereignty posture in a single incident.
Threat Context
| Risk | Description |
|---|---|
Break-glass as permanent backdoor |
Emergency access not decommissioned after incident; becomes a permanent backdoor. |
Root account used for routine tasks |
Root account credentials used for regular tasks without logging or review. |
No audit trail during break-glass |
Activation without logging enables plausible deniability in case of abuse. |
Unrotated emergency credentials |
Compromised emergency credentials not rotated after incident closure. |
CloudTrail disabled during "maintenance" |
Logging deactivation prevents forensic reconstruction in case of a data breach. |
Regulatory Mapping
| Framework | Controls |
|---|---|
GDPR |
Art. 32 β Security of processing; Art. 33 β Notification of data breaches |
BSI C5:2020 |
IAM-03 β Privileged access management; LOG-01 β Logging; BCM-02 β Incident management |
EUCS (ENISA) |
IAM-03 β Emergency access; LOG-01 β Audit logging |
ISO 27001:2022 |
A.5.26 β Response to information security incidents; A.8.15 β Logging; A.8.16 β Monitoring activities |
SOC 2 |
CC7.4 β Security incident response |
BSI C3A:2026 |
Dimension 3 β State of Defense Takeover: Emergency procedures; Dimension 3 β State of Defense Takeover: Federal takeover provisions |
Requirement
-
A break-glass runbook MUST exist: trigger criteria, authorized personnel, approval chain, steps, decommissioning, and review
-
CloudTrail MUST be configured as multi-region with
is_multi_region_trail = trueandenable_log_file_validation = true -
The CloudTrail S3 bucket MUST have public access block fully enabled
-
CloudWatch alarms MUST be configured for root account API calls and IAM policy changes
-
Break-glass credentials MUST be immediately rotated after every use
-
Post-incident review MUST be documented within 5 business days and linked to CloudTrail event IDs
-
The break-glass process MUST be tested at least annually in a non-production environment
Implementation Guidance
-
Document break-glass runbook: Trigger criteria, authorized personnel, approval chain, step-by-step procedure, decommissioning, and review.
-
Store credentials securely: Break-glass credentials in a dedicated and independently audited secret store (not in the main vault).
-
Configure CloudTrail completely: Multi-region, log file validation, global service events, CloudWatch integration.
-
Set up CloudWatch alarms: Root account API calls, console sign-ins without MFA, IAM policy changes.
-
Rotate credentials immediately: After every use; never use for routine tasks.
-
Enforce post-incident review: Within 5 business days of activation; linked to CloudTrail event IDs.
-
Conduct drill: Annual test of the break-glass process in non-production.
-
Secure S3 bucket: Never make the CloudTrail bucket public; consider Object Lock for logs.
Maturity Levels
| Level | Name | Criteria |
|---|---|---|
1 |
Break-glass exists but undocumented |
Emergency access credentials available; no formal process documented. |
2 |
Process documented, basic logging |
Break-glass runbook exists and is versioned; CloudTrail enabled for the account. |
3 |
Full logging, alarms, and post-incident review |
CloudTrail multi-region with log file validation; real-time alarms on root/break-glass activation; post-incident review mandatory and documented. |
4 |
Automated detection and credential rotation |
Automatic credential rotation after every use; break-glass activations automatically trigger a change management ticket; annual non-production drill completed. |
5 |
Zero standing privilege with just-in-time break-glass |
No permanent break-glass credentials; on-demand activation with dual approval; full forensic evidence chain automated; mean time to activate < 5 minutes with generated audit artifact. |
Terraform Checks
waf-sov-070.tf.aws.cloudtrail-enabled-all-regions
Checks: CloudTrail must be multi-region with log file validation and global service events.
| Compliant | Non-Compliant |
|---|---|
|
|
waf-sov-070.tf.aws.cloudtrail-s3-bucket-not-public
Checks: The CloudTrail S3 bucket must have full public access block enabled.
| Compliant | Non-Compliant |
|---|---|
|
|
waf-sov-070.tf.aws.cloudwatch-alarm-root-login
Checks: CloudWatch alarm for root account activity must be configured.
# Compliant: Metric Filter + Alarm for root account usage
resource "aws_cloudwatch_log_metric_filter" "root_usage" {
name = "root-account-usage"
pattern = "{$.userIdentity.type = Root && $.userIdentity.invokedBy NOT EXISTS && $.eventType != AwsServiceEvent}"
log_group_name = aws_cloudwatch_log_group.cloudtrail.name
metric_transformation {
name = "RootAccountUsageCount"
namespace = "CloudTrailMetrics"
value = "1"
}
}
resource "aws_cloudwatch_metric_alarm" "root_usage" {
alarm_name = "root-account-usage"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "RootAccountUsageCount"
namespace = "CloudTrailMetrics"
period = "60"
statistic = "Sum"
threshold = "1"
alarm_actions = [aws_sns_topic.security_alerts.arn]
}
waf-sov-070.tf.aws.cloudwatch-alarm-iam-policy-changes
Checks: CloudWatch alarm for IAM policy changes must be configured.
# Compliant: Metric Filter for IAM policy changes
resource "aws_cloudwatch_log_metric_filter" "iam_changes" {
name = "iam-policy-changes"
pattern = "{($.eventName = CreatePolicy) || ($.eventName = DeletePolicy) || ($.eventName = AttachRolePolicy) || ($.eventName = DetachRolePolicy)}"
log_group_name = aws_cloudwatch_log_group.cloudtrail.name
metric_transformation {
name = "IAMPolicyChangeCount"
namespace = "CloudTrailMetrics"
value = "1"
}
}
waf-sov-070.tf.stackit.logging-enabled
Checks: StackIT services must have logging enabled.
Supported providers: StackIT
Evidence
| Type | Required | Description |
|---|---|---|
Process |
β Required |
Break-glass runbook (versioned; covering triggers, approval, activation, decommissioning, review). |
IaC |
β Required |
CloudTrail resources with |
IaC |
β Required |
CloudWatch metric filters and alarms for root account activity. |
Logs |
Optional |
Sample post-incident review record from the last break-glass test or activation event. |
Config |
Optional |
Secret store configuration for break-glass credential storage. |
Regulatorisches Mapping
| Framework | Controls |
|---|---|
DSGVO |
Art. 44 β Allg. GrundsΓ€tze fΓΌr Γbermittlungen; Art. 46 β Geeignete Garantien; Art. 28 β Verarbeitungsvereinbarung |
BSI C5:2020 |
OPS-04 β Datenverwaltung; OPS-05 β Datenleakage-PrΓ€vention; SIM-01 β Sicherheitsvorfallmanagement |
EUCS (ENISA) |
DSP-01 β Datenklassifikation; DSP-02 β Dateninventar und Datenfluss; DSP-03 β DatenverfΓΌgbarkeit; DSP-04 β DatenlΓΆschung; IAM-01 β IdentitΓ€t und Zugriff |
ISO 27001:2022 |
A.5.12 β Klassifizierung von Informationen; A.5.13 β Kennzeichnung von Informationen; A.5.33 β Schutz von Aufzeichnungen |
ISO 27017 |
CLD.5.1 β Information security in cloud services; CLD.5.2 β Access control in cloud services |
ISO 27018 |
A.2 β Purpose legitimacy and PII protection; A.10 β Confidentiality and security of PII |
BSI C3A:2026 |
Domain β Datenhoheit; Domain β Cloud-Spezifische Anforderungen |
GAIA-X |
Sovereign Cloud β Anforderungen an Datenlokation und Transparenz |
NIST SP 800-53 |
SC-1 β Cloud computing security; SC-7 β Boundary protection; SC-8 β Transmission confidentiality |
NIST CSF 2.0 |
GV.PO β Policy; GV.RM β Risk management; GV.SC β Cybersecurity supply chain risk management |
FedRAMP |
SC-1, SC-7, SC-8 (High baseline) |
TISAX |
Information security β Data protection; Prototype protection β Sensitive data handling |
ANSSI SecNumCloud |
Domain β Data protection; Domain β Cloud security |
BIO |
BIO β Gegevensbescherming; BIO β Cloudbeveiliging |
ENS High |
ds.info.1 β Datos personales; ds.info.2 β CalificaciΓ³n de la informaciΓ³n |
UK NCSC CAF |
B3 β Understanding data; B4 β System security |
CMMC 2.0 |
SC.L2-3.13.16 β Protect CUI confidentiality at rest |
IRAP |
ISM β Data protection; ISM β Cloud security |
CCCS PBMM |
SC-7 β Boundary protection; SC-8 β Transmission confidentiality |
MAS TRM |
Ch.5 β Technology risk governance; Ch.8 β Cloud computing controls |
ISMAP |
Data sovereignty and cloud security |
FISC |
Technical measures β Data protection |