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

适用于: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 Key Vault。 在本指南中,Azure Key Vault 和 Azure SQL 的逻辑服务器位于同一个 Microsoft Entra 租户中,但也可以位于不同的租户中。

注意

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

先决条件

注意

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

重要

创建或还原数据库后,Azure 门户中的“透明数据加密”菜单将显示与源数据库设置相同的新数据库,但可能缺少密钥。 在所有根据源数据库创建新数据库的情况下,Azure 门户的“其他数据库密钥”列表中为目标数据库显示的密钥数都可能小于为源数据库显示的密钥数。 这是因为显示的密钥数根据用于创建目标数据库的各个功能要求来决定。 若要列出可用于新创建的数据库的所有密钥,请使用查看 Azure SQL 数据库上的数据库级别客户管理的密钥设置中的可用 API。

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

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

创建具有数据库级别客户管理的密钥的数据库副本

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

  1. 转到 Azure 门户,然后导航到配置了数据库级别客户管理的密钥的 Azure SQL 数据库。 访问“数据加密”菜单的“透明数据加密”选项卡,并检查数据库正在使用的当前密钥列表。

    Azure 门户中针对数据库的“透明数据加密”菜单的屏幕截图。

  2. 通过从数据库的“概述”菜单中选择“复制”,创建数据库的副本。

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

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

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

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

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

创建具有数据库级别客户管理的密钥的次要副本

  1. 转到 Azure 门户,然后导航到配置了数据库级别客户管理的密钥的 Azure SQL 数据库。 访问“透明数据加密”菜单,检查数据库使用的当前密钥的列表。

    Azure 门户中针对数据库的“透明数据加密”菜单的屏幕截图。

  2. 在数据库的“数据管理”设置下,选择“副本”。 选择“创建副本”,创建数据库的次要副本。

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

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

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

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

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

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

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

时间点还原

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

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

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

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

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

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

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

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

已删除的数据库还原

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

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

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

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

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

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

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

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

异地还原

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

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

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

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

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

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

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

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

重要

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

注意

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

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

可以将新复制或还原的数据库配置为自动轮换用于透明数据加密的客户管理的密钥。 有关如何在 Azure 门户中或使用 API 启用自动密钥轮换的信息,请参阅数据库级别的自动密钥轮换

后续步骤

查看以下有关各种数据库级别 CMK 操作的文档: