Azure Kubernetes 服务 (AKS) 中的基于主机的加密
使用基于主机的加密,可将存储在 AKS 代理节点 VM 的 VM 主机上的数据静态加密,并以加密形式将其传送到存储服务。 这意味着,临时磁盘将通过平台管理的密钥静态加密。 OS 和数据磁盘的缓存将通过平台管理的密钥或客户管理的密钥(具体取决于在这些磁盘上设置的加密类型)进行静态加密。
默认情况下,使用 AKS 时,OS 和数据磁盘使用带有平台托管密钥的服务器端加密。 这些磁盘的缓存也通过平台管理的密钥进行静态加密。 可以遵循对 Azure Kubernetes 服务中的 Azure 磁盘使用自带密钥 (BYOK) 中所述指定自己管理的密钥。 这些磁盘的缓存也使用指定的密钥进行加密。
基于主机的加密不同于由 Azure 存储使用的服务器端加密 (SSE)。 Azure 托管磁盘使用 Azure 存储在保存数据时自动加密数据。 基于主机的加密使用 VM 的主机在数据流经 Azure 存储之前处理加密。
在开始之前
在开始之前,请查看以下先决条件和限制。
先决条件
- 确保已安装 CLI 扩展 v2.23 或更高版本。
限制
- 只能在创建群集或创建节点池时设置此功能。
- 只能在支持 Azure 托管磁盘服务器端加密的 Azure 区域中启用此功能,并且只能对特定的受支持 VM 大小启用。
- 此功能需要一个 AKS 群集,以及一个基于虚拟机规模集(用作 VM 集类型)的节点池。
在新群集上使用基于主机的加密
创建一个新群集,并使用带有
--enable-encryption-at-host
标志的az aks create
命令将群集代理节点配置为使用基于主机的加密。az aks create --name myAKSCluster --resource-group myResourceGroup -s Standard_DS2_v2 -l chinaeast2 --enable-encryption-at-host
在现有群集上使用基于主机的加密
通过使用带有
--enable-encryption-at-host
标志的az aks nodepool add
命令添加新的节点池,在现有群集上启用基于主机的加密。az aks nodepool add --name hostencrypt --cluster-name myAKSCluster --resource-group myResourceGroup -s Standard_DS2_v2 --enable-encryption-at-host
后续步骤
- 查看面向 AKS 群集安全性的最佳做法。
- 详细阅读基于主机的加密。