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