AWS: Control Permissions
The following lists describe the permissions required for controls of Amazon Web Services (AWS). Enable these permissions to ensure you can view these controls in the policy tab.
ControlID | Title | Permissions |
---|---|---|
1 | Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password | iam:GenerateCredentialReport iam:GetCredentialReport iam:listVirtualMFADevices |
2 | Ensure console credentials unused for 45 days or greater are disabled | iam:GenerateCredentialReport iam:GetCredentialReport |
3 | Ensure access keys unused for 90 days or greater are disabled | iam:GenerateCredentialReport iam:GetCredentialReport |
4 | Ensure access key 1 is rotated every 90 days or less | iam:GenerateCredentialReport iam:GetCredentialReport |
5 | Ensure access key 2 is rotated every 90 days or less | iam:GenerateCredentialReport iam:GetCredentialReport |
6 | Ensure that custom IAM Password Policy is Defined | iam:GetAccountPasswordPolicy |
7 | Ensure that custom IAM password policy requires at least one uppercase letter | iam:GetAccountPasswordPolicy |
8 | Ensure that custom IAM password policy requires at least one lowercase letter | iam:GetAccountPasswordPolicy |
9 | Ensure that custom IAM password policy requires at least one symbol | iam:GetAccountPasswordPolicy |
10 | Ensure that custom IAM password policy requires at least one number | iam:GetAccountPasswordPolicy |
11 | Ensure that custom IAM password policy requires minimum length of 14 or greater | iam:GetAccountPasswordPolicy |
12 | Ensure that custom IAM password policy prevents password reuse | iam:GetAccountPasswordPolicy |
13 | Ensure that custom IAM password policy expires passwords within 90 days or less | iam:GetAccountPasswordPolicy |
14 | Ensure no root user account access key exists | iam:GenerateCredentialReport iam:GetCredentialReport |
15 | Ensure MFA is enabled for the root user account | iam:GenerateCredentialReport iam:GetCredentialReport |
16 | Ensure hardware MFA is enabled for the root user account | iam:GenerateCredentialReport iam:GetCredentialReport |
17 | Ensure IAM policies are attached only to groups or roles | iam:ListUserPolicies iam:ListAttachedUserPolicies |
18 | Eliminate use of the root user for administrative and daily tasks | iam:GenerateCredentialReport iam:GetCredentialReport |
19 | Ensure CloudTrail is enabled in all regions | cloudtrail:ListTrails cloudtrail:DescribeTrails cloudtrail:GetTrailStatus |
20 | Ensure CloudTrail log file validation is enabled | cloudtrail:DescribeTrails |
21 | Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible | s3:GetBucketAcl s3:GetBucketLocation s3:GetBucketPolicy s3:GetBucketPolicyStatus |
22 | Ensure CloudTrail trails are integrated with CloudWatch Logs | cloudtrail:GetEventSelectors cloudwatch:DescribeAlarmsForMetric |
23 | Ensure AWS Config is enabled in all regions | config:DescribeConfigurationRecorderStatus |
24 | Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket | config:DescribeConfigurationRecorderStatus config:DescribeConfigurationRecorders |
25 | Ensure CloudTrail logs are encrypted at rest using KMS CMKs | cloudtrail:DescribeTrails s3:ListBucket s3:ListAllMyBuckets s3:GetBucketLocation kms:DescribeKey |
26 | Ensure rotation for customer created symmetric CMKs is enabled | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
27 | Ensure unauthorized API calls are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
28 | Ensure management console sign-in without MFA is monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
29 | Ensure usage of root account is monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
30 | Ensure IAM policy changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
31 | Ensure CloudTrail configuration changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
32 | Ensure AWS Management Console authentication failures are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
33 | Ensure disabling or scheduled deletion of customer created CMKs is monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
34 | Ensure S3 bucket policy changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
35 | Ensure AWS Config configuration changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
36 | Ensure security group changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
37 | Ensure Network Access Control Lists (NACL) changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails |
38 | Ensure changes to network gateways are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
39 | Ensure route table changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
40 | Ensure VPC changes are monitored | cloudtrail:ListTrails cloudtrail:DescribeTrails logs:DescribeMetricFilters |
41 | Ensure no security groups allow ingress from 0.0.0.0/0 to port 22 | ec2:DescribeSecurityGroups |
42 | Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389 | ec2:DescribeSecurityGroups |
43 | Ensure VPC flow logging is enabled in all VPCs | ec2:DescribeVpcs ec2:DescribeFlowLogs |
44 | Ensure the default security group of every VPC restricts all traffic | ec2:DescribeSecurityGroups |
45 | S3 Bucket Access Control List Grant Access to Everyone or Authenticated Users | s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
46 | S3 Bucket Policy Grant Access to Everyone | s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
47 | Ensure access logging is enabled for S3 buckets | s3:GetBucketLogging s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
48 | Ensure versioning is enabled for S3 buckets | s3:GetBucketVersioning s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
49 | Ensure a support role has been created to manage incidents with AWS Support | iam:ListPolicies iam:GetPolicyVersion iam:ListAttachedRolePolicies iam:ListAttachedUserPolicies iam:ListPolicies iam:ListRolePolicies iam:ListUserPolicies |
50 | Ensure IAM policies that allow full *:* administrative privileges are not attached | iam:ListPolicies iam:GetPolicyVersion |
51 | Ensure that Public Accessibility is set to No for Database Instances | rds:DescribeDBInstances |
52 | Ensure DB snapshot is not publicly visible | rds:DescribeDBSnapshotAttributes rds:describeDBSnapshots |
53 | Ensure that encryption-at-rest is enabled for RDS Instances | rds:describeDBSnapshots |
54 | Ensure database Instance snapshot is encrypted | rds:describeDBSnapshots |
55 | Ensure Auto Minor Version Upgrade feature is Enabled for RDS Instances | rds:DescribeDBInstances |
56 | Ensure database Instance is not listening on to a standard/default port | rds:DescribeDBInstances |
57 | Ensure S3 Bucket Policy is set to deny HTTP requests | s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
58 | Ensure that the key expiry is set for CMK with external key material | kms:DescribeKey kms:ListKeys |
59 | Ensure Block new public bucket policies for a bucket is set to true | s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
60 | Ensure that Block public and cross-account access if bucket has public policies for bucket is set to true | s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
61 | Ensure that Block new public ACLs and uploading public objects for a bucket is set to true | s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
62 | Ensure that Remove public access granted through public ACLs for a bucket is set to true | s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
63 | Ensure Block new public bucket policies for an account is set to true | s3:GetBucketPolicy s3:ListBucket s3:GetAccountPublicAccessBlock s3:GetBucketAcl s3:GetBucketPolicyStatus s3:GetBucketPublicAccessBlock |
64 | Ensure that Block public and cross-account access if bucket has public policies for the account is set to true | s3:GetBucketPolicy s3:ListBucket s3:GetAccountPublicAccessBlock s3:GetBucketAcl s3:GetBucketPolicyStatus s3:GetBucketPublicAccessBlock |
65 | Ensure that Block new public ACLs and uploading public objects for the account is set to true | s3:GetBucketPolicy s3:ListBucket s3:GetAccountPublicAccessBlock s3:GetBucketAcl s3:GetBucketPolicyStatus s3:GetBucketPublicAccessBlock |
66 | Ensure that Remove public access granted through public ACLs for the account is enabled | s3:GetBucketPolicy s3:ListBucket s3:GetAccountPublicAccessBlock s3:GetBucketAcl s3:GetBucketPolicyStatus s3:GetBucketPublicAccessBlock |
67 | Ensure all S3 buckets employ encryption-at-rest | s3:GetEncryptionConfiguration s3:ListBucket s3:GetBucketLocation s3:GetBucketTagging |
68 | Ensure all the expired SSL/TLS certificates stored in AWS IAM are removed | iam:ListPolicies iam:GetPolicyVersion iam:ListAttachedRolePolicies iam:ListAttachedUserPolicies iam:ListPolicies iam:ListRolePolicies iam:ListUserPolicies |
69 | Ensure automated backups are enabled for RDS database instances | rds:DescribeDBInstances |
70 | Ensure Deletion Protection is enabled for RDS DB Cluster | rds:DescribeDBClusters |
71 | Ensure Deletion Protection is enabled for RDS Database instances | rds:DescribeDBInstances |
72 | Ensure IAM Database Authentication is Enabled for the DB Cluster | rds:DescribeDBClusters |
73 | Ensure IAM Database Authentication is Enabled for the DB Instances | rds:DescribeDBInstances |
74 | Ensure AWS RDS Log Exports is enabled for DB Cluster | rds:DescribeDBClusters |
75 | Ensure AWS RDS Log Exports is enabled for DB Instances | rds:DescribeDBInstances |
76 | Ensure RDS Database Master username is not set to well-known/default | rds:DescribeDBInstances |
77 | Ensure VPC security group attached to RDS Database Instance does not allows Inbound traffic from ANY source IP | rds:DescribeDBInstances |
78 | Ensure that public access is not given to RDS Instance | rds:DescribeDBInstances |
79 | Ensure RDS DB Cluster are not present in public subnets | ec2:DescribeRouteTables rds:describeDBSubnetGroups rds:describeDBClusters |
80 | Ensure Event Subscriptions for Instance Level Events is Enabled for DB Instances | rds:DescribeEventSubscriptions rds:DescribeDBInstances rds:ListTagsForResource |
81 | Ensure RDS Microsoft SQL instance enforces encrypted connections only | rds:DescribeDBInstances |
82 | Ensure RDS PostgreSQL instance enforces encrypted connections only | rds:DescribeDBInstances |
83 | Ensure RDS PostgreSQL Cluster enforces encrypted connections only | rds:DescribeDBInstances |
84 | Ensure Encryption is enabled for the RDS DB Cluster | rds:DescribeDBClusters |
85 | Ensure RDS DB Cluster snapshots are encrypted | rds:DescribeDBClusters |
86 | Ensure CMK is used to protect RDS DB Cluster encryption key | rds:DescribeDBClusters |
87 | Ensure CMK is used to protect RDS Db Instance encryption key | rds:DescribeDBInstances |
88 | Ensure DB instance replication is set to the another Zone for High Availability | rds:DescribeDBInstances |
89 | Ensure DB Cluster replication is set to the another Zone for High Availability | rds:DescribeDBClusters |
90 | Ensure RDS database Cluster snapshots are not public | rds:DescribeDBClusters |
91 | Ensure Enhance monitoring is enabled for RDS Database Instance | rds:DescribeDBInstances |
92 | Ensure AWS RDS DB Cluster with copy tags to snapshots option is enabled | rds:ListTagsForResource rds:DescribeDBClusterSnapshotAttributes |
93 | Ensure AWS RDS instances with copy tags to snapshots option is enabled | rds:ListTagsForResource rds:DescribeDBSnapshotAttributes |
94 | Ensure Event Subscriptions for cluster Level Events is Enabled for DB Clusters | rds:DescribeEventSubscriptions rds:DescribeDBClusters |
95 | Ensure MYSQL DB Instance backup Binary logs configuration is not set to OFF | rds:DescribeDBInstances |
96 | Ensure backup configuration is enabled for MSSQL DB Instances | rds:DescribeDBInstances |
97 | Ensure that Lambda function has tracing enabled | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole lambda:GetPolicy lambda:ListFunctionUrlConfigs |
98 | Ensure that Lambda Function is not using An IAM role for more than one Lambda Function | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
99 | Ensure that Multiple Triggers are not configured in $Latest Lambda Function | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
100 | Ensure that Lambda Runtime Version is latest and not custom | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
101 | Ensure that Lambda function does not have Admin Privileges | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
102 | Ensure that Lambda function does not have Cross Account Access | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
103 | Ensure that Lambda Environment Variables at-rest are encrypted with CMK | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
104 | Ensure that Lambda Environment Variables are encrypted using AWS encryption helpers for encryption in transit | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
105 | Ensure that Lambda function does not allows anonymous invocation | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
106 | Ensure that VPC access for Lambda Function is not set to default(Null) | ec2:DescribeRouteTables ec2:DescribeSecurityGroups lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
107 | Ensure that AWS Lambda excess Permissions are removed | iam:GetServiceLastAccessedDetails lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
108 | Ensure Version Upgrade is enabled for AWS Redshift clusters to automatically receive upgrades | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
109 | Ensure AWS Redshift clusters are not using default endpoint port | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
110 | Ensure AWS Redshift clusters are not publicly accessible | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
111 | Ensure AWS Redshift clusters master username is not set to well-known/default | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
112 | Ensure that AWS Redshift clusters encryption is set for data at rest | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
113 | Ensure audit logging is enabled for AWS Redshift clusters for security and troubleshooting purposes | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
114 | Ensure Images (AMIs) owned by an AWS account are not public | ec2:DescribeImages |
115 | Ensure that EBS Volumes attached to EC2 instances are encrypted | ec2:DescribeVolumes ec2:DescribeSnapshots |
116 | Ensure that Unattached EBS Volumes are encrypted | ec2:DescribeVolumes ec2:DescribeSnapshots |
117 | Ensure that RDS Instances certificates are rotated | rds:DescribeDBInstances |
118 | Ensure that DocumentDB Instances certificates are rotated | rds:DescribeDBInstances |
119 | Ensure no AWS default KMS Key is used to protect Secrets | secretsmanager:DescribeSecret secretsmanager:ListSecrets |
120 | Ensure No CMK is marked for deletion | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
121 | Ensure only Root user of the AWS Account should be allowed full access on the CMK | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
122 | Permissions to delete key is not granted to any Principal other than the Root user of AWS Account | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
123 | Ensure CMK administrators are not the user of the key | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
124 | Ensure all Custom key stores are connected to their CloudHSM clusters | kms:DescribeCustomKeyStores |
125 | Ensure that multiple triggers are not configured for Lambda Function Aliases | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole |
126 | Ensure AMIs owned by an AWS account are encrypted | ec2:DescribeImages |
127 | Ensure AWS EBS Volume snapshots are encrypted | ec2:DescribeSnapshots |
128 | Ensure access log is enabled for Application load balancer | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
129 | Ensure access log is enabled for Classic Elastic load balancer | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
130 | Ensure Classic Elastic load balancer is not using unencrypted protocol | elasticloadbalancing:DescribeLoadBalancers |
131 | Ensure Elastic load balancer listener is not using unencrypted protocol | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers wafv2:GetWebACLForResource acm:ListCertificates |
132 | Ensure DocumentDB database cluster master username is not set to well-known/default | rds:DescribeDBClusters |
133 | Ensure backup retention is set to minimum of 7 days for DocumentDB clusters | rds:DescribeDBClusters |
134 | Ensure audit logs is enabled for Log export to CloudWatch for DocumentDB clusters | rds:DescribeDBClusters |
135 | Ensure deletion protection is enabled for DocumentDB clusters | rds:DescribeDBClusters |
136 | Ensure DocumentDB Cluster is not listening on default port | rds:DescribeDBClusters |
137 | Ensure multi-AZ high availability is enabled for neptune DB | rds:DescribeDBClusters |
138 | Ensure neptune DB is not listening on default port | rds:DescribeDBClusters |
139 | Ensure IAM DB authentication is enabled for neptune database | rds:DescribeDBClusters |
140 | Ensure backup retention is set to minimum of 7 days for neptune database | rds:DescribeDBClusters |
141 | Ensure Audit logs is enabled for log exports to cloudwatch for neptune database | rds:DescribeDBClusters |
142 | Ensure Auto minor version upgrade is enabled for neptune database | rds:DescribeDBClusters |
143 | Ensure deletion protection is enabled for neptune DB | rds:DescribeDBClusters |
144 | Ensure EFS Encryption is enabled for data at rest | elasticfilesystem:DescribeFileSystems |
145 | Ensure EFS File system resource is encrypted by KMS using a customer managed Key (CMK) | elasticfilesystem:DescribeFileSystems |
146 | Ensure that AWS Elastic Block Store (EBS) volume snapshots are not public | ec2:DescribeSnapshots ec2:DescribeSnapshotAttribute |
147 | Ensure that AWS ElastiCache Memcached clusters are not associated with default VPC | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
148 | Ensure that AWS ElastiCache Redis clusters are not associated with default VPC | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
149 | Ensure that AWS ElastiCache redis clusters are not using their default endpoint ports | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
150 | Ensure that AWS ElastiCache memcached clusters are not using their default endpoint ports | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
151 | Ensure AWS ElastiCache Redis cluster with Multi-AZ Automatic Failover feature is set to enabled | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
152 | Ensure AWS ElastiCache Redis cluster with Redis AUTH feature is enabled | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
153 | Ensure that AWS ElastiCache Redis clusters are In-Transit encrypted | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
154 | Ensure that AWS ElastiCache Redis clusters are Data At-Rest encrypted | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
155 | Ensure that AWS ElastiCache Redis clusters are Data At-Rest encrypted with CMK | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
156 | Ensure node-to-node encryption feature is enabled for AWS Elasticsearch Service domains | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
157 | Ensure AWS Elasticsearch Service domains have enabled the support for publishing slow logs to AWS CloudWatch Logs | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
158 | Ensure AWS Elasticsearch Service domains are not publicly accessible | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
159 | Ensure AWS Elasticsearch Service domains are using the latest version of Elasticsearch engine | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
160 | Ensure that IAM Access analyzer is enabled for all regions | access-analyzer:ListAnalyzers |
161 | Ensure no Network ACLs allow ingress from 0.0.0.0/0 to port 22 | ec2:DescribeNetworkAcls |
162 | Ensure AWS Route 53 Registered domain has Transfer lock enabled | route53:ListHostedZones route53domains:ListDomains |
163 | Ensure AWS Route 53 Registered domain has Auto renew Enabled | route53:ListHostedZones route53domains:ListDomains |
164 | Ensure AWS Route 53 Registered domain is not expired | route53:ListHostedZones route53domains:ListDomains |
165 | Ensure AWS Kinesis Data Firehose delivery stream with Direct PUT and other sources as source has Server-side encryption configured | kinesis:DescribeStream kinesis:ListStreams |
166 | Ensure AWS Kinesis Data Firehose delivery stream with Kinesis Data stream as source has Server-side encryption configured | kinesis:DescribeStream kinesis:ListStreams |
167 | Ensure AWS Kinesis Data Firehose delivery stream with Direct PUT and other sources as source has Server-side encryption configured with KMS Customer Managed Keys | kinesis:DescribeStream kinesis:ListStreams |
168 | Ensure AWS Kinesis Data Firehose delivery stream with Kinesis Data stream as source has Server-side encryption configured with KMS Customer Managed Keys | kinesis:DescribeStream kinesis:ListStreams |
169 | Ensure DynamoDB tables are encrypted using KMS Customer managed Keys | dynamodb:DescribeGlobalTable dynamodb:DescribeTable dynamodb:ListGlobalTables dynamodb:ListTables |
170 | Ensure no Network ACLs allow ingress from 0.0.0.0/0 to port 3389 | ec2:DescribeNetworkAcls |
171 | Ensure there is only one active access key available for any single IAM user | iam:GenerateCredentialReport iam:GetCredentialReport |
172 | Ensure AWS Organizations changes are monitored | cloudtrail:ListTrails |
173 | Ensure DynamoDB tables are not configured using DEFAULT encryption | dynamodb:DescribeGlobalTable dynamodb:DescribeTable dynamodb:ListGlobalTables dynamodb:ListTables |
174 | Ensure that Customer managed KMS keys use external key material | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
175 | Ensure no Inline Policies are attached to IAM Users directly | iam:ListPolicies iam:GetPolicyVersion iam:ListAttachedRolePolicies iam:ListAttachedUserPolicies iam:ListPolicies iam:ListRolePolicies iam:ListUserPolicies |
176 | Ensure no Managed Policies are attached to IAM Users directly | iam:ListPolicies iam:GetPolicyVersion iam:ListAttachedRolePolicies iam:ListAttachedUserPolicies iam:ListPolicies iam:ListRolePolicies iam:ListUserPolicies |
177 | Ensure that Object-level logging for write events is enabled for S3 bucket | s3:ListBucket s3:GetBucketLogging |
178 | Ensure that Object-level logging for read events is enabled for S3 bucket | s3:ListBucket s3:GetBucketLogging |
179 | Ensure MFA is enabled in AWS Directory | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
180 | Ensure QLDB ledger has deletion protection enabled | qldb:DescribeLedger qldb:ListLedgers |
181 | Ensure proper protocol is configured for Radius server in AWS Directory | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
182 | Ensure SNS Topics do not Allow Everyone to Publish | sns:GetTopicAttributes sns:ListTopics |
183 | Ensure SNS Topics do not Allow Everyone to Subscribe | sns:GetTopicAttributes sns:ListTopics |
184 | Ensure there are no Internet facing Application load balancers | elasticloadbalancing:DescribeLoadBalancers |
185 | Ensure ALB using listener type HTTPS must have SSL Security Policy | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
186 | Ensure that ALB using listener type HTTP must be redirected to HTTPS | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
187 | Ensure that ALB listeners have HTTPS enabled Target Groups | elasticloadbalancing:DescribeTargetGroups elasticloadbalancing:DescribeLoadBalancers |
188 | Ensure IncreaseVolumeSize is Disabled for Workspace directories in all regions | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
189 | Ensure Automated backup retention is set for Redshift Cluster | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
190 | Ensure Redshift Cluster is configured to require an SSL connection | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
191 | Ensure database audit logging is enabled for Redshift Cluster | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
192 | Ensure Redshift Cluster is encrypted with KMS key | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
193 | Ensure that NLB balancer listener is not using unencrypted protocol | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
194 | Ensure that Classic Elastic load balancer is not internet facing | elasticloadbalancing:DescribeLoadBalancers |
195 | Ensure Classic Elastic Load balancer must have SSL Security Policy | elasticloadbalancing:DescribeLoadBalancers |
196 | Ensure AWS VPC subnets have automatic public IP assignment disabled | ec2:DescribeSubnets |
197 | Ensure to encrypt the User Volumes and Root Volumes with the customer managed master keys for AWS WorkSpace | workspaces:DescribeWorkspaces kms:DescribeKey |
198 | Ensure Workspace directory must have a vpc endpoint so that the API traffic associated with the management of workspaces stays within the vpc | iam:GenerateCredentialReport iam:GetCredentialReport |
199 | Ensure not to setup access keys during initial user setup for all IAM users that have a console password | iam:GenerateCredentialReport iam:GetCredentialReport |
200 | Ensure to log state machine execution history to CloudWatch Logs | states:ListStateMachines states:DescribeStateMachine |
201 | Ensure RDS Instance should not have an Interface open to a public scope | rds:DescribeDBInstances |
202 | Ensure to update the Security Policy of the Network Load Balancer | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers wafv2:GetWebACLForResource acm:ListCertificates |
203 | Ensure EBS Volume is encrypted by KMS using a customer managed Key (CMK) | kms:DescribeKey ec2:DescribeVolumes ec2:DescribeSnapshots |
204 | Ensure AWS EBS Volume snapshots are encrypted with KMS using a customer managed Key (CMK) | kms:DescribeKey ec2:DescribeVolumes ec2:DescribeSnapshots |
205 | Ensure RestartWorkspace is Enabled for Directories in all regions | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
206 | Ensure that DocumentDB Cluster Snapshots are encrypted | rds:DescribeDBClusterSnapshots |
207 | Ensure that DocumentDB Cluster Snapshots are not public | rds:DescribeDBClusterSnapshots rds:DescribeDBClusterSnapshotAttributes |
208 | Ensure WorkDocs is not enabled in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
209 | Ensure Access to Internet is not enabled in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
210 | Ensure Local Administrator setting is not enabled in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
211 | Ensure Maintenance Mode is not enabled in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
212 | Ensure Device Type Windows Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
213 | Ensure Device Type MacOS Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
214 | Ensure Device Type Web Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
215 | Ensure Device Type iOS Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
216 | Ensure Device Type Android Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
217 | Ensure Device Type ChromeOS Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
218 | Ensure Device Type ZeroClient Access Control is allowed in Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
219 | Ensure neptune DB snapshots are encrypted | rds:DescribeDBClusterSnapshots |
220 | Ensure neptune DB snapshots are not public | rds:DescribeDBClusterSnapshotAttributes rds:DescribeDBClusterSnapshots |
221 | Ensure ChangeComputeType is Disabled in all regions for Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
222 | Ensure SwitchRunningMode is Disabled in all regions for Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
223 | Ensure RebuildWorkspace is Disabled in all regions for Workspace Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
224 | Ensure only AD Connector directory type is allowed for AWS Directories | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
225 | Ensure to enable the encryption of the Root volumes for Workspaces in all regions | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
226 | Ensure to enable the encryption of the User volumes for Workspaces in all regions | workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces |
227 | Ensure Amazon API Gateway APIs are only accessible through private API endpoints in all regions | apigateway:GET |
228 | Ensure to disable default route table association for Transit Gateways in all regions | ec2:DescribeTransitGateways |
229 | Ensure to disable default route table propagation for Transit Gateways in all regions | ec2:DescribeTransitGateways |
230 | Ensure to enable config for the all resources for Config Service | config:DescribeConfigurationRecorders config:DescribeDeliveryChannels |
231 | Ensure to enable config for the global resources like IAM for Config Service | config:DescribeConfigurationRecorders config:DescribeDeliveryChannels |
232 | Ensure to configure data retention period for the configuration items for Config Service | config:DescribeConfigurationRecorders config:DescribeDeliveryChannels |
233 | Ensure to configure s3 buckets which contains details for the resources that Config records | config:DescribeConfigurationRecorders config:DescribeDeliveryChannels |
234 | Ensure to configure certificate provider type to custom in EMR security configuration | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
235 | Ensure to enable data in transit encryption for EMR security configuration | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
236 | Ensure that all AWS Systems Manager (SSM) parameters are encrypted | ssm:DescribeParameters |
237 | Ensure termination protection is enabled for EMR cluster | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
238 | Ensure ACM uses imported certificates only and does not create/issue certificates | acm:DescribeCertificate acm:ListCertificates |
239 | Ensure expired certificates are removed from AWS ACM | acm:DescribeCertificate acm:ListCertificates |
240 | Ensure ACM certificates should not have domain with wildcard(*) | acm:DescribeCertificate acm:ListCertificates |
241 | Ensure that the certificate use appropriate algorithms and key size | acm:DescribeCertificate acm:ListCertificates |
242 | Ensure logging is not set to OFF for Rest APIs Stage in all regions | apigateway:GET |
243 | Ensure to enable encryption if caching is enabled for Rest API Stage in all regions | apigateway:GET |
244 | Ensure accessLogSettings exists with the destinationArn and in the json format for Rest API Stage in all regions | apigateway:GET |
245 | Ensure there are no Internet facing Network load balancers | elasticloadbalancing:DescribeLoadBalancers |
246 | Ensure NLB using listener type TLS must have SSL Security Policy | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
247 | Ensure that NLB listeners using TLS have TLS enabled Target Groups configured | elasticloadbalancing:DescribeTargetGroups elasticloadbalancing:DescribeLoadBalancers |
248 | Ensure that NLB listeners using default insecure ports are not configured for passthrough | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
249 | Ensure AWS NLB logging is enabled | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
250 | Ensure AWS RDS instance is not open to a large scope | rds:DescribeDBInstances |
251 | Ensure QLDB ledger has encryption enabled using accessible Customer managed KMS key | qldb:DescribeLedger qldb:ListLedgers |
252 | Ensure to encrypt the data in transit when using NFS between the client and EFS service | elasticfilesystem:DescribeFileSystems |
253 | Ensure AWS Security Hub is enabled in all regions | securityhub:DescribeHub |
254 | Ensure that backup retention is set between 3 to 7 days for Aurora postgreSQL clusters | rds:DescribeDBClusters |
255 | Ensure MFA Delete is enabled on S3 buckets | s3:GetBucketVersioning s3:ListBucket s3:GetBucketTagging s3:GetBucketLocation |
256 | Ensure trail is configure on organization level | cloudtrail:ListTrails |
257 | Ensure status of the log_destination parameter for PostgreSQL instance is set to csvlog | rds:DescribeDBParameters |
258 | Ensure status of the log_rotation_age parameter for PostgreSQL instance is set to 60(minutes) | rds:DescribeDBParameters |
259 | Ensure status of the log_connections parameter for PostgreSQL instance is set to ON(1) | rds:DescribeDBParameters |
260 | Ensure status of the log_disconnections parameter for PostgreSQL instance is set to ON(1) | rds:DescribeDBParameters |
261 | Ensure status of the log_hostname parameter for PostgreSQL instance is set to OFF(0) | rds:DescribeDBParameters |
262 | Ensure status of the log_statement parameter for PostgreSQL instance is set to ddl or stricter | rds:DescribeDBParameters |
263 | Ensure status of the pgaudit.log parameter for PostgreSQL instance is set to appropriate value | rds:DescribeDBParameters |
264 | Ensure each trail includes the global services | cloudtrail:ListTrails |
265 | Ensure status of the log_destination parameter for Aurora PostgreSQL cluster is set to csvlog | rds:DescribeDBClusterParameters |
266 | Ensure status of the log_rotation_age parameter for Aurora PostgreSQL cluster is set to 60(minutes) | rds:DescribeDBClusterParameters |
267 | Ensure status of the log_connections parameter for Aurora PostgreSQL cluster is set to ON(1) | rds:DescribeDBClusterParameters |
268 | Ensure status of the log_disconnections parameter for Aurora PostgreSQL cluster is set to ON(1) | rds:DescribeDBClusterParameters |
269 | Ensure status of the log_hostname parameter for Aurora PostgreSQL cluster is set to OFF(0) | rds:DescribeDBClusterParameters |
270 | Ensure status of the log_statement parameter for Aurora PostgreSQL cluster is set to ddl or stricter | rds:DescribeDBClusterParameters |
271 | Ensure status of the pgaudit.log parameter for Aurora PostgreSQL cluster is set to appropriate value | rds:DescribeDBClusterParameters |
272 | Ensure to log KMS events to the trail | cloudtrail:ListTrails |
273 | Ensure block public access is enabled so that no port should have public access for EMR clusters | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
285 | Ensure all data stored in the Elasticsearch is securely encrypted at rest | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
286 | Ensure all data stored in the Launch configuration EBS is securely encrypted | autoscaling:DescribeLaunchConfigurations |
288 | Ensure SageMaker Notebook is encrypted at rest using KMS CMK | sagemaker:DescribeNotebookInstance sagemaker:ListNotebookInstances |
289 | Ensure every security groups rule has a description | ec2:DescribeSecurityGroups |
291 | Ensure SQS Queue have encryption at rest enabled | sqs:GetQueueAttributes sqs:ListQueues |
292 | Ensure Dynamodb point in time recovery (backup) is enabled | dynamodb:DescribeBackup dynamodb:DescribeContinuousBackups |
293 | Ensure ECR repository policy is not set to public | ecr:GetRepositoryPolicy ecr:DescribeRepositories |
294 | Ensure Customer managed KMS key policy does not contain wildcard (*) principal | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
295 | Ensure Cloudfront distribution ViewerProtocolPolicy is set to HTTPS | cloudfront:GetDistribution cloudfront:ListDistributions |
302 | Ensure DAX is encrypted at rest (default is unencrypted) | dax:DescribeClusters |
303 | Ensure MQ Broker logging is enabled | mq:DescribeBroker mq:ListBrokers |
305 | Ensure ECR Image Tags are immutable | ecr:DescribeRepositories ecr:GetRepositoryPolicy |
312 | Ensure container insights are enabled on ECS cluster | ecs:DescribeClusters ecs:DescribeTaskDefinition ecs:ListClusters ecs:ListTaskDefinitions |
313 | Ensure CloudWatch Log Group has a retention period set to 7 days or greater | logs:DescribeLogGroups |
314 | Ensure that CloudFront Distribution has WAF enabled | cloudfront:GetDistribution cloudfront:ListDistributions |
315 | Ensure MQ Broker is not publicly exposed | mq:DescribeBroker mq:ListBrokers |
318 | Ensure API Gateway has X-Ray Tracing enabled | apigateway:GET |
319 | Ensure Global Accelerator has flow logs enabled | globalaccelerator:DescribeAccelerator globalaccelerator:DescribeAcceleratorAttributes globalaccelerator:ListAccelerators |
321 | Ensure that CodeBuild Project encryption is not disabled | codebuild:BatchGetProjects codebuild:ListProjects |
322 | Ensure that EC2 Metadata Service only allows IMDSv2 | ec2:DescribeInstances |
323 | Ensure MSK Cluster logging is enabled | kafka:ListClusters |
324 | Ensure MSK Cluster encryption at rest and in transit is enabled | kafka:ListClusters |
325 | Ensure Athena Workgroups enforce configuration to prevent client disabling encryption | athena:GetWorkGroup athena:ListWorkGroups |
326 | Ensure Elasticsearch Domain enforces HTTPS | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
327 | Ensure Cloudfront distribution has Access Logging enabled | cloudfront:GetDistribution cloudfront:ListDistributions |
328 | Ensure that EC2 instance have no public IP | ec2:DescribeInstances |
329 | Ensure that DMS replication instance is not publicly accessible | dms:DescribeReplicationInstances |
330 | Ensure DocDB TLS is not disabled | rds:DescribeDBClusters |
332 | Ensure Glue Data Catalog Encryption is enabled with SSE-KMS with customer-managed keys | glue:GetDataCatalogEncryptionSettings kms:DescribeKey |
333 | Ensure all data stored in Aurora is securely encrypted at rest | rds:DescribeDBClusters |
334 | Ensure all data stored in the Sagemaker Endpoint is securely encrypted at rest | sagemaker:DescribeEndpoint sagemaker:DescribeEndpointConfig sagemaker:ListEndpoints |
338 | Ensure that load balancer is using TLS 1.2 or above | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers wafv2:GetWebACLForResource acm:ListCertificates |
339 | Ensure EBS default encryption is enabled with customer managed key | kms:DescribeKey |
342 | Ensure that EMR clusters with Kerberos have Kerberos Realm set | elasticmapreduce:DescribeCluster elasticmapreduce:ListClusters |
343 | Ensure that AWS Lambda function is configured for function-level concurrent execution limit | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole lambda:GetPolicy lambda:ListFunctionUrlConfigs |
344 | Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ) | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole lambda:GetPolicy lambda:ListFunctionUrlConfigs |
346 | Ensure network load balancers should have security group attached | elasticloadbalancing:DescribeLoadBalancers |
347 | Ensure that direct internet access is disabled for an Amazon SageMaker Notebook Instance | sagemaker:DescribeNotebookInstance sagemaker:ListNotebookInstances |
348 | Ensure that VPC Endpoint Service is configured for Manual Acceptance | ec2:DescribeVpcEndpointServices |
349 | Ensure that CloudFormation stacks are sending event notifications to an SNS topic | cloudformation:DescribeStacks cloudformation:GetStackPolicy cloudformation:ListStacks |
350 | Ensure that detailed monitoring is enabled for EC2 instances | ec2:DescribeInstances |
351 | Ensure that Elastic Load Balancers use SSL certificates provided by AWS Certificate Manager | elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers |
354 | Ensure that ALB drops HTTP headers | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
355 | Ensure Trail is configured to log Data events for s3 buckets | cloudtrail:ListTrails |
357 | Ensure that EC2 is EBS optimized | ec2:DescribeInstances |
358 | Ensure that ECR repositories are encrypted using KMS | ecr:DescribeRepositories ecr:GetRepositoryPolicy |
359 | Ensure that Elasticsearch is configured inside a VPC | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
360 | Ensure that ELB has cross-zone-load-balancing enabled | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
366 | Ensure that Secrets Manager secret is encrypted using KMS using a customer managed Key (CMK) | secretsmanager:DescribeSecret secretsmanager:ListSecrets |
367 | Ensure that Load Balancer has deletion protection enabled | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
369 | Ensure that Load Balancer (Network/Gateway) has cross-zone load balancing enabled | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
370 | Ensure that Auto Scaling Groups supply tags to Launch Configurations | autoscaling:DescribeAutoScalingGroups |
371 | Ensure Redshift is not deployed outside of a VPC | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
373 | Ensure to encrypt CloudWatch log groups | logs:DescribeLogGroups |
374 | Ensure that Athena Workgroup is encrypted | athena:GetWorkGroup athena:ListWorkGroups |
377 | Ensure ECR image scanning on push is enabled | ecr:DescribeRepositories ecr:GetRepositoryPolicy |
378 | Ensure Transfer Server is not exposed publicly | transfer:DescribeServer transfer:ListServers |
379 | Ensure S3 bucket must not allow WRITE permission for server access logs from everyone on the bucket | s3:GetBucketPolicyStatus s3:GetBucketAcl s3:GetBucketPolicy s3:ListBucket s3:GetBucketTagging s3:GetBucketLocation |
380 | Ensure Backup Vault is encrypted at rest using KMS CMK | backup:DescribeBackupVault backup:ListBackupVaults |
381 | Ensure Glacier Vault access policy is not public by only allowing specific services or principals to access it | glacier:ListVaults |
382 | Ensure SQS queue policy is not public by only allowing specific services or principals to access it | sqs:GetQueueAttributes sqs:ListQueues |
383 | Ensure SNS topic policy is not public by only allowing specific services or principals to access it | sns:GetTopicAttributes sns:ListTopics |
384 | Ensure QLDB ledger permissions mode is set to STANDARD | qldb:DescribeLedger qldb:ListLedgers |
385 | Ensure that EMR Cluster security configuration encryption is using SSE-KMS | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
386 | Ensure that all NACLs are attached to subnets | ec2:DescribeNetworkAcls |
387 | Ensure GuardDuty is enabled to specific org/region | guardduty:GetDetector guardduty:ListDetectors |
388 | Ensure API Gateway stage have logging level defined as appropriate and have metrics enabled | apigateway:GET |
393 | Ensure the option group attached to the RDS Oracle Instance have TLSv1.2 and the required ciphers configured | rds:DescribeDBInstances rds:DescribeOptionGroups |
395 | Ensure that Auto Scaling Groups that are associated with a Load Balancer are using Elastic Load Balancing health checks | autoscaling:DescribeAutoScalingGroups |
396 | Ensure that Auto Scaling is enabled on your DynamoDB tables | application-autoscaling:DescribeScalableTargets |
398 | Ensure that all EIP addresses allocated to a VPC are attached to EC2 instances | ec2:DescribeAddresses |
399 | Ensure that all IAM users are members of at least one IAM group | iam:ListUsers iam:ListGroups |
400 | Ensure an IAM User does not have access to the console | iam:GenerateCredentialReport iam:GetCredentialReport |
401 | Route53 A Record has Attached Resource | route53:ListHostedZones route53domains:ListDomains route53:GetDNSSEC route53:GetHostedZone route53:ListQueryLoggingConfigs route53:ListResourceRecordSets route53domains:GetDomainDetail |
402 | Ensure that PostgreSQL RDS instances have Query Logging enabled | rds:DescribeDBInstances |
403 | Ensure public facing ALB are protected by WAF | wafv2:GetWebACLForResource elasticloadbalancing:DescribeLoadBalancers |
407 | Ensure all data stored in the Elasticache Replication Group is securely encrypted at transit and has auth token | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
409 | Ensure that ssl_max_protocol_version parameter for Aurora PostgreSQL cluster is set to latest version | rds:DescribeDBClusterParameters |
410 | Ensure that ssl_min_protocol_version parameter for Aurora PostgreSQL cluster is set to latest version | rds:DescribeDBClusterParameters |
411 | Ensure that a log driver has been defined for each active Amazon ECS task definition | ecs:DescribeClusters ecs:DescribeTaskDefinition ecs:ListClusters ecs:ListTaskDefinitions |
413 | Ensure that your Amazon Relational Database Service (RDS) instances have Storage AutoScaling feature enabled | rds:DescribeDBInstances |
419 | Ensure that AWS CloudFront distribution origins do not use insecure SSL protocols | cloudfront:GetDistribution cloudfront:ListDistributions |
426 | Ensure Amazon API Gateway REST APIs are protected by AWS WAF | apigateway:GET |
427 | Ensure client-side SSL certificates are used for HTTP backend authentication in AWS API Gateway REST APIs | apigateway:GET |
428 | Ensure that SSL certificates associated with API Gateway REST APIs are rotated periodically | apigateway:GET |
429 | Ensure AWS CloudFront distributions use improved security policies for HTTPS connections | cloudfront:GetDistribution cloudfront:ListDistributions |
430 | Ensure the traffic between the AWS CloudFront distributions and their origins is encrypted | cloudfront:GetDistribution cloudfront:ListDistributions |
431 | Ensure your AWS Cloudfront distributions are using an origin access identity for their origin S3 buckets | cloudfront:GetDistribution cloudfront:ListDistributions |
432 | Ensure that your Amazon DynamoDB tables are using backup and restore | dynamodb:DescribeBackup dynamodb:DescribeContinuousBackups |
433 | Ensure IAM instance roles are used for AWS resource access from instances | ec2:DescribeInstances |
435 | Ensure Performance Insights feature is enabled for your Amazon RDS database instances | rds:DescribeDBInstances |
436 | Ensure to encrypt data in transit for SNS topic | sns:GetTopicAttributes sns:ListTopics |
437 | Ensure unused AWS EC2 key pairs are decommissioned | ec2:DescribeInstances ec2:DescribeKeyPairs |
438 | Ensure AWS SNS topics do not allow HTTP subscriptions | sns:GetTopicAttributes sns:ListTopics |
439 | Ensure that Elastic File System does not have the default access policy | elasticfilesystem:DescribeFileSystems |
440 | Ensure that the latest version of Memcached is used for AWS ElastiCache clusters | elasticache:DescribeCacheClusters elasticache:DescribeCacheSubnetGroups elasticache:DescribeReplicationGroups |
442 | Ensure that your Amazon Lambda functions are configured to use enhanced monitoring | lambda:ListFunctions lambda:ListTags lambda:ListVersionsByFunction lambda:GetFunctionConcurrency lambda:ListAliases lambda:ListEventSourceMappings iam:ListRolePolicies iam:GetRolePolicy iam:ListAttachedRolePolicies iam:GetPolicy iam:GetPolicyVersion iam:GetRole lambda:GetPolicy lambda:ListFunctionUrlConfigs |
443 | Ensure that Route 53 Hosted Zone has configured logging for DNS queries | route53:ListHostedZones route53domains:ListDomains route53:GetDNSSEC route53:GetHostedZone route53:ListQueryLoggingConfigs route53:ListResourceRecordSets route53domains:GetDomainDetail |
444 | Ensure that DNSSEC Signing is enabled for Route 53 Hosted Zones | route53:ListHostedZones route53domains:ListDomains route53:GetDNSSEC route53:GetHostedZone route53:ListQueryLoggingConfigs route53:ListResourceRecordSets route53domains:GetDomainDetail |
445 | Ensure that Route 53 domains have Privacy Protection enabled | route53:ListHostedZones route53domains:ListDomains |
446 | Ensure a loggroup is created to upload logs of datasync task to the cloudwatch log group | datasync:DescribeTask datasync:ListTasks |
447 | Ensure to enable data integrity checks for only files transferred in datasync task | datasync:DescribeTask datasync:ListTasks |
448 | Ensure that all your SSL/TLS IAM certificates are using 2048 or higher bit RSA keys | iam:ListServerCertificates |
449 | Ensure to disable default endpoint for all the APIs | apigateway:GET |
450 | Ensure that Microsoft AD directory forward domain controller security event logs to cloudwatch logs | ds:DescribeDirectories ds:ListLogSubscriptions |
451 | Ensure SQS queues uses KMS customer managed master key | sqs:GetQueueAttributes sqs:ListQueues |
452 | Ensure SQS queues are encrypted in transit | sqs:GetQueueAttributes sqs:ListQueues |
453 | Ensure to block public access to Amazon EFS file systems | elasticfilesystem:DescribeFileSystems |
455 | Ensure backtracking is enabled for AWS RDS cluster | rds:DescribeDBClusterBacktracks |
456 | Ensure database retention is set to 7 days or more for AWS RDS cluster | rds:DescribeDBClusters |
457 | Ensure Aurora Serverless AutoPause is enabled for RDS cluster | rds:DescribeDBClusters |
458 | Ensure connection draining is enabled for AWS ELB | elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DescribeLoadBalancers |
459 | Ensure Enhanced VPC routing should be enabled for AWS Redshift Clusters | redshift:DescribeClusterParameters redshift:DescribeClusters redshift:DescribeLoggingStatus |
460 | Ensure that content encoding is enabled for API Gateway Rest API | apigateway:GET |
461 | Ensure to configure idle session timeout in all regions | ssm:DescribeParameters |
462 | Ensure session logs for system manager are stored in CloudWatch log groups or S3 buckets | ssm:DescribeParameters |
463 | Ensure session logs for system manager are stored in only Encrypted CloudWatch log groups or S3 buckets | ssm:DescribeParameters |
464 | Ensure Block public sharing setting is ON for the documents in all regions | ssm:DescribeParameters ssm:getdocument ssm:getservicesetting |
465 | Ensure stage caching is enabled for AWS API Gateway Method Settings | apigateway:GET |
466 | Ensure transit encryption is enabled for EFS volumes in AWS ECS Task Definition | ecs:DescribeClusters ecs:DescribeTaskDefinition ecs:ListClusters ecs:ListTaskDefinitions |
467 | Ensure to disable root access for all notebook instance users | sagemaker:DescribeNotebookInstance sagemaker:ListNotebookInstances |
468 | Ensure to enable inter-container traffic encryption for Processing jobs(if configured) | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
469 | Ensure processing jobs(if configured) are running inside a VPC | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
470 | Ensure to enable network isolation for processing jobs(if configured) | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
471 | Ensure ML storage volume attached to training jobs are encrypted | sagemaker:DescribeTrainingJob sagemaker:ListTrainingJobs |
472 | Ensure ML storage volume attached to training jobs are encrypted with customer managed master key | kms:DescribeKey sagemaker:DescribeTrainingJob sagemaker:ListTrainingJobs |
473 | Ensure to encrypt the output of the training jobs in s3 with customer managed master key | sagemaker:DescribeTrainingJob sagemaker:ListTrainingJobs |
474 | Ensure to enable inter-container traffic encryption for training jobs | sagemaker:DescribeTrainingJob sagemaker:ListTrainingJobs |
475 | Ensure to enable network isolation for training jobs | sagemaker:DescribeTrainingJob sagemaker:ListTrainingJobs |
476 | Ensure ML storage volume attached to Hyperparameter Tuning jobs are encrypted | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
477 | Ensure ML storage volume attached to Hyperparameter Tuning jobs (if configured) are encrypted with customer managed master key | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
478 | Ensure to encrypt the output of Hyperparameter tuning jobs in s3 | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
479 | Ensure to encrypt the output of Hyperparameter tuning jobs(if configured) in s3 with customer managed master key | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
480 | Ensure to enable inter-container traffic encryption for Hyperparameter tuning jobs(if configured) | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
481 | Ensure Hyperparameter tuning jobs(if configured) are running inside a VPC | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
482 | Ensure to enable network isolation for Hyperparameter tuning jobs(if configured) | sagemaker:DescribeHyperParameterTuningJob sagemaker:ListHyperParameterTuningJobs |
483 | Ensure to enable network isolation for models | sagemaker:DescribeModel sagemaker:ListModels |
485 | Ensure to enable CloudWatch logging in the audit logging account | kinesis:DescribeStream kinesis:ListStreams |
489 | Ensure multi-az is enabled for AWS DMS instances | dms:DescribeReplicationInstances |
490 | Ensure auto minor version upgrade is enabled for AWS DMS instances | dms:DescribeReplicationInstances |
491 | Ensure auto minor version upgrade is enabled for AWS MQ Brokers | mq:DescribeBroker mq:ListBrokers |
492 | Ensure active/standby deployment mode is used for AWS MQ Brokers | mq:DescribeBroker mq:ListBrokers |
495 | Ensure advanced security options are enabled for AWS ElasticSearch Domain | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
496 | Ensure general purpose SSD node type is used for AWS ElasticSearch Domains | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
497 | Ensure KMS customer managed keys are used for encryption for AWS ElasticSearch Domains | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
498 | Ensure Zone Awareness is enabled for AWS ElasticSearch Domain | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
499 | Ensure Amazon cognito authentication is enabled for AWS ElasticSearch Domain | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
500 | Ensure dedicated master nodes are enabled for AWS ElasticSearch Domains | es:DescribeDomains es:DescribeElasticsearchDomain es:DescribeElasticsearchDomains es:ListDomainNames |
501 | Ensure policies are used for AWS CloudFormation Stacks | cloudformation:DescribeStacks cloudformation:GetStackPolicy cloudformation:ListStacks |
502 | Ensure termination protection is enabled for AWS CloudFormation Stack | cloudformation:DescribeStacks cloudformation:GetStackPolicy cloudformation:ListStacks |
503 | Ensure TLS security policy is using 1.2 version for the custom domains | apigateway:GET |
504 | Ensure there is a Dead Letter Queue configured for each Amazon SQS queue | sqs:GetQueueAttributes sqs:ListQueues |
505 | Ensure that EMR cluster is configured with security configuration | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
506 | Ensure AWS Elastic MapReduce (EMR) clusters capture detailed log data to Amazon S3 | elasticmapreduce:DescribeCluster elasticmapreduce:DescribeSecurityConfiguration elasticmapreduce:ListClusters |
507 | Ensure encryption at rest is enabled for AWS DocumentDB clusters | rds:DescribeDBClusters |
508 | Ensure AWS EBS Volume has a corresponding AWS EBS Snapshot | ec2:DescribeVolumes ec2:DescribeSnapshots |
509 | Ensure egress filter is set as DROP_ALL for AWS Application Mesh | appmesh:DescribeMesh appmesh:ListMeshes |
510 | Ensure secrets should be auto rotated after not more than 90 days | secretsmanager:DescribeSecret secretsmanager:ListSecrets |
511 | Ensure CORS is configured to prevent sharing across all domains for AWS API Gateway V2 API | apigateway:GET |
512 | Ensure storage encryption is enabled for AWS Neptune cluster | rds:DescribeDBClusters |
514 | Ensure sufficient data retention period is set for AWS Kinesis Streams (7 days or More) | kinesis:DescribeStreamSummary kinesis:ListStreams |
516 | Ensure AWS ACM certificates are renewed 7 days before expiration date | acm:DescribeCertificate acm:ListCertificates |
517 | Ensure customer master key (CMK) is not disabled for AWS Key Management Service (KMS) | kms:DescribeCustomKeyStores kms:GetKeyPolicy kms:GetKeyRotationStatus kms:ListKeys |
518 | Ensure SNS Topics at rest are encrypted with customer managed master key | sns:GetTopicAttributes sns:ListTopics |
519 | Ensure ML storage volume attached to notebooks are encrypted | sagemaker:DescribeNotebookInstance sagemaker:ListNotebookInstances |
520 | Ensure ML storage volume attached to notebooks are encrypted with customer managed master key | sagemaker:DescribeNotebookInstance sagemaker:ListNotebookInstances |
521 | Ensure ML storage volume attached to processing jobs are encrypted | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
522 | Ensure ML storage volume attached to processing jobs(if configured) are encrypted with customer managed master key | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
523 | Ensure to encrypt the output of processing jobs | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
524 | Ensure to encrypt the output of processing jobs(if configured)in s3 with customer managed master key | sagemaker:DescribeProcessingJob sagemaker:ListProcessingJobs |
527 | Ensure to encrypt the destination bucket in s3 in the audit logging account | kinesis:DescribeStream kinesis:ListStreams |
528 | Ensure to encrypt the destination bucket in s3 with customer managed master keys in the audit logging account | kinesis:DescribeStream kinesis:ListStreams |
529 | Ensure detailed monitoring is enabled for AWS Launch Configuration | autoscaling:DescribeLaunchConfigurations |
530 | Ensure that encryption is enabled for AWS Neptune instances | rds:DescribeDBInstances |
531 | Ensure that your Amazon Neptune database instances are using KMS Customer Master Keys (CMKs) | ec2:DescribeInstances |
533 | Ensure that ACM Certificate is validated | acm:DescribeCertificate acm:ListCertificates |
534 | Ensure AppFlow Flows are encrypted with customer managed master keys | kms:DescribeKey appflow:DescribeFlow appflow:ListFlows |
535 | Ensure encryption is enabled for entity recognition analysis jobs | comprehend:ListEntitiesDetectionJobs |
536 | Ensure DomainKeys Identified Mail (DKIM) is enabled for SES identities | ses:GetIdentityDkimAttributes ses:ListIdentities |
537 | Ensure security contact information is registered | account:GetAlternateContact sts:GetCallerIdentity |
538 | Ensure that Images (AMIs) are not older than 90 days | ec2:DescribeImages |
539 | Ensure that Images (AMIs) are not unused more than 90 days | ec2:DescribeImages |