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

使用客户托管密钥加密备份数据

Azure 备份允许使用客户管理的密钥 (CMK)(而不是默认启用的平台管理的密钥)加密备份数据。 用于加密备份数据的密钥必须存储在 Azure Key Vault 中。

用于加密备份的加密密钥可能与用于源的加密密钥不同。 数据通过基于 AES 256 的数据加密密钥 (DEK) 受到保护,进而又通过密钥加密密钥 (KEK) 受到保护。 这使你可以完全控制数据和密钥。 若要允许加密,必须向恢复服务保管库授予对 Azure Key Vault 中加密密钥的访问权限。 你可以在需要时更改密钥。

本文将指导如何进行以下操作:

  • 创建恢复服务保管库
  • 配置恢复服务保管库以使用客户管理的密钥 (CMK) 加密备份数据
  • 备份到使用客户管理的密钥加密的保管库
  • 从备份还原数据

准备工作

  • 此功能仅支持对新的恢复服务保管库进行加密。 不支持任何包含已注册或已尝试注册的现有项目的保管库。

  • 对恢复服务保管库启用该功能后,使用客户管理的密钥进行加密则不能改回使用平台管理的密钥(默认)。 可以根据要求更改加密密钥。

  • 此功能当前不支持使用 MARS 代理进行备份,因此你可能无法使用 CMK 加密的保管库。 MARS 代理使用基于用户密码的加密。 该功能也不支持对传统 VM 进行备份。

  • 此功能与 Azure 磁盘加密无关,后者通过 BitLocker(适用于 Windows)和 DM-Crypt(适用于 Linux)对 VM 磁盘使用基于来宾的加密。

  • 恢复服务保管库只能使用存储在同一区域的 Azure Key Vault 中的密钥进行加密。 此外,密钥必须仅为 RSA 密钥,并且应处于启用状态。

  • 当前不支持跨资源组和订阅移动 CMK 加密的恢复服务保管库。

  • 使用客户管理的密钥加密的恢复服务保管库当前不支持跨区域还原备份的实例。

  • 将已使用客户管理的密钥加密的恢复服务保管库移到新租户时,需要更新恢复服务保管库,以重新创建并重新配置保管库的托管标识和 CMK(应位于新租户中)。 如果不执行此操作,备份和还原操作将会失败。 此外,需要重新配置在订阅中设置的任何 Azure 基于角色的访问控制 (Azure RBAC) 权限。

  • 通过 Azure 门户和 PowerShell 可配置此功能。

    注意

    使用 Az 模块 5.3.0 或更高版本,在恢复服务保管库中使用客户管理的密钥进行备份。

    警告

    如果使用 PowerShell 来管理用于备份的加密密钥,我们不建议从门户中更新密钥。
    如果从门户中更新密钥,那么在用于支持新模型的 PowerShell 更新可供使用之前,你将无法使用 PowerShell 来进一步更新加密密钥。 但是,你可以继续从 Azure 门户更新密钥。

如果尚未创建和配置恢复服务保管库,请在此参阅如何执行操作

将保管库配置为使用客户管理的密钥进行加密

若要配置保管库,请按照给定顺序执行以下操作,以实现预期结果。 以下部分详细讨论了每个操作:

  1. 为恢复服务保管库启用托管标识。

  2. 为保管库分配访问 Azure 密钥保管库中加密密钥的权限。

  3. 在 Azure 密钥保管库中启用软删除和清除保护。

  4. 将加密密钥分配给恢复服务保管库,

为恢复服务保管库启用托管标识

Azure 备份使用系统分配的托管标识和用户分配的托管标识对恢复服务保管库进行身份验证,以访问 Azure 密钥保管库中存储的加密密钥。 若要为恢复服务保管库启用托管标识,请按照以下步骤执行操作:

注意

启用后,不得禁用托管标识(即使是暂时禁用)。 禁用托管标识可能导致出现不一致的行为。

为保管库启用系统分配的托管标识

选择客户端:

  1. 转到“恢复服务保管库”->“标识”

    标识设置

  2. 导航到“系统分配”选项卡。

  3. 将“状态”更改为“开”。

  4. 单击“保存”,为保管库启用标识。

