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

为 Azure Cosmos DB for MongoDB vCore 群集配置静止数据加密的客户托管密钥(CMK)

本文介绍如何在 Azure Cosmos DB for MongoDB vCore 中为静态数据加密配置客户管理的密钥 (CMK)。 本指南中的步骤配置新的 Azure Cosmos DB for MongoDB vCore 群集、副本群集或还原的群集。 CMK 设置使用存储在 Azure Key Vault 中的客户管理的密钥,并使用用户分配的托管标识。

先决条件

  • Azure 订阅服务

    • 如果没有 Azure 订阅,请在开始之前创建一个免费帐户

准备用户分配的托管标识和 Azure Key Vault

若要在 Azure Cosmos DB for MonogDB vCore 群集上配置客户管理的密钥加密,需要用户分配的托管标识、Azure Key Vault 实例和正确配置的权限。

重要

用于配置 CMK 的用户分配的托管标识和 Azure Key Vault 实例应位于托管 Azure Cosmos DB for MongoDB 群集的 Azure 区域中,都属于同一 Microsoft 租户

使用 Azure 门户

  1. 在群集区域中创建一个用户分配的托管标识(如果尚未创建)。

  2. 在群集区域中创建一个 Azure Key Vault(如果尚未创建密钥存储)。 请确保满足 要求。 此外,请在配置密钥存储之前以及创建密钥并将所需的权限分配给用户分配的托管标识之前,按照建议进行操作。

  3. 在密钥存储中创建一个密钥

  4. 根据要求中所述,向 Azure Key Vault 实例授予用户分配的托管标识权限。

在群集预配期间为数据加密配置客户管理的密钥

  1. 在预配新的 Azure Cosmos DB for MongoDB vCore 群集期间,用于群集数据加密的服务托管密钥或客户管理的密钥在“加密”选项卡中进行配置。选择“客户管理的密钥”进行“数据加密”

    显示如何在群集预配期间选择客户管理的加密密钥的屏幕截图。

  2. 在“用户分配的托管标识”部分,选择“更改标识”

    屏幕截图显示如何选择用户分配的托管标识以访问数据加密密钥。

  3. 在用户分配的托管标识列表中,选择希望群集用来访问 Azure Key Vault 中存储的数据加密密钥的那个托管标识。

    屏幕截图显示如何选择用户分配的托管标识,供群集用来访问数据加密密钥。

  4. 选择 并添加

    屏幕截图显示用于分配标识的“添加”按钮的位置,该标识供群集用于访问数据加密密钥。

  5. 在“密钥选择方法”中,选择“选择密钥”

  6. “密钥”部分,选择“更改密钥”。

    屏幕截图显示如何打开窗口以更改加密密钥。

  7. 在“选择密钥”窗格中,选择“密钥保管库”中的 Azure Key Vault 和“密钥”中的加密密钥,然后选择“选择”以确认所做的选择。

    屏幕截图显示如何选择另一个加密密钥。

    重要

    所选的 Azure Key Vault 实例应位于要托管 Azure Cosmos DB for MongoDB 群集的同一 Azure 区域中。

  8. “加密”选项卡上确认选定的用户分配的托管标识和加密密钥,然后选择“查看 + 创建”以创建群集。

    屏幕截图显示已完成的“加密”选项卡和用于完成群集创建操作的“查看 + 创建”按钮。

在启用了 CMK 的群集上更新数据加密设置

对于部署了使用客户管理的密钥进行数据加密的现有群集,可以进行多项配置更改。 可以更改存储加密密钥的密钥保管库,以及用作客户管理的密钥的加密密钥。 还可以更改由服务用于访问密钥存储中保留的加密密钥的用户分配的托管标识。

  1. 在群集边栏的 “设置”下,选择“ 数据加密”。

  2. 在“用户分配的托管标识”部分,选择“更改标识”

    显示如何更改用户分配的托管标识以访问现有群集上的数据加密密钥的屏幕截图。

  3. 在用户分配的托管标识列表中,选择希望群集用来访问 Azure Key Vault 中存储的数据加密密钥的那个托管标识。

    显示如何选择新用户分配的托管标识的屏幕截图,群集使用该标识访问现有群集上的数据加密密钥。

  4. 选择 并添加

  5. 在“密钥选择方法”中,选择“选择密钥”

  6. 密钥中,选择 “更改密钥”。

    显示如何在现有群集上打开加密密钥选择面板的屏幕截图。

  7. 在“选择密钥”窗格中,选择“密钥保管库”中的 Azure Key Vault 和“密钥”中的加密密钥,然后选择“选择”以确认所做的选择。

    显示如何在该密钥保管库中选择用作现有群集上客户管理的密钥的新密钥保管库和加密密钥的屏幕截图。

    重要

    所选的 Azure Key Vault 实例应位于托管 Azure Cosmos DB for MongoDB 群集的同一 Azure 区域中。

  8. “数据加密 ”页上确认所选用户分配的托管标识和加密密钥,然后选择“ 保存 ”以确认选择并创建副本群集。

    显示现有群集上数据加密配置更改的“保存”按钮位置的屏幕截图。

无论是只想更改用于访问密钥的用户分配托管标识,还是只想更改用于数据加密的密钥,还是要同时更改这两者,都需要提供 JSON 文件中列出的所有参数。

