【问题标题】:encrypt kubernetes pvc storage using customer owned key使用客户拥有的密钥加密 kubernetes pvc 存储
【发布时间】:2021-06-23 00:43:50
【问题描述】:

我使用 GCP(或 AWS)的计算/网络创建并运行自己的 Kubernetes 集群。没有 GKE,AKS。

我需要使用客户自己的密钥对动态配置的 PV 进行加密。
客户需求意味着,我们构建自己的 KMS 并将其用作客户密钥。 GCP(或 AWS)自己的 KMS 是没有问题的。

如何解决这个问题?
例如 GCP -
当我使用 GCP 的 CSI 驱动程序 (pd.csi.storage.gke.io) 时,它似乎只允许 GCP KMS。我需要使用自己的。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: custcmk-gcpcsi-sc
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
  type: pd-standard
  disk-encryption-kms-key: projects/key-project-id/locations/location/keyRings/key-ring/cryptoKeys/key

当然,在上面的例子中,key是在存储类中指定的。在实际使用中,我必须为每个存储配置使用不同的客户密钥。
是否可以改为在 PVC 中指定密钥?

基本上,我们的集群分布在云提供商 GCP、Azure、AWS..,因此我们可以使用的平台特定资源的最大范围是计算/网络。

有没有人成功处理过类似的情况?

【问题讨论】:

  • 您找到解决方案了吗?

标签: kubernetes encryption persistent-volumes persistent-volume-claims


【解决方案1】:

是否可以改为在 PVC 中指定密钥?

很遗憾,在PVC level 上无法做到这一点。

作为一种解决方法,您可以使用Customer-managed encryption keys,但您必须使用 GCP KMS 而不是您自己构建的。

【讨论】:

  • 是的,这些是限制,我想找到解决方案
猜你喜欢
  • 2020-08-22
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2020-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多