此时将生成一个对象 ID,即系统分配的保管库的托管标识。

注意

启用后,不得禁用托管标识(即使是暂时禁用也不可以)。 禁用托管标识可能导致出现不一致的行为。

将用户分配的托管标识分配给保管库(预览版)

注意

  • 使用用户分配的托管标识进行 CMK 加密的保管库不支持使用专用终结点进行备份。
  • 尚不支持将限制对特定网络访问的 Azure Key Vault 与用户分配的托管标识一起用于 CMK 加密。

若要为恢复服务保管库分配用户分配的托管标识,请选择客户端:

  1. 转到“恢复服务保管库”->“标识”

    将用户分配的托管标识分配给保管库

  2. 导航到“用户分配”选项卡。

  3. 单击“+ 添加”以添加用户分配的托管标识。

  4. 在打开的“添加用户分配的托管标识”边栏选项卡中,为标识选择订阅。

  5. 从列表中选择标识。 你还可以按标识或资源组的名称进行筛选。

  6. 完成后,单击“添加”以完成标识分配。

为恢复服务保管库分配访问 Azure Key Vault 中加密密钥的权限

注意

如果使用用户分配的标识,则必须为用户分配的标识分配相同的权限。

现在,需要允许恢复服务保管库访问包含加密密钥的 Azure Key Vault。 通过允许恢复服务保管库的托管标识访问 Key Vault 可完成此任务。

选择客户端:

  1. 转到“Azure Key Vault”->“访问策略”。 继续选择“+添加访问策略”。

    添加访问策略

  2. 在“密钥权限”下,选择“获取”、“列表”、“解包密钥”和“包装密钥”操作。 这样将对密钥指定允许的操作。

    分配密钥权限

  3. 转到“选择主体”,然后在搜索框中使用其名称或托管标识搜索保管库。 显示后,选择保管库,然后选择窗格底部的“选择”。

    选择主体

  4. 完成后,选择“添加”以添加新的访问策略。

  5. 选择“保存”,以保存对 Azure Key Vault 访问策略所做的更改。

注意

你还可向包含上述权限的恢复服务保管库分配 RBAC 角色,例如“密钥保管库加密主管”角色。

这些角色可能包含上述权限之外的其他权限。

在 Azure 密钥保管库中启用软删除和清除保护

需要在存储加密密钥的 Azure Key Vault 上启用软删除和清除保护。

若要启用软删除和清除保护,请选择客户端:

可以在 Azure Key Vault UI 中执行此操作,如下所示。 或者,可以在创建 Key Vault 时设置这些属性。 详细了解这些 Key Vault 属性

启用软删除和清除保护

将加密密钥分配给恢复服务保管库

注意

在继续操作之前,请确保以下几点:

  • 上述所有步骤均已成功完成:
    • 已启用恢复服务保管库的托管标识,并已为其分配所需的权限
    • 已对 Azure Key Vault 启用软删除和清除保护
  • 要为其启用 CMK 加密的恢复服务保管库不包含任何受保护或已注册项目

确保完成上述各项后,继续为保管库选择加密密钥。

若要分配密钥并按照步骤操作,请选择客户端:

  1. 转到“恢复服务保管库”->“属性”

    加密设置

  2. 选择“加密设置”下的“更新”。

  3. 在“加密设置”窗格中,选择“使用自己的密钥”,然后使用以下方法之一继续指定密钥。

    请确保使用处于已启用状态的 RSA 密钥。

    1. 输入对此恢复服务保管库中的数据加密想要使用的“密钥 URI”。 此外,还需要指定包含此密钥的 Azure Key Vault 所在的订阅。 密钥 URI 可以通过 Azure Key Vault 中对应的密钥获取。 确保正确复制密钥 URI。 建议使用提供的带密钥标识符的“复制到剪贴板”按钮。

      注意

      使用密钥 URI 指定加密密钥时,不会自动旋转密钥。 因此需要手动完成密钥更新,方法是在需要时指定新密钥。

      输入密钥 URI

    2. 浏览并从密钥选取器窗格的 Key Vault 中选择密钥。

      注意

      如果使用密钥选取器窗格指定加密密钥,则每当启用密钥的新版本时,都将自动旋转密钥。 详细了解有关启用加密密钥自动轮替的信息。

      从密钥保管库中选择密钥

  4. 选择“保存”。

  5. 跟踪加密密钥更新的进度和状态:可以使用左侧导航栏上的“备份作业”视图跟踪加密密钥分配的进度和状态。 状态将很快更改为“已完成”。 现在,保管库将使用指定的密钥作为 KEK 加密所有数据。

    状态“已完成”

    加密密钥更新也会记录在保管库的活动日志中。

    活动日志

