Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
iam_user_console_access_unusedProvider: AWS
Service:
iamSeverity: MEDIUM
Categories:
identity-accessResource type:
AwsIamUserWhat this check verifies
IAM users with console access are evaluated bypassword_last_used. Inactivity beyond max_console_access_days (default 45) marks stale console access.
Users without console access are excluded.
Risk
Dormant console credentials stay valid and invite password spraying, credential stuffing, and breach reuse. Compromise yields interactive access for data discovery/exfiltration and unauthorized IAM or resource changes, degrading confidentiality and integrity, and risking availability.Recommendation
Remove or disable console passwords for users inactive beyond your window (e.g.,45 days). Prefer roles or federation over long-lived IAM users. Enforce least privilege, require MFA for remaining console users, and run periodic reviews and deprovisioning to prevent unused credentials.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws iam delete-login-profile —user-name <USER_NAME>
References
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html
- https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = iam_user_console_access_unused. 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