kubespray icon indicating copy to clipboard operation
kubespray copied to clipboard

Extend "encrypt-at-rest" to support integration with KMS

Open andrey-podko opened this issue 5 months ago • 3 comments

What would you like to be added

Would be great to get out-of-box integration with KMSv2 plugins like

  • https://github.com/Azure/kubernetes-kms (not perfect, but at least it has releases and official docker images)
  • aws-encryption-provider (unfortunately it doesn't have official docker images and end-of-support on July 31, 2025 without update to V2 API SDK)
  • https://github.com/GoogleCloudPlatform/k8s-cloudkms-plugin ( also doesn't have official docker images, at least public available)

Also would be great to have there convenient support of encryption key rotation instead 1 key for all times ). Unfortunately current implementation overwrites all changes in secrets_encryption.yaml and every cluster update breaks the encrypt-at-rest.

apiServer:
  extraArgs:
    encryption-provider-config-automatic-reload: true

This also can be a good option

KMSv2 is stable since kubernetes 1.29

Why is this needed

That's needed to have possibility of using external encryption keys/services for cases like "someone stole content/backups of etcd/control-plane"

andrey-podko avatar Sep 13 '24 12:09 andrey-podko