备份到使用客户管理的密钥加密的保管库

在继续配置保护之前,强烈建议您确保遵守以下清单。 这一点很重要,因为一旦项目配置为备份(或试图配置)到非 CMK 加密的保管库,则无法对其启用使用客户管理的密钥进行加密,而它将继续使用平台管理的密钥。

重要

在继续配置保护之前,必须已成功完成以下步骤:

  1. 已创建恢复服务保管库
  2. 已启用了恢复服务保管库的系统分配的托管标识,或已为保管库分配用户分配的托管标识
  3. 已向恢复服务保管库(或用户分配的托管标识)分配权限,以便从 Key Vault 访问加密密钥
  4. 已对 Key Vault 启用软删除和清除保护
  5. 已为恢复服务保管库分配有效的加密密钥

在上述所有步骤均已确认后,再继续配置备份。

配置使用客户管理的密钥加密的恢复服务保管库并对其执行备份的过程,与对使用平台管理的密钥加密的保管库执行相应操作的过程相同,体验不变。 这一点对于 Azure VM 备份以及 VM 内的工作负荷(例如 SAP HANASQL Server 数据库)备份同样如此。

从备份还原数据

VM 备份

按照此处所述的步骤可以还原恢复服务保管库中存储的数据。 从使用客户管理的密钥加密的恢复服务保管库还原时,可以选择使用磁盘加密集 (DES) 对还原的数据加密。

还原 VM/磁盘

  1. 从“快照”恢复点恢复磁盘/VM 时,将使用用于加密源 VM 磁盘的 DES 对还原的数据进行加密。

  2. 从恢复类型为“保管库”的恢复点还原磁盘/VM 时,可以选择使用 DES 对还原的数据加密(还原时指定)。 或者,可以选择继续还原数据而不指定 DES,在这种情况下,将使用 Microsoft 托管密钥对还原数据进行加密。

  3. 在“跨区域还原”过程中,启用了 CMK(客户管理的密钥)的 Azure VM(这些虚拟机未在启用了 CMK 的恢复服务保管库中备份)会还原为次要区域中未启用 CMK 的 VM。

可以不考虑启动还原时所做的选择,在还原完成后再对还原的磁盘/VM 加密。

还原点

从保管库恢复点还原时选择磁盘加密集

选择客户端:

若要在还原窗格的“加密设置”下指定磁盘加密集,请按照以下步骤操作:

  1. 在“使用密钥加密磁盘”中,选择“是”。

  2. 从下拉列表中,选择要用于还原的磁盘的 DES。 确保有权访问 DES。

注意

如果要还原使用 Azure 磁盘加密的 VM,则在还原时选择 DES 的功能不可用。

使用密钥加密磁盘

还原文件

执行文件还原时,将使用用于目标位置加密的密钥对还原的数据进行加密。

还原 Azure VM 中的 SAP HANA/SQL 数据库

从 Azure VM 中运行的备份 SAP HANA/SQL 数据库还原时,将使用目标存储位置使用的加密密钥对还原的数据进行加密。 VM 磁盘加密可能使用客户管理的密钥,也可能使用平台管理的密钥。

其他主题

在保管库创建(预览版)中使用客户管理的密钥启用加密

注意

使用客户管理的密钥在保管库创建中启用加密目前为有限的公共预览版,并且需要订阅的允许列表。 若要注册预览版,请填写表单并发送邮件到 AskAzureBackupTeam@microsoft.com 与我们联系。

