Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
cognito_user_pool_advanced_security_enabledProvider: AWS
Service:
cognitoSeverity: MEDIUM
Categories:
identity-access, threat-detectionResource type:
OtherWhat this check verifies
Amazon Cognito user pools are evaluated for Threat protection (advanced security) mode:ENFORCED (full-function) vs AUDIT or disabled. This indicates whether adaptive risk responses and compromised-credential checks are applied during authentication.
Risk
Without enforced threat protection, risky sign-ins aren’t blocked-only logged-enabling credential stuffing, brute force, and account takeover. This threatens confidentiality and integrity via unauthorized access and token misuse, and can degrade availability through automated abuse.Recommendation
Set Threat protection toENFORCED to apply automatic mitigations.
- Require step-up MFA on risky events
- Block compromised credentials
- Use IP allow/deny lists and export logs for monitoring
Baseline in
AUDIT, then enforce. Apply defense in depth and least privilege across apps and clients.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html
- https://support.icompaas.com/support/solutions/articles/62000233667-ensure-cognito-user-pools-has-advanced-security-enabled-with-full-function
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_advanced_security_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