文档首页/ 云容器引擎 CCE/ 用户指南/ 集群/ 购买集群/ 使用KMS进行Secret落盘加密
更新时间:2024-12-06 GMT+08:00
分享

使用KMS进行Secret落盘加密

华为云数据加密服务(DEW)为您提供易用、高安全性的密钥管理服务(Key Management Service),您可以使用KMS密钥对CCE中存储的Kubernetes Secret对象进行信封加密,为应用程序的敏感数据提供安全保护。

  • 当前仅CCE Standard和Turbo集群支持在创建时开启Secret落盘加密,存量集群暂不支持开启,且开启后不支持关闭。
  • 该特性当前正处于上线阶段,已发布区域请以控制台实际为准。

KMS数据加密介绍

在Kubernetes集群中,通常使用Secret密钥模型存储和管理业务应用涉及的敏感信息,例如应用密码、TLS证书、Docker镜像下载凭据等敏感信息。Kubernetes会将所有的Secret密钥对象数据存储在集群对应的etcd中。

CCE集群支持使用KMS中创建的密钥加密Kubernetes Secret密钥。KMS加密过程基于Kubernetes提供的KMS Encryption Provider机制,使用信封加密的方式对存储在etcd中的Kubernetes Secret密钥进行自动加密和解密。详情请参考Kubernetes官方社区介绍

前提条件

  • 请确保您已经在华为云DEW服务创建了KMS密钥,且密钥CCE集群同处于一个region。关于DEW密钥管理的更多信息和相关操作,请参见创建密钥。关于DEW服务计费的详细说明,请参见计费概述

    开启Secret落盘加密功能时,请勿使用DEW的控制台或OpenAPI禁用或删除创建集群时选择的密钥,否则会导致集群API Server不可用,影响业务应用的正常运行。

  • 请确保您的账号已经对CCE服务授予cce_trust_kms委托权限,CCE集群将使用该委托进行密钥查询和加解密等操作,您可以在第一次使用Secret落盘加密特性时,在依赖检查中对CCE授权。

    请勿删除该委托,如果删除会导致相关开启Secret落盘加密特性的集群不可用。

开启Secret落盘加密

  1. 登录CCE控制台
  2. “集群管理”页面右上角单击“购买集群”。
  3. 在页面最下方,展开“高级配置”,找到“Secret落盘加密”,开启该特性。

    开启后可以在“自定义密钥”中选择您创建的自定义KMS密钥或默认密钥。

  4. 参考购买Standard/Turbo集群填写其他配置,并完成后续集群创建步骤。
  5. 集群创建成功后,单击集群名称进入集群,在“配置中心”页面的“集群配置”版块中可以看到Secret落盘加密特性已开启。

使用自动轮转密钥开启Secret落盘加密

您可以使用KMS自动轮转密钥功能进行Secret的落盘加密。当密钥发生自动轮转时,存量的Secret仍旧使用轮转前的密钥版本进行加密,新增的Secret将使用轮转后的新密钥版本进行加密。关于自动轮转密钥具体操作,请参见密钥轮换概述

如需确保存量的Secret也使用新的密钥版本进行加密,请在密钥发生自动轮转后,执行以下命令强制使用新的密钥版本重新加密所有的存量Secret:

kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - encryption-key-rotation-time="$(date -u +'%Y-%m-%dT%H:%M:%S%z')"

相关文档