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
    

后续步骤