Check provider logo

Amazon Cognito user pool has self registration disabled

cognito_user_pool_self_registration_disabled

Severitymedium
Servicecognito
by Prowler

Amazon Cognito user pools are evaluated for self-service sign-up. The expected configuration is AllowAdminCreateUserOnly=true so only administrators create accounts.

When self sign-up is allowed, the check also highlights any linked identity pools and the authenticated role(s) that new users could assume.

Risk

Open sign-up lets untrusted users gain authenticated identities, potentially assuming identity pool roles. This can expose data (confidentiality), enable unauthorized actions (integrity), and drive abuse or cost via resource use (availability). Mass registrations and token harvesting increase the chance of lateral access.

Run this check with Prowler CLI

prowler aws --checks cognito_user_pool_self_registration_disabled

Recommendation

Enforce admin-only user creation. If self sign-up is necessary, require verification, MFA, and bot protections; restrict app clients. Apply least privilege to any roles for authenticated users and minimize scopes. Use approval/invite flows, add rate limits, monitor sign-ups, and audit access for defense in depth.

Remediation

CLI

aws cognito-idp update-user-pool --user-pool-id <USER_POOL_ID> --admin-create-user-config AllowAdminCreateUserOnly=true

Native IaC
Terraform
Other
  1. Open the AWS Console and go to Amazon Cognito > User pools
  2. Select the user pool
  3. Go to the Sign-up tab
  4. In Self-service sign-up, click Edit and disable (uncheck) Enable self-registration
  5. Click Save changes

Source Code

Resource Type

Other

References