Prefer IAM roles over access keys for programmatic access
Medium
AWS
General
aws-iam-user-prefer-iam-roles-over
Applies to
AWS::IAM::User
What CGPulse checks
A resource passes this rule when accessKeyCount must be less than 1. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Use IAM roles with temporary STS AssumeRole credentials instead of long-term access keys for programmatic access. See: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html
Terraform
# Prefer IAM roles with temporary credentials via STS AssumeRole
# Avoid long-term access keys
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related AWS rules
- ACM certificate must be eligible for renewal
- ACM certificate must be in issued status
- Amplify app should have basic auth disabled for production
- API Gateway REST API must have an endpoint configuration
- API Gateway V2 API must be properly configured
- App Runner service must have encryption enabled
- AppSync API must have logging configured
- AppSync API must have X-Ray tracing enabled