Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
eks_cluster_kms_cmk_encryption_in_secrets_enabledProvider: AWS
Service:
eksSeverity: MEDIUM
Categories:
encryption, cluster-securityResource type:
AwsEksClusterWhat this check verifies
Amazon EKS clusters configure AWS KMS envelope encryption so Kubernetes Secrets are stored in etcd as ciphertext at rest.Risk
Without KMS-backed encryption, etcd data and snapshots can reveal plaintext secrets. Attackers with API, node, or storage access can steal tokens, passwords, and keys, enabling impersonation, pod takeover, and lateral movement-compromising confidentiality and leading to privilege escalation.Recommendation
Enable cluster-level secrets encryption with AWS KMS and prefer a customer managed KMS key for control and rotation. Apply least privilege to key policies and cluster roles, monitor key usage, and combine with strict RBAC to limit who can read or create secrets as part of defense in depth.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/eks.html
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/EKS/enable-envelope-encryption.html
- https://devoriales.com/post/329/aws-eks-secret-encryption-securing-your-eks-secrets-at-rest-with-aws-kms
- https://docs.aws.amazon.com/eks/latest/userguide/enable-kms.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = eks_cluster_kms_cmk_encryption_in_secrets_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks