使用数据库级别客户管理的密钥为透明数据加密配置异地复制和备份还原

适用于:Azure SQL 数据库

注意

数据库级别 TDE CMK 可用于 Azure SQL 数据库(所有 SQL 数据库版本)。 它不适用于 Azure SQL 托管实例、本地 SQL Server、Azure VM 和 Azure Synapse Analytics(专用 SQL 池(前 SQL DW)。

在本指南中,我们将介绍有关在 Azure SQL 数据库上配置异地复制和备份还原的步骤。 Azure SQL 数据库是使用透明数据加密 (TDE) 和数据库级别客户管理的密钥 (CMK) 配置的,并利用用户分配的托管标识来访问 Azure 密钥保管库。 在本指南中,Azure 密钥保管库 和 Azure SQL 的逻辑服务器位于同一个 Microsoft Entra 租户中,但也可以位于不同的租户中。

注意

Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

先决条件

注意

通过加入联合客户端 ID 参数,同一指南也可用于在不同租户中配置数据库级别的客户管理密钥。 有关详细信息,请参阅使用数据库级别客户管理的密钥进行 TDE 标识和密钥管理。

重要

数据库创建或恢复后,新数据库的设置与源数据库相同,但可能缺少密钥。 在所有从源数据库创建新数据库的情况下,目标数据库报告的键数可能少于源数据库报告的键数。 返回的密钥数量取决于创建目标数据库时所采用的具体功能需求。 要列出新创建数据库中所有可用的密钥,请在 Azure SQL 数据库 上“查看数据库层级的客户管理密钥设置”中的可用 API。

使用数据库级别客户管理的密钥创建 Azure SQL 数据库作为辅助或副本数据库

使用以下说明或命令创建通过数据库级别客户管理的密钥配置的 Azure SQL 数据库的次要副本或复制目标。 在数据库创建阶段,若要为透明数据加密设置客户管理密钥,则需要使用用户分配的托管标识。

若要在 Azure SQL 数据库中创建数据库作为具有数据库级别客户管理的密钥的副本,请执行以下步骤:

  1. 使用Azure CLI、PowerShell或REST API检查源数据库当前使用的密钥列表。 关于命令,请参见“查看 Azure SQL 数据库 上的数据库级客户管理密钥设置。

  2. 转到 Azure 门户,然后导航到配置了数据库级别客户管理的密钥的 Azure SQL 数据库。 通过从数据库的“概述”菜单中选择“复制”,创建数据库的副本。

    Azure 门户的“复制数据库”菜单的屏幕截图。

  3. 此时会显示“创建 SQL 数据库 - 复制数据库”菜单。 对此数据库使用其他服务器,但采用与你尝试复制的数据库相同的设置。 在 “透明数据加密密钥管理 ”部分中,选择“ 配置透明数据加密”。

    Azure 门户中“复制数据库”菜单的屏幕截图,其中“透明数据加密密钥管理”部分已展开。

  4. 出现 透明数据加密 菜单时,请查看此复制数据库的 CMK 设置。 设置和密钥应使用源数据库中所用的相同标识和密钥进行填充。

  5. 选择“应用”以继续,然后选择“查看 + 创建”和“创建”来创建副本数据库。

要创建具有数据库级客户管理密钥的二级副本,请遵循以下步骤:

  1. 使用Azure CLI、PowerShell或REST API检查源数据库当前使用的密钥列表。 关于命令,请参见“查看 Azure SQL 数据库 上的数据库级客户管理密钥设置。

  2. 转到 Azure 门户,然后导航到配置了数据库级别客户管理的密钥的 Azure SQL 数据库。 在数据库的“数据管理”设置下,选择“副本”。 选择“创建副本”,创建数据库的次要副本。

    Azure 门户的“数据库副本”菜单的屏幕截图。

  3. 此时会显示“创建 SQL 数据库 - 异地副本”菜单。 对此数据库使用辅助服务器,但采用与你尝试复制的数据库相同的设置。 在 “透明数据加密密钥管理 ”部分中,选择“ 配置透明数据加密”。

    Azure 门户中“数据库副本”菜单的屏幕截图,其中“透明数据加密密钥管理”部分已展开。

  4. 出现 透明数据加密 菜单时,请查看此数据库副本的 CMK 设置。 设置和密钥应使用主数据库中所用的相同标识和密钥进行填充。

  5. 选择应用以继续,然后选择查看 + 创建和创建以创建二级副本。

使用数据库级别的客户托管密钥还原 Azure SQL 数据库

本部分将介绍有关还原使用数据库级别客户管理的密钥配置的 Azure SQL 数据库的步骤。 在数据库创建阶段为透明数据加密设置客户管理的密钥时,需要用户分配的托管标识。

实时还原

以下部分介绍如何将在数据库级别使用客户管理的密钥配置的数据库还原到给定时间点。 若要详细了解 SQL 数据库的备份恢复,请参阅 从 Azure SQL 数据库中的备份还原数据库。

  1. 转到 Azure 门户,然后转到已配置数据库级客户管理密钥且要还原的 Azure SQL 数据库。

  2. 若要将数据库还原到某个时间点,请从数据库的“概述”菜单中选择“还原”。

    Azure 门户的“复制数据库”菜单的屏幕截图。

  3. 此时会显示“创建 SQL 数据库 - 还原数据库”菜单。 填写所需的源和数据库详细信息。 在 “透明数据加密密钥管理 ”部分中,选择“ 配置透明数据加密”。

    Azure 门户中“还原数据库”菜单的截图,其中“透明数据加密密钥管理”部分已展开。

  4. 出现 透明数据加密 菜单时,请查看数据库的 CMK 设置。 设置和密钥应使用你尝试还原的数据库中所用的相同标识和密钥进行填充。

  5. 选择“应用”以继续,然后选择“查看 + 创建”和“创建”来创建副本数据库。

已删除的数据库还原

以下部分介绍如何还原在数据库级别使用客户管理的密钥配置的已删除数据库。 若要详细了解 SQL 数据库的备份恢复,请参阅 从 Azure SQL 数据库中的备份还原数据库。

  1. 转到 Azure 门户,然后导航到已删除但你想要还原的数据库的逻辑服务器。 在“数据管理”下,选择“已删除的数据库”。

    Azure 门户中“已删除的数据库”菜单的屏幕截图。

  2. 选择要还原的已删除数据库。

  3. 此时会显示“创建 SQL 数据库 - 还原数据库”菜单。 填写所需的源和数据库详细信息。 在 “透明数据加密密钥管理 ”部分中,选择“ 配置透明数据加密”。

    Azure 门户中“还原数据库”菜单的截图,其中“透明数据加密密钥管理”部分已展开。

  4. 出现 “透明数据加密 ”菜单时,请为数据库配置 “用户分配的托管标识”、“ 客户管理的密钥”和 “其他数据库密钥 ”部分。

  5. 选择“应用”以继续,然后选择“查看 + 创建”和“创建”来创建副本数据库。

异地还原

以下部分介绍如何还原在数据库级别使用客户管理的密钥配置的数据库的异地复制备份。 若要详细了解 SQL 数据库的备份恢复,请参阅 从 Azure SQL 数据库中的备份还原数据库。

  1. 转到 Azure 门户,然后导航到你想要在其中还原数据库的逻辑服务器。

  2. 在“概述”菜单中,选择“创建数据库”。

  3. 此时会显示“创建 SQL 数据库”菜单。 填充新数据库的“基本信息”和“网络”选项卡。 在“其他设置”中,在“使用现有数据”部分选择“备份”,然后选择异地复制的备份。

    Azure 门户的“创建数据库”菜单的屏幕截图,其中选择要用于数据库的备份。

  4. 转到“ 安全 ”选项卡。在 “透明数据加密密钥管理 ”部分中,选择“ 配置透明数据加密”。

  5. 出现“透明数据加密”菜单时,选择“数据库级别客户管理的密钥”(CMK)。 用户分配的托管标识、客户管理的密钥和其他数据库密钥必须与要还原的源数据库匹配。 确保用户分配的托管标识能访问包含在备份中使用的客户管理密钥的 Azure 密钥保管库。

  6. 选择“应用”以继续,然后选择“查看 + 创建”和“创建”来创建备份数据库。

重要

长期保留 (LTR) 备份不提供备份使用的密钥列表。 要还原 LTR 备份,必须将源数据库使用的所有密钥都传递给 LTR 还原目标。

注意

可以引用使用数据库级别客户管理的密钥创建 Azure SQL 数据库作为辅助或副本数据库部分中重点介绍的 ARM 模板,以通过更改 createMode 参数来使用 ARM 模板还原数据库。

复制或还原数据库的自动密钥轮换选项

你可以配置新复制或恢复的数据库,自动轮换用于透明数据加密的客户管理密钥。 有关如何启用自动密钥旋转的信息,请参见 数据库层面的自动密钥旋转。