如果指定的密钥或用户分配的托管标识不存在,则会收到错误。

如果作为参数传递的标识存在且有效,则会自动将其添加到与 Azure Cosmos DB for MongoDB vCore 群集关联的用户分配的托管标识的列表中。 即使命令稍后失败并出现其他错误,也是如此。

更改现有群集上的数据加密模式

唯一可以决定是否要使用服务托管密钥或客户管理的密钥 (CMK) 进行数据加密的时间是在群集创建时。 一旦做出决定并创建群集,便无法在两个选项之间切换。 若要使用其他加密选项创建 Azure Cosmos DB for MongoDB vCore 群集的副本,可以创建副本群集执行群集还原,然后在副本群集或还原群集创建期间选择新的加密模式。

在创建副本群集期间启用或禁用客户管理的密钥(CMK)数据加密

按照以下步骤创建具有 CMK 或 SMK 数据加密的副本群集,以便在副本群集上启用或禁用 CMK。

  1. 在群集边栏的 “设置”下,选择“ 全局分发”。

  2. 选择 “添加新只读副本”。

    显示如何为现有副本群集创建副本群集的屏幕截图。

  3. “读副本 名称”字段中提供集群副本名称。

  4. 只读副本区域中选择一个区域。 副本群集托管在所选 Azure 区域中。

    注释

    副本群集始终在与其主(读写)群集相同的 Azure 订阅和资源组中创建。

    显示如何输入副本群集名称并选择其 Azure 区域的屏幕截图。

  5. “数据加密 ”部分中,选择 客户管理的密钥 以启用 CMK 或服务 管理的密钥 以在副本群集上禁用 CMK。

    显示如何在创建副本群集期间选择客户管理的加密密钥或服务管理的加密密钥的屏幕截图。

  6. 在“用户分配的托管标识”部分,选择“更改标识”

    显示如何在创建副本群集期间选择用户分配的托管标识以访问数据加密密钥的屏幕截图。

  7. 在用户分配的托管标识列表中,选择希望群集用来访问 Azure Key Vault 中存储的数据加密密钥的那个托管标识。

    显示如何在创建副本群集期间选择用户分配的托管标识(群集用于访问数据加密密钥)的屏幕截图。

  8. 选择 并添加

  9. 在“密钥选择方法”中,选择“选择密钥”

  10. 密钥中,选择 “更改密钥”。

    显示如何在创建副本群集期间打开加密密钥选择面板的屏幕截图。

  11. 在“选择密钥”窗格中,选择“密钥保管库”中的 Azure Key Vault 和“密钥”中的加密密钥,然后选择“选择”以确认所做的选择。

    显示如何在创建副本群集时选择密钥保管库中的加密密钥,并将其用作客户管理密钥的屏幕截图。

  12. “全局分发 ”页上确认选定的用户分配的托管标识和加密密钥,然后选择“ 保存” 以确认选择并创建副本群集。

    显示用于创建副本群集的“保存”按钮的位置的屏幕截图。

在群集还原期间启用或禁用客户管理的密钥 (CMK) 数据加密

还原过程会在原始的 Azure 区域、订阅和资源组中创建一个具有相同配置的新群集。 按照以下步骤创建启用了 CMK 或 SMK 的还原群集。

  1. 选择现有的 Azure Cosmos DB for MongoDB vCore 群集。

  2. 在群集边栏的 “设置”下,选择 “时间点还原”。

  3. 选择一个日期,并在日期和时间字段中提供时间(以 UTC 时区为单位)。

    显示如何为群集还原选择日期和时间的屏幕截图。

  4. “还原目标群集名称 ”字段中输入群集名称。

    显示如何为群集还原输入群集名称的屏幕截图。

  5. “管理员用户名 ”字段中输入已还原群集的群集管理员名称。

  6. “密码 ”和 “确认密码 ”字段中输入管理员角色的密码。

    显示如何管理群集还原的用户名和群集名称的屏幕截图。

  7. “数据加密 ”部分中,选择 客户管理的密钥 以启用 CMK。 如果需要在还原的群集上禁用 CMK,请选择 服务管理的密钥

    显示如何使用已还原群集的客户管理的密钥启用数据加密的屏幕截图。

  8. 在“用户分配的托管标识”部分,选择“更改标识”

    显示如何在群集还原期间选择用户分配的托管标识以访问数据加密密钥的屏幕截图。

  9. 在用户分配的托管标识列表中,选择希望群集用来访问 Azure Key Vault 中存储的数据加密密钥的那个托管标识。

    显示如何在群集还原期间选择用户分配的托管标识(群集用于访问数据加密密钥)的屏幕截图。

  10. 选择 并添加

  11. 在“密钥选择方法”中,选择“选择密钥”

  12. 密钥中,选择 “更改密钥”。

    显示如何在群集还原期间打开加密密钥选择面板的屏幕截图。

  13. 在“选择密钥”窗格中,选择“密钥保管库”中的 Azure Key Vault 和“密钥”中的加密密钥,然后选择“选择”以确认所做的选择。

    屏幕截图显示如何选择密钥保管库及其中的加密密钥,以便在群集还原期间用作客户管理密钥。

  14. 选择 “提交 ”以启动群集还原。

创建还原的群集后,请查看还原后任务的列表。