完整备份和还原以及选择性密钥还原

注意

此功能仅适用于托管的 HSM 资源类型。

托管 HSM 支持创建 HSM 的全部内容的完整备份,包括所有密钥、版本、属性、标记和角色分配。 备份过程使用与 HSM 安全域关联的加密密钥来加密数据。

备份是一种数据平面操作。 发起备份操作的调用方必须有权执行 dataAction Microsoft。KeyVault/managedHsm/backup/start/action

只有以下内置角色才有权执行完整备份:

  • 托管 HSM 管理员
  • 托管 HSM 备份

若要备份和还原托管 HSM,请将用户分配的托管标识(UAMI)分配给托管 HSM 服务。 无论存储帐户是否启用了公用网络访问或专用网络访问,都可以使用 UAMI。 如果存储帐户位于专用终结点后面,则 UAMI 方法适用于受信任的服务旁路,以允许备份和还原。

若要执行完整备份,请提供以下信息:

  • HSM 名称或 URL
  • 存储帐户名称
  • 存储帐户 Blob 存储容器
  • 用户分配的管理标识

使用用户分配的托管标识进行备份和还原的先决条件

  1. 确保您已安装 Azure CLI 版本 2.56.0 或更高版本。 运行 az --version 即可查找版本。 如果需要安装或升级,请参阅 安装 Azure CLI
  2. 创建用户分配的托管标识。
  3. 创建存储帐户(或使用现有存储帐户)。 存储帐户无法应用不可变性策略。
  4. 如果在存储帐户上禁用了公用网络访问,请在“网络”选项卡的“例外”下启用存储帐户的受信任服务绕过功能。
  5. 通过转到门户上的访问控制选项卡并选择添加角色分配,为步骤 2 中创建的用户分配托管标识提供Storage Blob Data Contributor角色访问权限。 然后选择托管标识,然后选择在步骤 2 ->Review + Assign 中创建的托管标识
  6. 创建托管 HSM 并关联托管标识:
    az keyvault create --hsm-name <hsm-name> -l <location> --retention-days 7 --administrators "<initial-admin>" --mi-user-assigned "/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>" 
    

如果拥有现有托管 HSM,请通过运行以下命令来更新 MHSM,以关联托管标识。

 az keyvault update-hsm --hsm-name <hsm-name> --mi-user-assigned "/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>" 

完整备份

备份是长时间运行的操作,但它会立即返回作业 ID。 可以使用此作业 ID 检查备份过程的状态。 备份过程使用以下命名模式在指定容器中创建一个文件夹: mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS} 在此模式中,HSM_NAME是要备份的托管 HSM 的名称,YYYYMMDDHHmmSS分别代表接收备份命令时的年、月、日、小时、分钟和秒的UTC日期和时间。

备份正在进行时,HSM 可能无法以完全吞吐量运行,因为某些 HSM 分区正忙于执行备份作。

注意

不支持备份应用不可变策略的存储帐户。

  1. Azure 门户中,导航到托管 HSM 资源。

  2. 在左侧菜单中的 “设置”下,选择“ 备份”。

  3. 提供存储帐户和容器详细信息,然后选择“ 启动备份 ”以启动备份。

    Azure 门户中托管 HSM 备份边栏选项卡的屏幕截图。

完整还原

完全还原将从以前的备份还原 HSM 的内容,包括所有密钥、版本、属性、标记和角色分配。 此过程删除当前存储在 HSM 中的所有内容,并将其返回到创建源备份时所在的相同状态。

重要

完全还原是一种具有破坏性和中断性的操作。 因此,您必须在restore操作前至少 30 分钟完成对要还原的 HSM 的完整备份。

还原是一种数据平面操作。 启动还原操作的调用方必须有权执行 dataAction Microsoft。KeyVault/managedHsm/restore/start/action。 创建备份的源 HSM 和执行还原的目标 HSM 必须具有相同的安全域。 查看更多关于托管 HSM 安全域的信息

可以使用用户分配的托管标识执行完全还原。 若要执行完整还原,请提供以下信息:

  • HSM 名称或 URL
  • 存储帐户名称
  • 存储账户 Blob 容器
  • 用户分配的管理标识
  • 存储源备份所在的存储容器文件夹名称

还原是一个耗时较长的操作,但它会立即返回作业标识。 可以使用此作业 ID 检查还原过程的状态。 还原过程正在进行时,HSM 会进入还原模式,并且禁用所有数据平面命令(检查还原状态除外)。

  1. Azure 门户中,导航到托管 HSM 资源。

  2. 在左侧菜单中的 “设置”下,选择“ 还原”。

  3. 提供存储帐户、容器和备份文件夹详细信息,然后启动还原。

    Azure 门户中托管 HSM 还原边栏选项卡的屏幕截图。

选择性密钥还原

选择性密钥还原包括从以前的备份将一个密钥及其所有版本恢复到 HSM。 要使选择性密钥还原正常工作,必须清除密钥。 如果尝试恢复软删除的密钥,请使用密钥恢复。 详细了解密钥恢复

  1. Azure 门户中,导航到托管 HSM 资源。

  2. 在左侧菜单中的 “设置”下,选择“ 还原”,然后选择从备份还原单个密钥的选项。

后续步骤