IAM user access key has not been rotated in over 180 days
- Severity
- High
- Service
- IAM
- Check ID
- USER_ACCESS_KEY_STALE
What this check finds
An access key that has not been rotated for more than 180 days represents a significantly elevated risk. Long-lived credentials are far more likely to have been inadvertently exposed in logs, source code, or configuration files. At 180 days the window of undetected exposure becomes operationally unacceptable.
Passing looks like: IAM access keys rotated within 180 days.
How to fix it
Rotate the key immediately. Create a new key, update all services using the old key, then delete it.
AWS CLI
aws iam create-access-key --user-name USERNAMEUpdate dependent services, then delete the old key:
aws iam delete-access-key --user-name USERNAME --access-key-id OLD_KEY_IDConsider switching to IAM roles or short-lived credentials via AWS STS instead of long-lived access keys.
Names in capitals are placeholders for your own resource. Review a command before you run it.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| CIS AWS Foundations Benchmark v5.0.0 |
|
| PCI-DSS v4.0.1 |
|
| SOC 2 — Trust Services Criteria |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More IAM checks
- HighDeprecated or flawed AWS managed policy in use
- HighIAM role allows assumption from anywhere
- HighIAM role with admin privileges can be assumed by unexpected principals
- HighIAM role with s3 listing and get privileges can be assumed by unexpected principals
- HighIncorrect policy used to attempt to enforce MFA
- HighInline policy allows privilege escalation to admin
- HighPrincipal has an attached policy granting administrative access
- MediumExpired SSL/TLS certificate stored in IAM