Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
dynamodb_table_deletion_protection_enabledProvider: AWS
Service:
dynamodbSeverity: MEDIUM
Categories:
resilienceResource type:
AwsDynamoDbTableWhat this check verifies
DynamoDB tables have deletion protection enabled via thedeletion protection setting, meaning delete operations require this setting to be disabled first
Risk
Without deletion protection, tables can be removed by authorized actions or misconfigured automation, causing irrecoverable data loss and service outage. This impacts integrity and availability, and increases the blast radius of compromised credentials or mistaken runbooks.Recommendation
Enable deletion protection on critical tables.- Enforce least privilege to restrict who can modify this setting
- Require change control to disable it before planned deletes
- Combine with PITR and backups for defense in depth
- Use automation to make this the default for new tables
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws dynamodb update-table —table-name <TABLE_NAME> —deletion-protection-enabled
References
- https://docs.aws.amazon.com/securityhub/latest/userguide/dynamodb-controls.html#dynamodb-6
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = dynamodb_table_deletion_protection_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks