More Info:
Where etcd encryption is used, appropriate providers should be configured.Risk Level
MediumAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CIS EKS
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify the cluster and region
- On any machine with AWS CLI access, list clusters and pick the target name and region:
- On any machine with AWS CLI access, list clusters and pick the target name and region:
-
Check if KMS encryption is enabled and which key is used
- On any machine with AWS CLI access, run:
- Review the output: ensure
resourcesincludes"secrets"and thatprovider.keyArnpoints to the intended customer-managed KMS key (not just an AWS-managed default, if your policy requires CMKs).
- On any machine with AWS CLI access, run:
-
Review the KMS key configuration and key policy
- On any machine with AWS CLI access, get key details:
- Confirm the key is customer-managed, enabled, in the correct account, and the key policy allows the EKS cluster’s IAM role (or node roles, per your design) to use it for encryption/decryption.
- On any machine with AWS CLI access, get key details:
-
Decide remediation approach (replacement, recreation, or accept risk)
- If
encryptionConfigis empty, does not include"secrets", or uses an incorrect key:- Document that etcd secrets are not protected by the desired CMK.
- Decide whether to:
- Recreate the cluster with Secrets Encryption enabled and the correct CMK, then migrate workloads; or
- Create a new, compliant cluster and gradually cut over; or
- Accept/temporarily waive the risk with a documented exception.
- If
-
Implement remediation via cloud/IaC (for new or replacement clusters)
- For a new or replacement cluster using AWS CLI, specify encryption with your CMK:
- If using CloudFormation/Terraform, configure the
encryptionConfig/encryption_configblock withresources = ["secrets"]andprovider.keyArn = <KMS_KEY_ARN>and deploy the new cluster.
- For a new or replacement cluster using AWS CLI, specify encryption with your CMK:
-
Verify the final state
- After creating or migrating to the compliant cluster, re-run:
- Confirm that
resourcesincludes"secrets"andprovider.keyArnmatches the intended customer-managed KMS CMK.
- After creating or migrating to the compliant cluster, re-run:
Using kubectl
Using kubectl
kubectl cannot configure EKS secrets encryption or modify the kube-apiserver encryption-provider settings; this must be done via the EKS control plane configuration at cluster creation time using the AWS console/CLI/IaC. Refer to the Manual Steps section for how to review current settings and plan remediation (which will typically require recreating the cluster with Secrets Encryption enabled).
Automation
Automation
How to interpret the output
Run (from any machine with AWS CLI access):encryptionConfig: []or printed as[]- Any provider with:
resources: <none>orresourcesnot includingsecretskeyArn: <none>- KMS key state not
Enabled - KMS
KeyManagernotCUSTOMER(i.e., not a customer-managed CMK)

