You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+20-16
Original file line number
Diff line number
Diff line change
@@ -59,12 +59,16 @@ The EKS module is designed to be used as a standalone Terraform module. We recom
59
59
60
60
Security scanning is graciously provided by Prowler. Prowler is the leading fully hosted, cloud-native solution providing continuous cluster security and compliance.
61
61
62
-
| Benchmark | Description |
63
-
|--------|---------------|
64
-
| Ensure EKS Control Plane Audit Logging is enabled for all log types | Control plane logging enabled and correctly configured for EKS cluster |
65
-
| Ensure Kubernetes Secrets are encrypted using Customer Master Keys (CMKs) | Encryption for Kubernetes secrets is configured for EKS cluster |
66
-
| Ensure EKS Clusters are created with Private Endpoint Enabled and Public Access Disabled | Cluster endpoint access is private for EKS cluster |
67
-
| Restrict Access to the EKS Control Plane Endpoint | Cluster control plane access is restricted for EKS cluster |
62
+
In this module, we have implemented the following CIS Compliance checks for EKS:
63
+
64
+
| Benchmark | Description | Checks |
65
+
|-----------|-------------|--------|
66
+
| Ensure EKS Control Plane Audit Logging is enabled for all log types | Control plane logging enabled and correctly configured for EKS cluster |✓|
67
+
| Ensure Kubernetes Secrets are encrypted using Customer Master Keys (CMKs) | Encryption for Kubernetes secrets is configured for EKS cluster |✓|
68
+
| Ensure EKS Clusters are created with Private Endpoint Enabled and Public Access Disabled | Cluster endpoint access is private for EKS cluster |✓|
69
+
| Restrict Access to the EKS Control Plane Endpoint | Cluster control plane access is restricted for EKS cluster |✓|
70
+
| Ensure IAM instance roles are used for AWS resource access from instances | Nodes uses IAM roles Cluster control plane access is restricted for EKS cluster |✓|
71
+
68
72
69
73
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
70
74
## Requirements
@@ -101,28 +105,28 @@ Security scanning is graciously provided by Prowler. Prowler is the leading full
101
105
102
106
| Name | Description | Type | Default | Required |
| <aname="input_cluster_endpoint_public_access"></a> [cluster\_endpoint\_public\_access](#input\_cluster\_endpoint\_public\_access)| Indicates whether the Amazon EKS public API server endpoint is enabled or not |`bool`|`true`| no |
105
-
| <aname="input_cluster_endpoint_public_access_cidrs"></a> [cluster\_endpoint\_public\_access\_cidrs](#input\_cluster\_endpoint\_public\_access\_cidrs)| List of CIDR blocks which can access the Amazon EKS public API server endpoint |`list(string)`| <pre>[<br> ""<br>]</pre> | no |
106
-
| <aname="input_cluster_log_retention_in_days"></a> [cluster\_log\_retention\_in\_days](#input\_cluster\_log\_retention\_in\_days)| Retention period for EKS cluster logs |`number`|`90`| no |
107
-
| <aname="input_cluster_log_types"></a> [cluster\_log\_types](#input\_cluster\_log\_types)| A list of the desired control plane logs to enable for EKS cluster. Valid values: api,audit,authenticator,controllerManager,scheduler |`list(string)`| <pre>[<br> ""<br>]</pre> | no |
108
-
| <aname="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version)| Kubernetes <major>.<minor> version to use for the EKS cluster |`string`|`""`| no |
109
108
| <aname="input_environment"></a> [environment](#input\_environment)| Environment identifier for the EKS cluster |`string`|`""`| no |
110
-
| <aname="input_kms_key_arn"></a> [kms\_key\_arn](#input\_kms\_key\_arn)| KMS key to Encrypt EKS resources. |`string`|`""`| no |
111
109
| <aname="input_name"></a> [name](#input\_name)| Specify the name of the EKS cluster |`string`|`""`| no |
110
+
| <aname="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version)| Kubernetes <major>.<minor> version to use for the EKS cluster |`string`|`""`| no |
111
+
| <aname="input_cluster_endpoint_public_access"></a> [cluster\_endpoint\_public\_access](#input\_cluster\_endpoint\_public\_access)| Indicates whether the Amazon EKS public API server endpoint is enabled or not |`bool`|`true`| no |
112
+
| <aname="input_cluster_endpoint_public_access_cidrs"></a> [cluster\_endpoint\_public\_access\_cidrs](#input\_cluster\_endpoint\_public\_access\_cidrs)| List of CIDR blocks which can access the Amazon EKS public API server endpoint |`list(string)`| <pre>[<br> ""<br>]</pre> | no |
112
113
| <aname="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id)| ID of the VPC where the cluster and its nodes will be provisioned |`string`|`""`| no |
114
+
| <aname="input_kms_key_arn"></a> [kms\_key\_arn](#input\_kms\_key\_arn)| KMS key to Encrypt EKS resources. |`string`|`""`| no |
115
+
| <aname="input_cluster_log_types"></a> [cluster\_log\_types](#input\_cluster\_log\_types)| A list of the desired control plane logs to enable for EKS cluster. Valid values: api,audit,authenticator,controllerManager,scheduler |`list(string)`| <pre>[<br> ""<br>]</pre> | no |
116
+
| <aname="input_cluster_log_retention_in_days"></a> [cluster\_log\_retention\_in\_days](#input\_cluster\_log\_retention\_in\_days)| Retention period for EKS cluster logs |`number`|`90`| no |
113
117
114
118
## Outputs
115
119
116
120
| Name | Description |
117
121
|------|-------------|
118
-
| <aname="output_cluster_arn"></a> [cluster\_arn](#output\_cluster\_arn)| ARN of EKS Cluster |
119
-
| <aname="output_cluster_endpoint"></a> [cluster\_endpoint](#output\_cluster\_endpoint)| Endpoint for EKS control plane |
120
122
| <aname="output_cluster_name"></a> [cluster\_name](#output\_cluster\_name)| Kubernetes Cluster Name |
121
-
| <aname="output_cluster_oidc_issuer_url"></a> [cluster\_oidc\_issuer\_url](#output\_cluster\_oidc\_issuer\_url)|The URL on the EKS cluster for the OpenID Connect identity provider|
123
+
| <aname="output_cluster_endpoint"></a> [cluster\_endpoint](#output\_cluster\_endpoint)|Endpoint for EKS control plane|
122
124
| <aname="output_cluster_security_group_id"></a> [cluster\_security\_group\_id](#output\_cluster\_security\_group\_id)| Security group ids attached to the cluster control plane |
123
-
| <aname="output_kms_policy_arn"></a> [kms\_policy\_arn](#output\_kms\_policy\_arn)| ARN of KMS policy. |
125
+
| <aname="output_cluster_arn"></a> [cluster\_arn](#output\_cluster\_arn)| ARN of EKS Cluster |
126
+
| <aname="output_cluster_oidc_issuer_url"></a> [cluster\_oidc\_issuer\_url](#output\_cluster\_oidc\_issuer\_url)| The URL on the EKS cluster for the OpenID Connect identity provider |
124
127
| <aname="output_worker_iam_role_arn"></a> [worker\_iam\_role\_arn](#output\_worker\_iam\_role\_arn)| ARN of the EKS Worker Role |
125
128
| <aname="output_worker_iam_role_name"></a> [worker\_iam\_role\_name](#output\_worker\_iam\_role\_name)| The name of the EKS Worker IAM role |
129
+
| <aname="output_kms_policy_arn"></a> [kms\_policy\_arn](#output\_kms\_policy\_arn)| ARN of KMS policy. |
0 commit comments