| ACM RSA certificates should use a key length of at least 2,048 bits | Enforced | 3.7.1 |
| AppSync GraphQL APIs should have field-level logging enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| CloudFront distributions access logs should be enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| CloudFront distributions should have AWS WAF enabled | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 6.4.1, 6.4.2, A1.1.2 |
| CloudWatch alarms should have an action configured | Enforced | 10.2.1.1, 10.4.1, 10.4.1.1, 10.4.2, 10.4.3, 10.6.3, 10.7.1, 10.7.2, 11.5.2, 11.6.1, 12.10.5, A3.3.1, A3.5.1 |
| CloudWatch log groups should have retention period of at least 365 days | Enforced | 3.2.1, 3.3.1.1, 3.3.1.3, 3.3.2, 3.3.3, 5.3.4, 10.5.1 |
| DynamoDB tables should have AWS KMS encryption enabled | Enforced | 3.5.1, 8.3.2 |
| DynamoDB tables should have encryption enabled | Enforced | 3.5.1, 8.3.2 |
| DynamoDB tables should have point-in-time recovery enabled | Enforced | 3.2.1, 3.3.1.1, 3.3.1.3, 3.3.2, 3.3.3, 10.3.3, 10.5.1 |
| Attached EBS volumes should have encryption enabled | Enforced | 3.5.1, 8.3.2 |
| EC2 instances should have detailed monitoring enabled | Enforced | 10.2.1.1, 10.4.1, 10.4.1.1, 10.4.2, 10.6.3, 10.7.1, 10.7.2, A3.3.1, A3.5.1 |
| EC2 instances should have IAM profile attached | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4 |
| EC2 instances should be in a VPC | Enforced | 1.4.4 |
| EC2 instances should not use key pairs in running state | Enforced | 8.3.11 |
| EC2 instances should not have a public IP address | Enforced | 11.5.2 |
| EC2 instances should use IMDSv2 | Enforced | 8.2.8 |
| EC2 launch templates should not assign public IPs to network interfaces | Enforced | 1.4.5 |
| ECR repositories should have image scan on push enabled | Enforced | 11.3.1, 11.3.1.3 |
| ECS task definitions should not share the host's process namespace | Enforced | 1.4.5 |
| EFS file systems should have encryption at rest enabled | Enforced | 3.5.1, 8.3.2 |
| EKS clusters should have control plane audit logging enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| EKS clusters endpoint public access should be restricted | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, A1.1.2 |
| EKS clusters should be configured to have kubernetes secrets encrypted using KMS | Enforced | 3.5.1, 8.3.2 |
| ElastiCache for Redis replication groups should be encrypted at rest | Enforced | 3.5.1, 8.3.2 |
| ElastiCache for Redis replication groups should be encrypted in transit | Enforced | 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| ELB application and classic load balancer logging should be enabled | Enforced | 5.3.4, 6.2.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| ELB classic load balancers should be configured with defensive or strictest desync mitigation mode | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| EMR cluster Kerberos should be enabled | Enforced | 8.3.2 |
| FSx for Lustre file systems should be configured to copy tags to backups | Enforced | 10.3.3 |
| API Gateway V2 stages should have access logging configured | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| KMS CMK rotation should be enabled | Enforced | 3.7.4, 3.7.5 |
| Lambda functions should be in a VPC | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, A1.1.2 |
| Lambda functions should use latest runtimes | Enforced | 6.3.3, 12.3.4 |
| Log groups should have encryption at rest enabled | Enforced | 3.5.1, 8.3.2, 10.3.2, 10.3.3, 10.3.4, A1.2.3 |
| MSK clusters should require TLS for client-broker connections | Enforced | 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| Network Firewall policies should have default stateless action set to drop or forward for fragmented packets | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.4.3, 1.5.1, A1.1.2 |
| Network Firewall policies should have default stateless action set to drop or forward for full packets | Enforced | 1.2.6, 1.4.3 |
| OpenSearch domains should have audit logging enabled | Enforced | 5.3.4, 10.5.1 |
| OpenSearch domains should have encryption at rest enabled | Enforced | 3.5.1, 8.3.2 |
| OpenSearch domains should have fine-grained access control enabled | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.2.6, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4, 10.6.3 |
| OpenSearch domains should have logging to CloudWatch Logs enabled | Enforced | 5.3.4, 10.5.1 |
| OpenSearch domains node-to-node encryption should be enabled | Enforced | 1.2.5, 2.2.5, 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| Aurora MySQL DB clusters should have audit logging enabled | Enforced | 10.6.3 |
| RDS DB clusters should be encrypted at rest | Enforced | 3.5.1, 8.3.2 |
| RDS DB clusters should have IAM authentication configured | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4 |
| RDS DB instance automatic minor version upgrade should be enabled | Enforced | 6.3.3 |
| RDS DB instance backup should be enabled | Enforced | 10.3.3 |
| RDS DB instances should be integrated with CloudWatch logs | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| RDS DB instance encryption at rest should be enabled | Enforced | 3.5.1, 8.3.2 |
| RDS DB instances should have iam authentication enabled | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4 |
| Redshift clusters should have audit logging enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| Redshift clusters should have automatic upgrades to major versions enabled | Enforced | 6.3.3 |
| Redshift cluster encryption in transit should be enabled | Enforced | 1.2.5, 2.2.5, 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| Redshift clusters should have enhanced VPC routing enabled | Enforced | 1.3.1, 1.3.2, 1.4.1, 1.4.2, 1.4.4 |
| Redshift clusters should have KMS encryption enabled | Enforced | 3.5.1, 8.3.2 |
| Redshift clusters should have required maintenance settings | Enforced | 6.3.3 |
| Redshift clusters should have Multi-AZ deployments enabled | Enforced | 3.5.1, 5.3.4, 6.3.3, 8.3.2, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| S3 buckets should not use ACLs for user access control | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4 |
| S3 buckets should have default encryption enabled | Enforced | 3.5.1, 8.3.2 |
| S3 buckets should have event notifications enabled | Enforced | 11.5.2, 11.6.1, 12.10.5, A3.3.1, A3.5.1 |
| S3 buckets should have lifecycle policies configured | Enforced | 3.2.1, 3.3.1.1, 3.3.1.3, 3.3.2, 3.3.3, 10.5.1 |
| S3 buckets should have logging enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| S3 buckets should have MFA delete enabled | Enforced | 3.5.1.3, 8.4.1, 8.4.2, 8.4.3, 10.3.2, A1.1.2, A3.4.1 |
| S3 buckets should not be accessible to all authenticated users | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 3.5.1.3, 10.3.2, 10.3.3, 10.3.4, A1.1.2, A1.2.3, A3.4.1 |
| S3 buckets should have object lock enabled | Enforced | 10.3.4, 10.5.1 |
| S3 buckets should restrict cross-account permissions | Enforced | 7.2.1, 7.2.2, 7.2.5, 7.2.6, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4, 10.6.3 |
| S3 buckets should prohibit public read access | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 3.5.1.3, 10.3.2, 10.3.3, 10.3.4, A1.1.2, A1.2.3, A3.4.1 |
| S3 buckets should prohibit public write access | Enforced | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 3.5.1.3, 10.3.2, 10.3.3, 10.3.4, A1.1.2, A1.2.3, A3.4.1 |
| S3 buckets with versioning enabled should have lifecycle policies configured | Enforced | 3.2.1, 10.5.1 |
| S3 buckets should have versioning enabled | Enforced | 10.3.4 |
| S3 public access should be blocked at bucket level | Enforced | 10.3.4 |
| Secrets Manager secrets should be encrypted using CMK | Enforced | 8.3.2 |
| Step Functions state machines should have logging enabled | Enforced | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| SNS topics should be encrypted at rest | Enforced | 2.2.1, 3.5.1, 8.3.2 |
| VPC Security groups should only allow unrestricted incoming traffic for authorized ports | Enforced | 1.3.1, 1.3.2 |
| VPC security groups should restrict ingress from 0.0.0.0/0 or ::/0 to cassandra ports 7199 or 9160 or 8888 | Enforced | 1.3.1 |
| API Gateway routes should require an authorization type | Mapped | 1.5.1 |
| API Gateway REST API stages should have a client certificate configured | Mapped | 11.5.2 |
| API Gateway REST API stages should have AWS X-Ray tracing enabled | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.4.1, 10.4.1.1, 10.4.2, 10.6.3, 10.7.1, 10.7.2, A1.2.3, A3.3.1, A3.5.1 |
| API Gateway stages should have logging enabled | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| Athena workgroups should be encrypted at rest | Mapped | 3.5.1, 8.3.2 |
| Backup plan rules should retain recovery points for at least 35 days | Mapped | 10.5.1 |
| CloudFormation stacks should have notifications enabled | Mapped | 12.10.5 |
| CloudTrail trails should be integrated with CloudWatch logs | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.4.1.1, 10.6.3, 11.5.2, 11.6.1, 12.10.5, A1.2.3, A3.3.1, A3.5.1 |
| CloudTrail trails should have logs encrypted using a customer managed KMS key | Mapped | 3.5.1, 8.3.2, 10.3.2, 10.3.3, 10.3.4, A1.2.3 |
| CloudTrail trails should have log file validation enabled | Mapped | 10.3.2, 10.3.3, 10.3.4, A1.2.3 |
| CodeBuild projects should have artifact encryption enabled | Mapped | 8.3.2 |
| CodeBuild projects should not have privileged mode enabled | Mapped | 7.2.3 |
| CodeBuild projects should have logging enabled | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| CodeBuild projects should have S3 logs encrypted | Mapped | 3.5.1, 8.3.2 |
| DynamoDB Accelerator (DAX) clusters should be encrypted at rest | Mapped | 3.5.1, 8.3.2 |
| DynamoDB Accelerator clusters should be encrypted in transit | Mapped | 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| DMS endpoints for Redis OSS should have TLS enabled | Mapped | 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| DMS endpoints should use SSL | Mapped | 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| DocumentDB clusters should have an adequate backup retention period | Mapped | 3.2.1, 3.3.1.1, 3.3.1.3, 3.3.2, 3.3.3, 10.5.1 |
| DocumentDB clusters should have encryption at rest enabled | Mapped | 3.5.1, 8.3.2 |
| DocumentDB instance logging should be enabled | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| EBS snapshots should be encrypted | Mapped | 3.5.1, 8.3.2 |
| EC2 Client VPN endpoints should have client connection logging enabled | Mapped | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.1.2, A1.2.3 |
| EC2 transit gateways should have auto accept shared attachments disabled | Mapped | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, A1.1.2 |
| EFS access points should enforce a root directory | Mapped | 3.5.1.3, 10.3.2, A1.1.2, A3.4.1 |
| EFS access points should enforce a user identity | Mapped | 3.5.1.3, 10.3.2, A1.1.2, A3.4.1 |
| ElastiCache clusters should not use the default subnet group | Mapped | 1.4.4 |
| Elasticsearch domains should have audit logging enabled | Mapped | 5.3.4, 10.5.1 |
| ES domain encryption at rest should be enabled | Mapped | 3.5.1, 8.3.2 |
| ES domains should be in a VPC | Mapped | 1.5.1 |
| Elasticsearch domain node-to-node encryption should be enabled | Mapped | 1.2.5, 2.2.5, 2.2.7, 4.2.1, 4.2.1.1, 8.3.2 |
| IAM password policies should have minimum length set to 14 or greater | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should require at least one lowercase letter | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should require at least one number | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should require at least one symbol | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should require at least one uppercase letter | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should prevent password reuse | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should have strong configurations with minimum length of 8 or greater | Mapped | 8.3.6, 8.3.7 |
| IAM password policies should have strong configurations | Mapped | 8.3.6, 11.5.2 |
| IAM password policies should expire passwords within 90 days or less | Mapped | 8.3.6, 8.3.7, 8.6.3 |
| Kinesis streams should have server side encryption enabled | Mapped | 3.5.1, 8.3.2 |
| MQ brokers should have audit log streaming to CloudWatch enabled | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| Neptune DB clusters should publish audit logs to CloudWatch Logs | Mapped | 5.3.4, 10.2.1, 10.2.1.1, 10.2.1.2, 10.2.1.3, 10.2.1.4, 10.2.1.5, 10.2.1.6, 10.2.1.7, 10.2.2, 10.3.1, 10.6.3, A1.2.3 |
| Neptune DB clusters should have automated backups enabled | Mapped | 10.3.3 |
| Neptune DB clusters should be encrypted at rest | Mapped | 3.5.1, 8.3.2 |
| Neptune DB clusters should have IAM database authentication enabled | Mapped | 7.2.1, 7.2.2, 7.2.5, 7.3.1, 7.3.2, 7.3.3, 8.2.7, 8.2.8, 8.3.4 |
| S3 access points should have block public access settings enabled | Mapped | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.5.1, 3.5.1.3, 10.3.2, A1.1.2, A3.4.1 |
| SageMaker endpoint configuration encryption should be enabled | Mapped | 8.3.2 |
| SageMaker notebook instances should not have direct internet access | Mapped | 1.2.8, 1.3.1, 1.3.2, 1.4.2, 1.4.4, 1.5.1, 3.5.1.3, 10.3.2, A1.1.2, A3.4.1 |
| SageMaker notebook instance encryption should be enabled | Mapped | 3.5.1, 8.3.2 |
| SageMaker notebook instances should be in a VPC | Mapped | 1.2.8, 1.3.1, 1.3.2, 1.4.1, 1.4.2, 1.4.4, 1.5.1, A1.1.2 |
| SageMaker notebook instances root access should be disabled | Mapped | 7.2.1, 7.2.2, 7.2.3 |