Control: EKS clusters should be configured to have kubernetes secrets encrypted using KMS
Description
Ensure if Amazon Elastic Kubernetes Service clusters are configured to have Kubernetes secrets encrypted using AWS Key Management Service (KMS) keys.
Usage
Run the control in your terminal:
powerpipe control run terraform_aws_compliance.control.eks_cluster_secrets_encrypted
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_aws_compliance.control.eks_cluster_secrets_encrypted --share
SQL
This control uses a named query:
select address as resource, case when (attributes_std -> 'encryption_config') is null then 'alarm' when (attributes_std -> 'encryption_config' -> 'resources') @> '["secrets"]' then 'ok' else 'alarm' end status, split_part(address, '.', 2) || case when (attributes_std -> 'encryption_config') is null then ' encryption disabled' when (attributes_std -> 'encryption_config' -> 'resources') @> '["secrets"]' then ' encrypted with EKS secrets' else ' not encrypted with EKS secrets' end || '.' reason , path || ':' || start_linefrom terraform_resourcewhere type = 'aws_eks_cluster';