IAM user access keys are assessed via the credential report. For each active key, the last_rotated timestamp is compared to 90 days; keys exceeding this age are identified. Users without keys or with only recent rotations are noted.
Risk
Long-lived access keys widen the attack window. If a key is leaked in code, logs, or tooling, lack of rotation keeps it valid for abuse, enabling unauthorized API calls, data exfiltration, and tampering. This degrades confidentiality and integrity and can impact availability and cost through destructive or excessive operations.
prowler aws --checks iam_rotate_access_key_90_days
Recommendation
Apply least privilege and limit static credentials:
- Rotate active access keys at or before
90 days - Prefer IAM roles with short-lived tokens
- Maintain only one active key during rotation; delete the old one
- Monitor
last_usedand remove dormant keys - Automate alerts and periodic reviews of key age
Remediation
aws iam update-access-key --user-name <USER_NAME> --access-key-id <ACCESS_KEY_ID> --status Inactive
- Open the IAM console and go to Users
- Select the affected user
- Open the Security credentials tab
- Under Access keys, find any key older than 90 days
- Click Actions > Deactivate (or Delete) for that key
- Repeat for any other active keys older than 90 days
Source Code
Resource Type
AwsIamUser