如果订阅位于允许列表中,则将显示“备份加密”选项卡。 这将允许你在创建新的恢复服务保管库期间使用客户管理的密钥对备份启用加密。 若要启用加密,请执行以下步骤:

  1. 在“基本信息”选项卡旁边的“备份加密”选项卡上,指定要用于加密的加密密钥和标识。

    在保管库级别启用加密

    注意

    这些设置仅应用于 Azure 备份,并且是可选的。

  2. 选择“使用客户管理的密钥”作为加密类型。

  3. 若要指定用于加密的密钥,请选择相应的选项。

    你可以提供加密密钥的 URI,也可以浏览并选择密钥。 在使用“选择密钥保管库”选项指定密钥时,将自动启用加密密钥的自动轮替。 了解有关自动轮替的详细信息

  4. 指定用户分配的托管标识,以管理使用客户管理的密钥进行的加密。 单击“选择”以浏览并选择所需标识。

  5. 继续添加标记(可选)并继续创建保管库。

启用加密密钥的自动轮换

在指定必须用于加密备份的客户管理的密钥时,请使用以下方法指定该密钥:

  • 输入密钥 URI
  • 从密钥保管库中选择

使用“从密钥保管库中选择”选项可帮助启用所选密钥的自动轮替。 这免除了更新到下一版本的手动操作。 但是,使用此选项时请注意:

  • 密钥版本更新可能最多需要一小时才能生效。
  • 密钥的新版本生效后,旧版本也应在密钥更新生效后至少一个后续备份作业中保持可用(处于已启用状态)。

使用 Azure 策略审核和强制使用客户管理的密钥进行加密(预览版)

Azure 备份允许使用 Azure 策略利用客户管理的密钥对恢复服务保管库中的数据进行审核和强制加密。 使用 Azure 策略:

  • 此审核策略可用于审核使用客户管理的密钥(密钥为 2021 年 4 月 1 日之后启用)进行加密的保管库。 对于在此日期之前启用 CMK 加密的保管库,该策略可能无法应用,也可能显示误报结果(也就是说,即使已启用 CMK 加密,这些保管库仍可能被报告为不兼容)。

  • 若要使用此审核策略对使用 CMK 加密(密钥为 2021 年 4 月 1 日之前启用)的保管库进行审核,请使用 Azure 门户更新加密密钥。 这有助于升级到新模型。 如果不希望更改加密密钥,请通过密钥 URI 或密钥选择选项再次提供相同的密钥。

    警告

    如果使用 PowerShell 来管理用于 Azure 备份的加密密钥,我们不建议从门户更新密钥。
    如果从门户中更新密钥,那么在用于支持新模型的 PowerShell 更新可供使用之前,你将无法使用 PowerShell 来进一步更新加密密钥。 但是,你可以继续从 Azure 门户更新密钥。

常见问题

是否可以使用客户管理的密钥加密现有的备份保管库?

不能,只能对新保管库启用 CMK 加密。 因此,保管库不能包含任何受保护的项。 事实上,在启用使用客户管理的密钥加密之前,不得试图向保管库保护任何项。

我尝试过向保管库中保护某一项,但失败了,保管库中仍不会包含任何受保护项。 能否为此保管库启用 CMK 加密?

不能,保管库不能尝试向其中保护任何项。

我有一个使用 CMK 加密的保管库。 以后是否可以恢复为使用平台管理的密钥进行加密,即使保管库中已有受保护的备份项目?

不能,启用 CMK 加密后,无法再恢复为使用平台管理的密钥。 可以根据需要更改使用的密钥。

Azure 备份的 CMK 加密是否也适用于 Azure Site Recovery?

不适用,本文仅讨论备份数据的加密。 对于 Azure Site Recovery,需要在服务中可用后单独设置属性。

我漏掉了本文中的一个步骤,并继续对数据源进行了保护。 是否仍然可以使用 CMK 加密?

未遵循本文中的步骤操作并继续保护项目,可能导致保管库无法使用客户管理的密钥进行加密。 因此,建议先查看此清单,再继续保护项目。

使用 CMK 加密会增加备份成本吗?

使用 CMK 进行备份加密不会产生任何额外费用。 但是,使用存储密钥的 Azure Key Vault 可能会继续产生费用。

后续步骤