| 💼 Account | 1 | 1 | 1 | | no data |
|  💼 [Account.1] Security contact information should be provided for an AWS account | | 1 | 1 | | no data |
| 💼 AppSync | 4 | | | | no data |
|  💼 [AppSync.1] AWS AppSync API caches should be encrypted at rest | | | | | no data |
|  💼 [AppSync.2] AWS AppSync should have field-level logging enabled | | | | | no data |
|  💼 [AppSync.5] AWS AppSync GraphQL APIs should not be authenticated with API keys | | | | | no data |
|  💼 [AppSync.6] AWS AppSync API caches should be encrypted in transit | | | | | no data |
| 💼 API Gateway | 7 | 6 | 6 | | no data |
|  💼 [APIGateway.1] API Gateway REST and WebSocket API execution logging should be enabled | | 1 | 1 | | no data |
|  💼 [APIGateway.2] API Gateway REST API stages should be configured to use SSL certificates for backend authentication" | | 1 | 1 | | no data |
|  💼 [APIGateway.3] API Gateway REST API stages should have AWS X-Ray tracing enabled | | 1 | 1 | | no data |
|  💼 [APIGateway.4] API Gateway should be associated with a WAF Web ACL | | 1 | 1 | | no data |
|  💼 [APIGateway.5] API Gateway REST API cache data should be encrypted at rest | | | | | no data |
|  💼 [APIGateway.8] API Gateway routes should specify an authorization type | | 1 | 1 | | no data |
|  💼 [APIGateway.9] Access logging should be configured for API Gateway V2 Stages | | 1 | 1 | | no data |
| 💼 Athena | 1 | | 1 | | no data |
|  💼 [Athena.4] Athena workgroups should have logging enabled | | | 1 | | no data |
| 💼 Auto Scaling | 6 | 4 | 5 | | no data |
|  💼 [AutoScaling.1] Auto Scaling groups associated with a load balancer should use ELB health checks | | 1 | 1 | | no data |
|  💼 [AutoScaling.2] Amazon EC2 Auto Scaling group should cover multiple Availability Zones | | | 1 | | no data |
|  💼 [AutoScaling.3] Auto Scaling group launch configurations should configure EC2 instances to require Instance Metadata Service Version 2 (IMDSv2) | | 1 | 1 | | no data |
|  💼 [AutoScaling.5] Amazon EC2 instances launched using Auto Scaling group launch configurations should not have Public IP addresses | | 1 | 1 | | no data |
|  💼 [AutoScaling.6] Auto Scaling groups should use multiple instance types in multiple Availability Zones | | | | | no data |
|  💼 [AutoScaling.9] Amazon EC2 Auto Scaling groups should use Amazon EC2 launch templates | | 1 | 1 | | no data |
| 💼 Backup | 1 | | 1 | | no data |
|  💼 [Backup.1] AWS Backup recovery points should be encrypted at rest | | | 1 | | no data |
| 💼 Certificate Manager (ACM) | 2 | 2 | 2 | | no data |
|  💼 [ACM.1] Imported and ACM-issued certificates should be renewed after a specified time period | | 1 | 1 | | no data |
|  💼 [ACM.2] RSA certificates managed by ACM should use a key length of at least 2,048 bits | | 1 | 1 | | no data |
| 💼 CloudFormation | 2 | | | | no data |
|  💼 [CloudFormation.3] CloudFormation stacks should have termination protection enabled | | | | | no data |
|  💼 [CloudFormation.4] CloudFormation stacks should have associated service roles | | | | | no data |
| 💼 CloudFront | 14 | 7 | 9 | | no data |
|  💼 [CloudFront.1] CloudFront distributions should have a default root object configured | | 1 | 1 | | no data |
|  💼 [CloudFront.3] CloudFront distributions should require encryption in transit | | 1 | 1 | | no data |
|  💼 [CloudFront.4] CloudFront distributions should have origin failover configured | | | | | no data |
|  💼 [CloudFront.5] CloudFront distributions should have logging enabled | | 1 | 1 | | no data |
|  💼 [CloudFront.6] CloudFront distributions should have WAF enabled | | | 1 | | no data |
|  💼 [CloudFront.7] CloudFront distributions should use custom SSL/TLS certificates | | 1 | 1 | | no data |
|  💼 [CloudFront.8] CloudFront distributions should use SNI to serve HTTPS requests | | 1 | 1 | | no data |
|  💼 [CloudFront.9] CloudFront distributions should encrypt traffic to custom origins | | 1 | 1 | | no data |
|  💼 [CloudFront.10] CloudFront distributions should not use deprecated SSL protocols between edge locations and custom origins | | 1 | 1 | | no data |
|  💼 [CloudFront.12] CloudFront distributions should not point to non-existent S3 origins | | | | | no data |
|  💼 [CloudFront.13] CloudFront distributions should use origin access control | | | | | no data |
|  💼 [CloudFront.15] CloudFront distributions should use the recommended TLS security policy | | | 1 | | no data |
|  💼 [CloudFront.16] CloudFront distributions should use origin access control for Lambda function URL origins | | | | | no data |
|  💼 [CloudFront.17] CloudFront distributions should use trusted key groups for signed URLs and cookies | | | | | no data |
| 💼 CloudTrail | 4 | 2 | 3 | | no data |
|  💼 [CloudTrail.1] CloudTrail should be enabled and configured with at least one multi-Region trail that includes read and write management events | | 1 | 1 | | no data |
|  💼 [CloudTrail.2] CloudTrail should have encryption at-rest enabled | | | 1 | | no data |
|  💼 [CloudTrail.4] CloudTrail log file validation should be enabled | | 1 | 1 | | no data |
|  💼 [CloudTrail.5] CloudTrail trails should be integrated with Amazon CloudWatch Logs | | | | | no data |
| 💼 CodeBuild | 5 | 1 | 1 | | no data |
|  💼 [CodeBuild.1] CodeBuild Bitbucket source repository URLs should not contain sensitive credentials | | 1 | 1 | | no data |
|  💼 [CodeBuild.2] CodeBuild project environment variables should not contain clear text credentials | | | | | no data |
|  💼 [CodeBuild.3] CodeBuild S3 logs should be encrypted | | | | | no data |
|  💼 [CodeBuild.4] CodeBuild project environments should have a logging AWS Configuration | | | | | no data |
|  💼 [CodeBuild.7] CodeBuild report group exports should be encrypted at rest | | | | | no data |
| 💼 Cognito | 5 | | | | no data |
|  💼 [Cognito.2] Cognito identity pools should not allow unauthenticated identities | | | | | no data |
|  💼 [Cognito.3] Password policies for Cognito user pools should have strong configurations | | | | | no data |
|  💼 [Cognito.4] Cognito user pools should have threat protection activated with full function enforcement mode for custom authentication | | | | | no data |
|  💼 [Cognito.5] MFA should be enabled for Cognito user pools | | | | | no data |
|  💼 [Cognito.6] Cognito user pools should have deletion protection enabled | | | | | no data |
| 💼 Config | 1 | | 1 | | no data |
|  💼 [Config.1] AWS Config should be enabled and use the service-linked role for resource recording | | | 1 | | no data |
| 💼 Connect | 1 | | 1 | | no data |
|  💼 [Connect.2] Amazon Connect instances should have CloudWatch logging enabled | | | 1 | | no data |
| 💼 Data Firehouse | 1 | | | | no data |
|  💼 [DataFirehose.1] Firehose delivery streams should be encrypted at rest | | | | | no data |
| 💼 Database Migration Service (DMS) | 9 | 3 | 4 | | no data |
|  💼 [DMS.1] Database Migration Service replication instances should not be public | | 1 | 1 | | no data |
|  💼 [DMS.6] DMS replication instances should have automatic minor version upgrade enabled | | 1 | 1 | | no data |
|  💼 [DMS.7] DMS replication tasks for the target database should have logging enabled | | | 1 | | no data |
|  💼 [DMS.8] DMS replication tasks for the source database should have logging enabled | | | 1 | | no data |
|  💼 [DMS.9] DMS endpoints should use SSL | | 1 | 1 | | no data |
|  💼 [DMS.10] DMS endpoints for Neptune databases should have IAM authorization enabled | | | | | no data |
|  💼 [DMS.11] DMS endpoints for MongoDB should have an authentication mechanism enabled | | | | | no data |
|  💼 [DMS.12] DMS endpoints for Redis OSS should have TLS enabled | | | | | no data |
|  💼 [DMS.13] DMS replication instances should be configured to use multiple Availability Zones | | | | | no data |
| 💼 DataSync | 1 | | 1 | | no data |
|  💼 [DataSync.1] DataSync tasks should have logging enabled | | | 1 | | no data |
| 💼 DocumentDB | 6 | | 3 | | no data |
|  💼 [DocumentDB.1] Amazon DocumentDB clusters should be encrypted at rest | | | 1 | | no data |
|  💼 [DocumentDB.2] Amazon DocumentDB clusters should have an adequate backup retention period | | | | | no data |
|  💼 [DocumentDB.3] Amazon DocumentDB manual cluster snapshots should not be public | | | | | no data |
|  💼 [DocumentDB.4] Amazon DocumentDB clusters should publish audit logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [DocumentDB.5] Amazon DocumentDB clusters should have deletion protection enabled | | | 1 | | no data |
|  💼 [DocumentDB.6] Amazon DocumentDB clusters should be encrypted in transit | | | | | no data |
| 💼 DynamoDB | 5 | 3 | 3 | | no data |
|  💼 [DynamoDB.1] DynamoDB tables should automatically scale capacity with demand | | 1 | 1 | | no data |
|  💼 [DynamoDB.2] DynamoDB tables should have point-in-time recovery enabled | | 1 | 1 | | no data |
|  💼 [DynamoDB.3] DynamoDB Accelerator (DAX) clusters should be encrypted at rest | | 1 | 1 | | no data |
|  💼 [DynamoDB.6] DynamoDB tables should have deletion protection enabled | | | | | no data |
|  💼 [DynamoDB.7] DynamoDB Accelerator clusters should be encrypted in transit | | | | | no data |
| 💼 Elastic Beanstalk | 3 | | 3 | | no data |
|  💼 [ElasticBeanstalk.1] Elastic Beanstalk environments should have enhanced health reporting enabled | | | 1 | | no data |
|  💼 [ElasticBeanstalk.2] Elastic Beanstalk managed platform updates should be enabled | | | 1 | | no data |
|  💼 [ElasticBeanstalk.3] Elastic Beanstalk should stream logs to CloudWatch | | | 1 | | no data |
| 💼 Elastic Compute Cloud (EC2) | 32 | 3 | 26 | | no data |
|  💼 [EC2.1] Amazon EBS snapshots should not be publicly restorable | | | 1 | | no data |
|  💼 [EC2.2] VPC default security groups should not allow inbound or outbound traffic | | | 1 | | no data |
|  💼 [EC2.3] Attached Amazon EBS volumes should be encrypted at-rest | | | 3 | | no data |
|  💼 [EC2.4] Stopped EC2 instances should be removed after a specified time period | | | | | no data |
|  💼 [EC2.6] VPC flow logging should be enabled in all VPCs | | 1 | 1 | | no data |
|  💼 [EC2.7] EBS default encryption should be enabled | | 1 | 1 | | no data |
|  💼 [EC2.8] EC2 instances should use Instance Metadata Service Version 2 (IMDSv2) | | 1 | 1 | | no data |
|  💼 [EC2.9] Amazon EC2 instances should not have a public IPv4 address | | | 1 | | no data |
|  💼 [EC2.10] Amazon EC2 should be configured to use VPC endpoints that are created for the Amazon EC2 service | | | 1 | | no data |
|  💼 [EC2.15] Amazon EC2 subnets should not automatically assign public IP addresses | | | 1 | | no data |
|  💼 [EC2.16] Unused Network Access Control Lists should be removed | | | 1 | | no data |
|  💼 [EC2.17] Amazon EC2 instances should not use multiple ENIs | | | | | no data |
|  💼 [EC2.18] Security groups should only allow unrestricted incoming traffic for authorized ports | | | | | no data |
|  💼 [EC2.19] Security groups should not allow unrestricted access to ports with high risk | | | 10 | | no data |
|  💼 [EC2.20] Both VPN tunnels for an AWS Site-to-Site VPN connection should be up | | | 1 | | no data |
|  💼 [EC2.21] Network ACLs should not allow ingress from 0.0.0.0/0 to port 22 or port 3389 | | | 1 | | no data |
|  💼 [EC2.23] Amazon EC2 Transit Gateways should not automatically accept VPC attachment requests | | | 1 | | no data |
|  💼 [EC2.24] Amazon EC2 paravirtual instance types should not be used | | | 1 | | no data |
|  💼 [EC2.25] Amazon EC2 launch templates should not assign public IPs to network interfaces | | | | | no data |
|  💼 [EC2.51] EC2 Client VPN endpoints should have client connection logging enabled | | | | | no data |
|  💼 [EC2.55] VPCs should be configured with an interface endpoint for ECR API | | | | | no data |
|  💼 [EC2.56] VPCs should be configured with an interface endpoint for Docker Registry | | | | | no data |
|  💼 [EC2.57] VPCs should be configured with an interface endpoint for Systems Manager | | | | | no data |
|  💼 [EC2.58] VPCs should be configured with an interface endpoint for Systems Manager Incident Manager Contacts | | | | | no data |
|  💼 [EC2.60] VPCs should be configured with an interface endpoint for Systems Manager Incident Manager | | | | | no data |
|  💼 [EC2.170] EC2 launch templates should use Instance Metadata Service Version 2 (IMDSv2) | | | | | no data |
|  💼 [EC2.171] EC2 VPN connections should have logging enabled | | | | | no data |
|  💼 [EC2.172] EC2 VPC Block Public Access settings should block internet gateway traffic | | | | | no data |
|  💼 [EC2.173] EC2 Spot Fleet requests with launch parameters should enable encryption for attached EBS volumes | | | | | no data |
|  💼 [EC2.180] EC2 network interfaces should have source/destination checking enabled | | | | | no data |
|  💼 [EC2.181] EC2 launch templates should enable encryption for attached EBS volumes | | | | | no data |
|  💼 [EC2.182] Amazon EBS Snapshots should not be publicly accessible | | | | | no data |
| 💼 Elastic Container Registry (ECR) | 3 | 3 | 3 | | no data |
|  💼 [ECR.1] ECR private repositories should have image scanning configured | | 1 | 1 | | no data |
|  💼 [ECR.2] ECR private repositories should have tag immutability configured | | 1 | 1 | | no data |
|  💼 [ECR.3] ECR repositories should have at least one lifecycle policy configured | | 1 | 1 | | no data |
| 💼 Elastic Container Service (ECS) | 13 | | 7 | | no data |
|  💼 [ECS.2] ECS services should not have public IP addresses assigned to them automatically | | | 1 | | no data |
|  💼 [ECS.3] ECS task definitions should not share the host's process namespace | | | 1 | | no data |
|  💼 [ECS.4] ECS containers should run as non-privileged | | | 1 | | no data |
|  💼 [ECS.5] ECS containers should be limited to read-only access to root filesystems | | | 1 | | no data |
|  💼 [ECS.8] Secrets should not be passed as container environment variables | | | 1 | | no data |
|  💼 [ECS.9] ECS task definitions should have a logging configuration | | | 1 | | no data |
|  💼 [ECS.10] ECS Fargate services should run on the latest Fargate platform version | | | 1 | | no data |
|  💼 [ECS.12] ECS clusters should use Container Insights | | | | | no data |
|  💼 [ECS.16] ECS task sets should not automatically assign public IP addresses | | | | | no data |
|  💼 [ECS.18] ECS Task Definitions should use in-transit encryption for EFS volumes | | | | | no data |
|  💼 [ECS.19] ECS capacity providers should have managed termination protection enabled | | | | | no data |
|  💼 [ECS.20] ECS Task Definitions should configure non-root users in Linux container definitions | | | | | no data |
|  💼 [ECS.21] ECS Task Definitions should configure non-administrator users in Windows container definitions | | | | | no data |
| 💼 Elastic File System (EFS) | 7 | 1 | 3 | | no data |
|  💼 [EFS.1] Elastic File System should be configured to encrypt file data at-rest using AWS KMS | | 1 | 2 | | no data |
|  💼 [EFS.2] Amazon EFS volumes should be in backup plans | | | | | no data |
|  💼 [EFS.3] EFS access points should enforce a root directory | | | | | no data |
|  💼 [EFS.4] EFS access points should enforce a user identity | | | | | no data |
|  💼 [EFS.6] EFS mount targets should not be associated with subnets that assign public IP addresses on launch | | | 1 | | no data |
|  💼 [EFS.7] EFS file systems should have automatic backups enabled | | | | | no data |
|  💼 [EFS.8] EFS file systems should be encrypted at rest | | | 1 | | no data |
| 💼 Elastic Kubernetes Service (EKS) | 4 | | 2 | | no data |
|  💼 [EKS.1] EKS cluster endpoints should not be publicly accessible | | | 1 | | no data |
|  💼 [EKS.2] EKS clusters should run on a supported Kubernetes version | | | | | no data |
|  💼 [EKS.3] EKS clusters should use encrypted Kubernetes secrets | | | | | no data |
|  💼 [EKS.8] EKS clusters should have audit logging enabled | | | 1 | | no data |
| 💼 Elastic Load Balancing (ELB) | 15 | | 10 | | no data |
|  💼 [ELB.1] Application Load Balancer should be configured to redirect all HTTP requests to HTTPS | | | 1 | | no data |
|  💼 [ELB.2] Classic Load Balancers with SSL/HTTPS listeners should use a certificate provided by AWS Certificate Manager | | | | | no data |
|  💼 [ELB.3] Classic Load Balancer listeners should be configured with HTTPS or TLS termination | | | | | no data |
|  💼 [ELB.4] Application Load Balancer should be configured to drop invalid http headers | | | 1 | | no data |
|  💼 [ELB.5] Application and Classic Load Balancers logging should be enabled | | | 1 | | no data |
|  💼 [ELB.6] Application, Gateway, and Network Load Balancers should have deletion protection enabled | | | 1 | | no data |
|  💼 [ELB.7] Classic Load Balancers should have connection draining enabled | | | 1 | | no data |
|  💼 [ELB.8] Classic Load Balancers with SSL listeners should use a predefined security policy that has strong AWS Configuration | | | | | no data |
|  💼 [ELB.9] Classic Load Balancers should have cross-zone load balancing enabled | | | 1 | | no data |
|  💼 [ELB.10] Classic Load Balancer should span multiple Availability Zones | | | 1 | | no data |
|  💼 [ELB.12] Application Load Balancer should be configured with defensive or strictest desync mitigation mode | | | 1 | | no data |
|  💼 [ELB.13] Application, Network and Gateway Load Balancers should span multiple Availability Zones | | | 1 | | no data |
|  💼 [ELB.14] Classic Load Balancer should be configured with defensive or strictest desync mitigation mode | | | 1 | | no data |
|  💼 [ELB.17] Application and Network Load Balancers with listeners should use recommended security policies | | | 1 | | no data |
|  💼 [ELB.18] Application and Network Load Balancer listeners should use secure protocols to encrypt data in transit | | | 1 | | no data |
| 💼 Elasticsearch | 8 | | 8 | | no data |
|  💼 [ES.1] Elasticsearch domains should have encryption at-rest enabled | | | 1 | | no data |
|  💼 [ES.2] Elasticsearch domains should not be publicly accessible | | | 1 | | no data |
|  💼 [ES.3] Elasticsearch domains should encrypt data sent between nodes | | | 1 | | no data |
|  💼 [ES.4] Elasticsearch domain error logging to CloudWatch Logs should be enabled | | | 1 | | no data |
|  💼 [ES.5] Elasticsearch domains should have audit logging enabled | | | 1 | | no data |
|  💼 [ES.6] Elasticsearch domains should have at least three data nodes | | | 1 | | no data |
|  💼 [ES.7] Elasticsearch domains should be configured with at least three dedicated master nodes | | | 1 | | no data |
|  💼 [ES.8] Connections to Elasticsearch domains should be encrypted using the latest TLS security policy | | | 1 | | no data |
| 💼 ElastiCache | 7 | | 4 | | no data |
|  💼 [ElastiCache.1] ElastiCache (Redis OSS) clusters should have automatic backups enabled | | | 1 | | no data |
|  💼 [ElastiCache.2] ElastiCache clusters should have automatic minor version upgrades enabled | | | 1 | | no data |
|  💼 [ElastiCache.3] ElastiCache replication groups should have automatic failover enabled | | | | | no data |
|  💼 [ElastiCache.4] ElastiCache replication groups should be encrypted at rest | | | 1 | | no data |
|  💼 [ElastiCache.5] ElastiCache replication groups should be encrypted in transit | | | 1 | | no data |
|  💼 [ElastiCache.6] ElastiCache (Redis OSS) replication groups of earlier versions should have Redis OSS AUTH enabled | | | | | no data |
|  💼 [ElastiCache.7] ElastiCache clusters should not use the default subnet group | | | | | no data |
| 💼 EMR | 4 | | 1 | | no data |
|  💼 [EMR.1] Amazon EMR cluster primary nodes should not have public IP addresses | | | | | no data |
|  💼 [EMR.2] Amazon EMR block public access setting should be enabled | | | | | no data |
|  💼 [EMR.3] Amazon EMR security configurations should be encrypted at rest | | | 1 | | no data |
|  💼 [EMR.4] Amazon EMR security configurations should be encrypted in transit | | | 1 | | no data |
| 💼 EventBridge | 1 | | | | no data |
|  💼 [EventBridge.3] EventBridge custom event buses should have a resource-based policy attached | | | | | no data |
| 💼 FSx | 5 | | | | no data |
|  💼 [FSx.1] FSx for OpenZFS file systems should be configured to copy tags to backups and volumes | | | | | no data |
|  💼 [FSx.2] FSx for Lustre file systems should be configured to copy tags to backups | | | | | no data |
|  💼 [FSx.3] FSx for OpenZFS file systems should be configured for Multi-AZ deployment | | | | | no data |
|  💼 [FSx.4] FSx for NetApp ONTAP file systems should be configured for Multi-AZ deployment | | | | | no data |
|  💼 [FSx.5] FSx for Windows File Server file systems should be configured for Multi-AZ deployment | | | | | no data |
| 💼 Glue | 2 | | | | no data |
|  💼 [Glue.3] AWS Glue machine learning transforms should be encrypted at rest | | | | | no data |
|  💼 [Glue.4] AWS Glue Spark jobs should run on supported versions of AWS Glue | | | | | no data |
| 💼 GuardDuty | 10 | | 7 | | no data |
|  💼 [GuardDuty.1] GuardDuty should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.5] GuardDuty EKS Audit Log Monitoring should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.6] GuardDuty Lambda Protection should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.7] GuardDuty EKS Runtime Monitoring should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.8] GuardDuty Malware Protection for EC2 should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.9] GuardDuty RDS Protection should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.10] GuardDuty S3 Protection should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.11] GuardDuty Runtime Monitoring should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.12] GuardDuty ECS Runtime Monitoring should be enabled | | | 1 | | no data |
|  💼 [GuardDuty.13] GuardDuty EC2 Runtime Monitoring should be enabled | | | 1 | | no data |
| 💼 Identity and Access Management (IAM) | 9 | 5 | 11 | | no data |
|  💼 [IAM.1] IAM policies should not allow full "*" administrative privileges | | 1 | 1 | | no data |
|  💼 [IAM.2] IAM users should not have IAM policies attached | | 1 | 1 | | no data |
|  💼 [IAM.3] IAM users' access keys should be rotated every 90 days or less | | 1 | 1 | | no data |
|  💼 [IAM.4] IAM root user access key should not exist | | 1 | 1 | | no data |
|  💼 [IAM.5] MFA should be enabled for all IAM users that have a console password | | | 1 | | no data |
|  💼 [IAM.6] Hardware MFA should be enabled for the root user | | | 1 | | no data |
|  💼 [IAM.7] Password policies for IAM users should have strong configurations | | 1 | 3 | | no data |
|  💼 [IAM.8] Unused IAM user credentials should be removed | | | 2 | | no data |
|  💼 [IAM.21] IAM customer managed policies that you create should not allow wildcard actions for services | | | 1 | | no data |
| 💼 Inspector | 4 | | 4 | | no data |
|  💼 [Inspector.1] Amazon Inspector EC2 scanning should be enabled | | | 1 | | no data |
|  💼 [Inspector.2] Amazon Inspector ECR scanning should be enabled | | | 1 | | no data |
|  💼 [Inspector.3] Amazon Inspector Lambda code scanning should be enabled | | | 1 | | no data |
|  💼 [Inspector.4] Amazon Inspector Lambda standard scanning should be enabled | | | 1 | | no data |
| 💼 Key Management Service (KMS) | 4 | | 2 | | no data |
|  💼 [KMS.1] IAM customer managed policies should not allow decryption actions on all KMS keys | | | | | no data |
|  💼 [KMS.2] IAM principals should not have IAM inline policies that allow decryption actions on all KMS keys | | | | | no data |
|  💼 [KMS.3] AWS KMS keys should not be deleted unintentionally | | | 1 | | no data |
|  💼 [KMS.5] KMS keys should not be publicly accessible | | | 1 | | no data |
| 💼 Kinesis | 2 | | 2 | | no data |
|  💼 [Kinesis.1] Kinesis streams should be encrypted at rest | | | 1 | | no data |
|  💼 [Kinesis.3] Kinesis streams should have an adequate data retention period | | | 1 | | no data |
| 💼 Lambda | 3 | | 3 | | no data |
|  💼 [Lambda.1] Lambda function policies should prohibit public access | | | 1 | | no data |
|  💼 [Lambda.2] Lambda functions should use supported runtimes | | | 1 | | no data |
|  💼 [Lambda.5] VPC Lambda functions should operate in multiple Availability Zones | | | 1 | | no data |
| 💼 Macie | 2 | | | | no data |
|  💼 [Macie.1] Amazon Macie should be enabled | | | | | no data |
|  💼 [Macie.2] Macie automated sensitive data discovery should be enabled | | | | | no data |
| 💼 Managed Streaming for Apache Kafka (MSK) | 5 | | 1 | | no data |
|  💼 [MSK.1] MSK clusters should be encrypted in transit among broker nodes | | | 1 | | no data |
|  💼 [MSK.3] MSK Connect connectors should be encrypted in transit | | | | | no data |
|  💼 [MSK.4] MSK clusters should have public access disabled | | | | | no data |
|  💼 [MSK.5] MSK connectors should have logging enabled | | | | | no data |
|  💼 [MSK.6] MSK clusters should disable unauthenticated access | | | | | no data |
| 💼 MQ | 1 | | 1 | | no data |
|  💼 [MQ.2] ActiveMQ brokers should stream audit logs to CloudWatch | | | 1 | | no data |
| 💼 Neptune | 8 | | 5 | | no data |
|  💼 [Neptune.1] Neptune DB clusters should be encrypted at rest | | | 1 | | no data |
|  💼 [Neptune.2] Neptune DB clusters should publish audit logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [Neptune.3] Neptune DB cluster snapshots should not be public | | | | | no data |
|  💼 [Neptune.4] Neptune DB clusters should have deletion protection enabled | | | 1 | | no data |
|  💼 [Neptune.5] Neptune DB clusters should have automated backups enabled | | | | | no data |
|  💼 [Neptune.6] Neptune DB cluster snapshots should be encrypted at rest | | | 1 | | no data |
|  💼 [Neptune.7] Neptune DB clusters should have IAM database authentication enabled | | | | | no data |
|  💼 [Neptune.8] Neptune DB clusters should be configured to copy tags to snapshots | | | 1 | | no data |
| 💼 Network Firewall | 7 | | 5 | | no data |
|  💼 [NetworkFirewall.2] Network Firewall logging should be enabled | | | | | no data |
|  💼 [NetworkFirewall.3] Network Firewall policies should have at least one rule group associated | | | 1 | | no data |
|  💼 [NetworkFirewall.4] The default stateless action for Network Firewall policies should be drop or forward for full packets | | | 1 | | no data |
|  💼 [NetworkFirewall.5] The default stateless action for Network Firewall policies should be drop or forward for fragmented packets | | | 1 | | no data |
|  💼 [NetworkFirewall.6] Stateless Network Firewall rule group should not be empty | | | 1 | | no data |
|  💼 [NetworkFirewall.9] Network Firewall firewalls should have deletion protection enabled | | | 1 | | no data |
|  💼 [NetworkFirewall.10] Network Firewall firewalls should have subnet change protection enabled | | | 1 | | no data |
| 💼 OpenSearch | 9 | | 7 | | no data |
|  💼 [Opensearch.1] OpenSearch domains should have encryption at rest enabled | | | 1 | | no data |
|  💼 [Opensearch.2] OpenSearch domains should not be publicly accessible | | | 1 | | no data |
|  💼 [Opensearch.3] OpenSearch domains should encrypt data sent between nodes | | | 1 | | no data |
|  💼 [Opensearch.4] OpenSearch domain error logging to CloudWatch Logs should be enabled | | | 1 | | no data |
|  💼 [Opensearch.5] OpenSearch domains should have audit logging enabled | | | 1 | | no data |
|  💼 [Opensearch.6] OpenSearch domains should have at least three data nodes | | | 1 | | no data |
|  💼 [Opensearch.7] OpenSearch domains should have fine-grained access control enabled | | | | | no data |
|  💼 [Opensearch.8] Connections to OpenSearch domains should be encrypted using the latest TLS security policy | | | 1 | | no data |
|  💼 [Opensearch.10] OpenSearch domains should have the latest software update installed | | | | | no data |
| 💼 Private Certificate Authority (CA) | 1 | | | | no data |
|  💼 [PCA.1] AWS Private CA root certificate authority should be disabled | | | | | no data |
| 💼 Redshift | 10 | | 9 | | no data |
|  💼 [Redshift.1] Amazon Redshift clusters should prohibit public access | | | 1 | | no data |
|  💼 [Redshift.2] Connections to Amazon Redshift clusters should be encrypted in transit | | | 1 | | no data |
|  💼 [Redshift.3] Amazon Redshift clusters should have automatic snapshots enabled | | | 1 | | no data |
|  💼 [Redshift.4] Amazon Redshift clusters should have audit logging enabled | | | 1 | | no data |
|  💼 [Redshift.6] Amazon Redshift should have automatic upgrades to major versions enabled | | | 1 | | no data |
|  💼 [Redshift.7] Redshift clusters should use enhanced VPC routing | | | 1 | | no data |
|  💼 [Redshift.8] Amazon Redshift clusters should not use the default Admin username | | | 1 | | no data |
|  💼 [Redshift.10] Redshift clusters should be encrypted at rest | | | 1 | | no data |
|  💼 [Redshift.15] Redshift security groups should allow ingress on the cluster port only from restricted origins | | | 1 | | no data |
|  💼 [Redshift.18] Redshift clusters should have Multi-AZ deployments enabled | | | | | no data |
| 💼 Redshift Serverless | 5 | | | | no data |
|  💼 [RedshiftServerless.1] Amazon Redshift Serverless workgroups should use enhanced VPC routing | | | | | no data |
|  💼 [RedshiftServerless.2] Connections to Redshift Serverless workgroups should be required to use SSL | | | | | no data |
|  💼 [RedshiftServerless.3] Redshift Serverless workgroups should prohibit public access | | | | | no data |
|  💼 [RedshiftServerless.5] Redshift Serverless namespaces should not use the default admin username | | | | | no data |
|  💼 [RedshiftServerless.6] Redshift Serverless namespaces should export logs to CloudWatch Logs | | | | | no data |
| 💼 Relational Database Service (RDS) | 38 | 6 | 26 | | no data |
|  💼 [RDS.1] RDS snapshot should be private | | 1 | 1 | | no data |
|  💼 [RDS.2] RDS DB Instances should prohibit public access, as determined by the PubliclyAccessible configuration | | 1 | 1 | | no data |
|  💼 [RDS.3] RDS DB instances should have encryption at-rest enabled | | 1 | 1 | | no data |
|  💼 [RDS.4] RDS cluster snapshots and database snapshots should be encrypted at rest | | | 1 | | no data |
|  💼 [RDS.5] RDS DB instances should be configured with multiple Availability Zones | | 1 | 1 | | no data |
|  💼 [RDS.6] Enhanced monitoring should be configured for RDS DB instances | | | 1 | | no data |
|  💼 [RDS.7] RDS clusters should have deletion protection enabled | | | 1 | | no data |
|  💼 [RDS.8] RDS DB instances should have deletion protection enabled | | | 1 | | no data |
|  💼 [RDS.9] RDS DB instances should publish logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [RDS.10] IAM authentication should be configured for RDS instances | | | 1 | | no data |
|  💼 [RDS.11] RDS instances should have automatic backups enabled | | | 1 | | no data |
|  💼 [RDS.12] IAM authentication should be configured for RDS clusters | | | 1 | | no data |
|  💼 [RDS.13] RDS automatic minor version upgrades should be enabled | | 1 | 1 | | no data |
|  💼 [RDS.14] Amazon Aurora clusters should have backtracking enabled | | | | | no data |
|  💼 [RDS.15] RDS DB clusters should be configured for multiple Availability Zones | | | 1 | | no data |
|  💼 [RDS.16] Aurora DB clusters should be configured to copy tags to DB snapshots | | | 1 | | no data |
|  💼 [RDS.17] RDS DB instances should be configured to copy tags to snapshots | | | 1 | | no data |
|  💼 [RDS.19] Existing RDS event notification subscriptions should be configured for critical cluster events | | | 1 | | no data |
|  💼 [RDS.20] Existing RDS event notification subscriptions should be configured for critical database instance events | | | 1 | | no data |
|  💼 [RDS.21] An RDS event notifications subscription should be configured for critical database parameter group events | | | 1 | | no data |
|  💼 [RDS.22] An RDS event notifications subscription should be configured for critical database security group events | | | 1 | | no data |
|  💼 [RDS.23] RDS instances should not use a database engine default port | | 1 | 1 | | no data |
|  💼 [RDS.24] RDS Database clusters should use a custom administrator username | | | 1 | | no data |
|  💼 [RDS.25] RDS database instances should use a custom administrator username | | | 1 | | no data |
|  💼 [RDS.27] RDS DB clusters should be encrypted at rest | | | 1 | | no data |
|  💼 [RDS.34] Aurora MySQL DB clusters should publish audit logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [RDS.35] RDS DB clusters should have automatic minor version upgrade enabled | | | 1 | | no data |
|  💼 [RDS.36] RDS for PostgreSQL DB instances should publish logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [RDS.37] Aurora PostgreSQL DB clusters should publish logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [RDS.40] RDS for SQL Server DB instances should publish logs to CloudWatch Logs | | | 1 | | no data |
|  💼 [RDS.41] RDS for SQL Server DB instances should be encrypted in transit | | | | | no data |
|  💼 [RDS.42] RDS for MariaDB DB instances should publish logs to CloudWatch Logs | | | | | no data |
|  💼 [RDS.43] RDS DB proxies should require TLS encryption for connections | | | | | no data |
|  💼 [RDS.44] RDS for MariaDB DB instances should be encrypted in transit | | | | | no data |
|  💼 [RDS.45] Aurora MySQL DB clusters should have audit logging enabled | | | | | no data |
|  💼 [RDS.46] RDS DB instances should not be deployed in public subnets with routes to internet gateways | | | | | no data |
|  💼 [RDS.47] RDS for PostgreSQL DB clusters should be configured to copy tags to DB snapshots | | | | | no data |
|  💼 [RDS.48] RDS for MySQL DB clusters should be configured to copy tags to DB snapshots | | | | | no data |
| 💼 Route 53 | 1 | | | | no data |
|  💼 [Route53.2] Route 53 public hosted zones should log DNS queries | | | | | no data |
| 💼 SageMaker | 6 | | 4 | | no data |
|  💼 [SageMaker.1] Amazon SageMaker AI notebook instances should not have direct internet access | | | 1 | | no data |
|  💼 [SageMaker.2] SageMaker AI notebook instances should be launched in a custom VPC | | | 1 | | no data |
|  💼 [SageMaker.3] Users should not have root access to SageMaker AI notebook instances | | | 1 | | no data |
|  💼 [SageMaker.4] SageMaker AI endpoint production variants should have an initial instance count greater than 1 | | | 1 | | no data |
|  💼 [SageMaker.5] SageMaker models should have network isolation enabled | | | | | no data |
|  💼 [SageMaker.8] SageMaker notebook instances should run on supported platforms | | | | | no data |
| 💼 Secrets Manager | 4 | | 2 | | no data |
|  💼 [SecretsManager.1] Secrets Manager secrets should have automatic rotation enabled | | | 1 | | no data |
|  💼 [SecretsManager.2] Secrets Manager secrets configured with automatic rotation should rotate successfully | | | | | no data |
|  💼 [SecretsManager.3] Remove unused Secrets Manager secrets | | | 1 | | no data |
|  💼 [SecretsManager.4] Secrets Manager secrets should be rotated within a specified number of days | | | | | no data |
| 💼 Service Catalog | 1 | | | | no data |
|  💼 [ServiceCatalog.1] Service Catalog portfolios should be shared within an AWS organization only | | | | | no data |
| 💼 Simple Email Service (SES) | 1 | | | | no data |
|  💼 [SES.3] SES configuration sets should have TLS enabled for sending emails | | | | | no data |
| 💼 Simple Notification Service (SNS) | 1 | | | | no data |
|  💼 [SNS.4] SNS topic access policies should not allow public access | | | | | no data |
| 💼 Simple Queue Service (SQS) | 2 | | | | no data |
|  💼 [SQS.1] Amazon SQS queues should be encrypted at rest | | | | | no data |
|  💼 [SQS.3] SQS queue access policies should not allow public access | | | | | no data |
| 💼 Simple Storage Service (S3) | 12 | 3 | 9 | | no data |
|  💼 [S3.1] S3 general purpose buckets should have block public access settings enabled | | | 1 | | no data |
|  💼 [S3.2] S3 general purpose buckets should block public read access | | | 2 | | no data |
|  💼 [S3.3] S3 general purpose buckets should block public write access | | | 2 | | no data |
|  💼 [S3.5] S3 general purpose buckets should require requests to use SSL | | 1 | 1 | | no data |
|  💼 [S3.6] S3 general purpose bucket policies should restrict access to other AWS accounts | | | | | no data |
|  💼 [S3.8] S3 general purpose buckets should block public access | | | 1 | | no data |
|  💼 [S3.9] S3 general purpose buckets should have server access logging enabled | | 1 | 2 | | no data |
|  💼 [S3.12] ACLs should not be used to manage user access to S3 general purpose buckets | | | | | no data |
|  💼 [S3.13] S3 general purpose buckets should have Lifecycle configurations | | 1 | 1 | | no data |
|  💼 [S3.19] S3 access points should have block public access settings enabled | | | 1 | | no data |
|  💼 [S3.24] S3 Multi-Region Access Points should have block public access settings enabled | | | 1 | | no data |
|  💼 [S3.25] S3 directory buckets should have lifecycle configurations | | | | | no data |
| 💼 Step Functions | 1 | | | | no data |
|  💼 [StepFunctions.1] Step Functions state machines should have logging turned on | | | | | no data |
| 💼 Systems Manager (SSM) | 6 | | | | no data |
|  💼 [SSM.1] Amazon EC2 instances should be managed by AWS Systems Manager | | | | | no data |
|  💼 [SSM.2] Amazon EC2 instances managed by Systems Manager should have a patch compliance status of COMPLIANT after a patch installation | | | | | no data |
|  💼 [SSM.3] Amazon EC2 instances managed by Systems Manager should have an association compliance status of COMPLIANT | | | | | no data |
|  💼 [SSM.4] SSM documents should not be public | | | | | no data |
|  💼 [SSM.6] SSM Automation should have CloudWatch logging enabled | | | | | no data |
|  💼 [SSM.7] SSM documents should have the block public sharing setting enabled | | | | | no data |
| 💼 Transfer Family | 2 | | | | no data |
|  💼 [Transfer.2] Transfer Family servers should not use FTP protocol for endpoint connection | | | | | no data |
|  💼 [Transfer.3] Transfer Family connectors should have logging enabled | | | | | no data |
| 💼 WAF | 9 | | 2 | | no data |
|  💼 [WAF.1] AWS WAF Classic Global Web ACL logging should be enabled | | | | | no data |
|  💼 [WAF.2] AWS WAF Classic Regional rules should have at least one condition | | | | | no data |
|  💼 [WAF.3] AWS WAF Classic Regional rule groups should have at least one rule | | | 1 | | no data |
|  💼 [WAF.4] AWS WAF Classic Regional web ACLs should have at least one rule or rule group | | | 1 | | no data |
|  💼 [WAF.6] AWS WAF Classic global rules should have at least one condition | | | | | no data |
|  💼 [WAF.7] AWS WAF Classic global rule groups should have at least one rule | | | 1 | | no data |
|  💼 [WAF.8] AWS WAF Classic global web ACLs should have at least one rule or rule group | | | 1 | | no data |
|  💼 [WAF.10] AWS WAF web ACLs should have at least one rule or rule group | | | 1 | | no data |
|  💼 [WAF.12] AWS WAF rules should have CloudWatch metrics enabled | | | | | no data |
| 💼 WorkSpaces | 2 | | 1 | | no data |
|  💼 [WorkSpaces.1] WorkSpaces user volumes should be encrypted at rest | | | 1 | | no data |
|  💼 [WorkSpaces.2] WorkSpaces root volumes should be encrypted at rest | | | 1 | | no data |