Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
cognito_user_pool_deletion_protection_enabledProvider: AWS
Service:
cognitoSeverity: MEDIUM
Categories:
resilienceResource type:
OtherWhat this check verifies
Amazon Cognito user pools have deletion protection set toACTIVE. The evaluation inspects each user pool’s deletion protection status.
Risk
Without deletion protection, any principal with delete rights can remove a user pool in one action, causing immediate authentication outages. Identities and configurations are lost, breaking sign-ins and tokens, harming availability and integrity, and prolonging recovery if exports/backups are stale.Recommendation
Enable deletion protection (ACTIVE) on all production user pools.
- Enforce least privilege by restricting delete permissions
- Require change control and multi-party approval to deactivate protection
- Add monitoring and alerts for status changes as defense in depth
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws cognito-idp update-user-pool —user-pool-id <example_resource_id> —deletion-protection ACTIVE
References
- https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-deletion-protection.html
- https://repost.aws/questions/QUDX0aXegdThit0uD5kB_Fjw/cognito-user-pool-cannot-be-deleted-from-aws-console
- https://support.icompaas.com/support/solutions/articles/62000233677-ensure-cognito-user-pools-deletion-protection-enabled-to-prevent-accidental-deletion
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = cognito_user_pool_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