配置客户管理的密钥

Azure 数据资源管理器会加密存储帐户中的所有静态数据。 默认情况下,它使用Microsoft管理的密钥进行加密。 如果希望更好地控制加密密钥,可以提供客户管理的密钥进行数据加密。

必须将客户管理的密钥存储在Azure 密钥保管库或Azure 密钥保管库托管 HSM 中。

注释

Azure 密钥保管库 托管 HSM 仅支持通过 API 或 REST 调用进行配置

可以创建自己的密钥并将其存储在 Key Vault 中,或者使用 Azure 密钥保管库 API 来生成密钥。 Azure 数据资源管理器群集和密钥保管库必须位于同一区域,但它们可以位于不同的订阅中。 有关客户管理的密钥的详细说明,请参阅 使用 Azure 密钥保管库 的客户管理的密钥。

本文介绍如何配置客户管理的密钥。

有关基于以前的 SDK 版本的代码示例,请参阅存档的文章。

配置 Azure 密钥保管库

若要使用 Azure 数据资源管理器配置客户管理的密钥,必须在 密钥保管库上设置两个属性: 软删除 和 不清除。 默认情况下不会启用这些属性。 若要启用这些属性,请在新的或现有的密钥保管库上在 PowerShell 或 Azure CLI 中执行“启用软删除”和“启用清除保护”。 Azure 数据资源管理器支持 RSA 和大小为 2048、3072 和 4096 的 RSA-HSM 密钥。 若要使用 RSA-HSM 密钥,请使用本文中所述的 C#、Azure CLI、PowerShell 或 ARM 模板方法。 有关密钥的详细信息,请参阅 密钥保管库 密钥。

注释

有关在领导者和关注者群集上使用客户托管密钥的限制的信息,请参阅“限制”。

将托管标识分配给群集

若要为群集启用客户管理的密钥,请先将系统分配的托管标识或用户分配的托管标识分配给群集。 使用此托管标识授予群集访问密钥保管库的权限。 若要配置托管标识,请参阅 托管标识。

使用客户管理的密钥启用加密

以下步骤说明如何使用 Azure 门户启用客户管理的密钥加密。 默认情况下,Azure 数据资源管理器加密使用Microsoft管理的密钥。 将 Azure 数据资源管理器群集配置为使用客户管理的密钥,并指定要与群集关联的密钥。

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集 资源。

  2. 在门户的左窗格中选择 “设置>加密 ”。

  3. 在“加密”窗格中,为“客户管理的密钥”设置选择“开”。

  4. 选择 “选择密钥”。

    配置客户托管密钥的屏幕截图。

  5. 在 “从 Azure 密钥保管库 中选择密钥 ”窗口中,从下拉列表中选择现有的 Key Vault 。 如果选择“ 新建 ”以 创建新的 密钥保管库,则系统会路由到 “创建 密钥保管库” 屏幕。

  6. 选择 密钥。

  7. 版本:

    • 若要确保此密钥始终使用最新的密钥版本,请选中 “始终使用当前密钥版本 ”复选框。
    • 否则,请选择 “版本”。
  8. 选择 选择。

    显示 Azure 密钥保管库 中的“选择密钥”的屏幕截图。

  9. 在 “标识类型”下,选择“ 系统分配 ”或“ 用户分配”。

  10. 如果选择用户分配,请从下拉列表中选择用户分配的身份。

    显示用于选择托管标识类型的选项的屏幕截图。

  11. 在现在包含密钥的 “加密 ”窗格中,选择“ 保存”。 CMK 创建成功后,会在 “通知”中看到一条成功消息。

    显示用于保存客户管理的密钥的选项的屏幕截图。

如果在为 Azure 数据资源管理器群集启用客户管理的密钥时选择系统分配的标识,则为群集创建系统分配的标识(如果不存在)。 此外,还可以为所选 密钥保管库 上的 Azure 数据资源管理器群集提供所需的 get、wrapKey 和 unwrapKey 权限,并获取 密钥保管库 属性。

注释

选择 “关闭” 以在密钥存在后删除客户管理的密钥。

更新密钥版本

创建新版本的密钥时,需要更新群集以使用新版本。 首先,调用 Get-AzKeyVaultKey 以获取最新版本的密钥。 然后更新群集的密钥保管库属性以使用新版密钥,如 使用客户管理的密钥启用加密中所示。