AWS Security Hub · DocumentDB
DocumentDB.5: DocumentDB clusters should have deletion protection
Written and reviewed by Emnode · Last reviewed
What does AWS Security Hub DocumentDB.5 check?
DocumentDB.5 checks whether each DocumentDB cluster has the `DeletionProtection` flag enabled. It's a change-triggered Config rule on `AWS::RDS::DBCluster` that reports FAILED for any cluster where the flag is off, lighting up the moment a cluster is created or modified without it.
Why does DocumentDB.5 matter?
With protection off, a single `delete-db-cluster` call, an errant Terraform `destroy`, or a misconfigured automation can take the whole cluster and its data to zero in seconds. Accidental deletion is one of the highest-blast-radius mistakes in the cloud and one of the cheapest to prevent: the flag is free, instant, and reversible, while the cost of not having it is potentially your entire dataset.
How do I fix DocumentDB.5?
- Audit every cluster's protection state.
- Enable deletion protection on each unprotected cluster: no maintenance window needed.
- Bake the flag into provisioning templates so new clusters arrive protected.
- Document the safe path for intentional deletes (disable the flag, then delete).
Remediation script · bash
# Enable deletion protection on every unprotected standalone RDS instance in a region.
for id in $(aws rds describe-db-instances \
--query 'DBInstances[?DeletionProtection==`false`].DBInstanceIdentifier' --output text); do
aws rds modify-db-instance --db-instance-identifier "$id" \
--deletion-protection --apply-immediately
echo "Protected RDS instance: $id"
done
# Termination-protect every production-tagged CloudFormation stack (eyeball the list first).
aws cloudformation describe-stacks \
--query "Stacks[?Tags[?Key=='Environment' && Value=='production']].StackName" \
--output text | tr '\t' '\n' | while read -r stack; do
aws cloudformation update-termination-protection \
--stack-name "$stack" --enable-termination-protection
echo "Protected stack: $stack"
done
# Deletion-protect a production load balancer.
aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$LB_ARN" \
--attributes Key=deletion_protection.enabled,Value=true Full walkthrough (console steps, edge cases and verification) in the lesson Enable deletion and termination protection.
Is DocumentDB.5 a false positive?
Deletion protection is on by default for clusters created in the console, so teams assume it's always set, but clusters created via CLI, SDK, or IaC frequently miss it, which is where the finding shows up.
More DocumentDB controls
- DocumentDB.1 DocumentDB clusters should encrypt at rest
- DocumentDB.2 DocumentDB adequate backup retention
- DocumentDB.3 A DocumentDB manual snapshot is public
- DocumentDB.4 DocumentDB clusters should export audit logs to CW
- DocumentDB.6 DocumentDB clusters should encrypt in transit