你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure VMware 解决方案中配置客户管理的静态密钥加密

本文演示如何使用客户管理的密钥 (CMK)(由客户拥有的 Azure Key Vault 实例托管)加密 VMware vSAN 密钥加密密钥 (KEK)。

在 Azure VMware 解决方案私有云上启用 CMK 加密时,Azure VMware 解决方案会使用密钥保管库中的 CMK 来加密 vSAN KEK。 参与 vSAN 群集的每个 ESXi 主机都会使用随机生成的磁盘加密密钥 (DEK),ESXi 会将该密钥用于加密静态磁盘数据。 vSAN 使用 Azure VMware 解决方案密钥管理系统提供的 KEK 对所有 DEK 进行加密。 Azure VMware 解决方案私有云和密钥保管库无需位于同一订阅中。

管理自己的加密密钥时,可以:

  • 控制对 vSAN 密钥的 Azure 访问。
  • 集中管理 CMK 的生命周期。
  • 撤销对 KEK 的 Azure 访问权限。

CMK 功能支持以下密钥类型及其密钥大小:

  • RSA:2048、3072、4096
  • RSA-HSM:2048、3072、4096

拓扑

下图显示了 Azure VMware 解决方案如何使用 Microsoft Entra ID 和密钥保管库来交付 CMK。

示意图显示客户管理的密钥拓扑。

先决条件

开始启用 CMK 功能之前,请确保满足下列要求:

  • 需要使用密钥保管库才能使用 CMK 功能。 如果没有密钥保管库,则可以使用快速入门:使用 Azure 门户创建密钥保管库创建一个。

  • 如果启用了对 Key Vault 的受限访问,则需要允许 Microsoft 受信任的服务绕过 Key Vault 防火墙。 请转到配置 Azure Key Vault 网络设置,了解详细信息。

    注意

    防火墙规则生效后,只在用户请求来自允许的 VM 或 IPv4 地址范围时,才能执行 Key Vault 数据平面操作。 从 Azure 门户访问 Key Vault 时,此限制同样适用。 这也会影响 Azure VMware 解决方案的 Key Vault 选取器。 如果防火墙规则阻止其客户端计算机或用户在 Key Vault 中没有列出权限,用户可能能够看到密钥库列表,但无法列出密钥。

  • 如果在软件定义的数据中心 (SDDC) 预配期间未启用系统分配的标识,请在 Azure VMware 解决方案私有云上启用它。

    启用系统分配的标识:

    1. 登录 Azure 门户。

    2. 转到 Azure VMware 解决方案并找到私有云

    3. 在最左侧的窗格中,打开“管理”并选择“标识”

    4. 在“系统分配”中,选择“启用”>“保存”。 现在应已启用系统分配的标识

    启用系统分配的标识后,可看到“对象 ID”选项卡。 记下对象 ID 供以后使用。

  • 配置密钥保管库访问策略,以授予对托管标识的权限。 它可用于授权访问密钥保管库。

    1. 登录 Azure 门户。
    2. 转到“密钥保管库”并找到要使用的密钥保管库
    3. 在最左侧窗格的“设置”下,选择“访问策略”
    4. 在“访问策略”中,选择“添加访问策略”,然后
      1. 在“密钥权限”下拉菜单中,选择“选择”、“获取”、“包装密钥”和“解包密钥”。
      2. 在“选择主体”下,选择“未选择任何项”。 含有搜索框的新“主体”窗口随即打开
      3. 在搜索框中,粘贴上一步中的对象 ID。 或搜索要使用的私有云名称。 完成后,选择“选择”
      4. 选择“添加”
      5. 验证新策略是否在当前策略的“应用”部分下显示。
      6. 选择“保存”以提交更改。

客户管理的密钥版本生命周期

可以通过创建新版密钥来更改 CMK。 新版本的创建不会中断虚拟机 (VM) 工作流。

在 Azure VMware 解决方案中,CMK 密钥版本轮换取决于在 CMK 设置过程中选择的密钥选择设置。

密钥选择设置 1

