Check provider logo

IAM account password policy enforces password expiration within 90 days or less

iam_password_policy_expires_passwords_within_90_days_or_less

Severitymedium
Serviceiam
by Prowler

IAM account password policy sets a password expiration period for IAM user console logins; configuration is aligned when rotation is enabled and set to <= 90 days.

Risk

Without rotation, stale passwords persist, enabling credential stuffing, brute force, and password reuse attacks. A compromised IAM user can retain console access, enabling data exfiltration, privilege escalation, and loss of confidentiality and integrity.

Run this check with Prowler CLI

prowler aws --checks iam_password_policy_expires_passwords_within_90_days_or_less

Fix finding with Prowler CLI

prowler aws --checks iam_password_policy_expires_passwords_within_90_days_or_less --fixer

Recommendation

Enforce password rotation at <= 90 days and prevent reuse. Pair with MFA, strong length/complexity, and prefer federation/SSO to reduce static passwords. Apply least privilege, monitor sign-ins, and remove inactive console passwords to limit exposure.

Remediation

CLI

aws iam update-account-password-policy --max-password-age 90

Native IaC
Terraform
Other
  1. In the AWS Console, go to IAM
  2. Select Account settings
  3. In Password policy, click Edit
  4. Check Enable password expiration and set Password expiration period (days) to 90 or less
  5. Click Save changes

Source Code

Resource Type

AwsIamPolicy

References