客户在无需提供 CMK 的特定密钥版本的情况下启用 CMK 加密。 Azure VMware 解决方案从客户的密钥保管库中选择 CMK 的最新密钥版本,以便加密 vSAN KEK。 Azure VMware 解决方案会跟踪 CMK 进行版本轮换。 在 Key Vault 中创建新版 CMK 密钥时,Azure VMware 解决方案会自动捕获该密钥以加密 vSAN KEK。

注意

Azure VMware 解决方案最多可能需要 10 分钟才能检测新的自动轮换密钥版本。

密钥选择设置 2

客户可以为指定的 CMK 密钥版本启用 CMK 加密,以便在输入 URI 中的密钥选项下提供完整密钥版本 URI。 客户的当前密钥过期时,他们需要延长 CMK 密钥过期或禁用 CMK。

使用系统分配的标识启用 CMK

系统分配的标识限制为每个资源一个,并绑定到此资源的生命周期。 可以向 Azure 资源上的托管标识授予权限。 托管标识通过 Microsoft Entra ID 进行身份验证,因此无需在代码中存储任何凭据。

重要

确保 Key Vault 与 Azure VMware 解决方案私有云位于同一区域。

转到 Key Vault 实例,并使用“启用 MSI”选项卡上捕获的主体 ID 访问 Key Vault 上的 SDDC

  1. 在 Azure VMware 解决方案私有云中,在“管理”下选择“加密”。 然后选择“客户管理的密钥(CMK)”

  2. CMK 为 Key Vault 中的“密钥选择”提供两个选项

    选项 1:

    1. 在“加密密钥”下,选择“从 Key Vault 中选择”
    2. 选择加密类型。 然后选择“选择 Key Vault 和密钥”选项
    3. 从下拉列表中选择“Key Vault 和密钥”。 然后选取“选择” 。

    选项 2:

    1. 在“加密密钥”下,选择“通过 URI 输入密钥”
    2. 在“密钥 URI”框中输入特定密钥 URI

    重要

    如果要选择特定密钥版本(而不是自动选择的最新版本),则需要使用密钥版本指定密钥 URI。 此选择会影响 CMK 密钥版本生命周期。

    Key Vault 托管硬件安全模块 (HSM) 选项仅支持密钥 URI 选项。

  3. 选择“保存”以授予对资源的访问权限

从客户管理的密钥更改为 Microsoft 托管密钥

当客户希望从 CMK 更改为 Microsoft 托管密钥 (MMK) 时,VM 工作负载不会中断。 从 CMK 更改为 MMK:

  1. 在 Azure VMware 解决方案私有云中,在“管理”下选择“加密”
  2. 选择“Microsoft 托管密钥(MMK)”
  3. 选择“保存”。

限制

Key Vault 必须配置为可恢复。 你需要:

  • 使用“软删除”选项配置 Key Vault
  • 打开“清除保护”可防止在软删除后强行删除机密/保管库

如果密钥过期或已撤销 Azure VMware 解决方案访问密钥,则更新 CMK 设置不起作用。

故障排除和最佳做法

下面是你可能遇到的一些常见问题的故障排除提示,以及要遵循的最佳做法。

意外删除密钥

如果意外删除密钥保管库中的密钥,私有云无法执行某些群集修改操作。 为避免这种情况,建议在密钥保管库中保持启用软删除。 该选项确保以下情况:如果删除密钥,则可以在 90 天内恢复,这属于默认软删除保留的一部分。 如果在 90 天期限内,则可以还原密钥以解决该问题。

恢复密钥保管库权限

如果私有云失去对 CMK 的访问权限,请检查托管系统标识 (MSI) 是否需要密钥库中的权限。 从 Azure 返回的错误通知可能没有正确地指出 MSI 需要密钥库中的权限是根本原因。 请记住,所需权限为 getwrapKeyunwrapKey。 请参阅先决条件中的步骤 4。

修复过期的密钥

如果不使用自动轮换功能,并且 CMK 在 Key Vault 中过期,则可以更改密钥到期日期。

恢复密钥保管库访问权限

确保 MSI 用于提供对密钥保管库的私有云访问。

删除 MSI

如果意外删除了与私有云关联的 MSI,则需要禁用 CMK。 然后,按照步骤从头开始启用 CMK。

后续步骤