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

将 Azure 密钥保管库中的客户管理的密钥用于 Azure Data Box

Azure Data Box 可通过加密密钥保护用于锁定设备的设备解锁密钥(也称为设备密码)。 默认情况下,此加密密钥是 Microsoft 管理的密钥。 如需额外控制,还可以使用客户管理的密钥。

使用客户管理的密钥不影响设备上数据的加密方式。 它仅影响设备解锁密钥的加密方式。

若要在整个订单过程中保持此级别的控制,请在创建订单时使用客户管理的密钥。 有关详细信息,请参阅教程:订购 Azure Data Box

本文介绍如何在 Azure 门户中为现有 Data Box 订单启用客户管理的密钥。 你将了解如何为当前客户管理的密钥更改密钥保管库、密钥、版本或标识,或切换回使用 Microsoft 管理的密钥。

本文适用于 Azure Data Box 和 Azure Data Box Heavy 设备。

要求

Data Box 订单的客户管理的密钥必须满足以下要求:

  • 密钥必须创建并存储在启用了“软删除”和“不要清除”的 Azure 密钥保管库中。 有关详细信息,请参阅什么是 Azure 密钥保管库?。 创建或更新订单时,可以创建密钥保管库和密钥。
  • 密钥必须是 2048 或更大大小的 RSA 密钥。
  • 必须为 Azure Key Vault 中的密钥启用 GetUnwrapKeyWrapKey 权限。 权限必须在订单的整个生存期内保持不变。 否则,在数据复制阶段开始时无法访问客户管理的密钥。

启用密钥

若要在 Azure 门户中为现有 Data Box 订单启用客户管理的密钥,请执行以下步骤:

  1. 转到 Data Box 订单的“概述”屏幕。

    Overview screen of a Data Box order - 1

  2. 转到“设置 > 加密”,并选择“客户管理的密钥”。 然后,选择“选择密钥和密钥保管库”。

    Select the customer-managed key encryption option

    在“从 Azure 密钥保管库中选择密钥”屏幕上,订阅会自动填充。

  3. 对于“密钥保管库”,可以从下拉列表中选择现有的密钥保管库,也可以选择“新建”并创建新的密钥保管库。

    Key vault options when selecting a customer-managed key

    若要创建新的密钥保管库,请在“创建新的密钥保管库”屏幕上输入订阅、资源组、密钥保管库名称和其他信息。 在“恢复选项”中,确保已启用“软删除”和“清除保护” 。 然后选择“查看 + 创建”。

    Review and create Azure Key Vault

    查看密钥保管库的信息,然后选择“创建”。 等待几分钟,直到密钥保管库创建完成。

    Create Azure Key Vault with your settings

  4. 在“从 Azure 密钥保管库中选择密钥”屏幕上,可以从密钥保管库中选择现有密钥或创建新的密钥。

    Select key from Azure Key Vault

    如果要创建新的密钥,请选择“新建”。 必须使用 RSA 密钥。 大小可以是 2048 或更大。

    Create new key in Azure Key Vault

    输入新密钥的名称,接受其他默认值,然后选择“创建”。 在密钥保管库中创建密钥后,你将收到通知。

    Name new key

  5. 对于“版本”,可以从下拉列表中选择现有的密钥版本。

    Select version for new key

    如果要生成新的密钥版本,请选择“新建”。

    Open a dialog box for creating a new key version

    选择新密钥版本的设置,然后选择“创建”。

    Create a new key version

  6. 选择密钥保管库、密钥和密钥版本后,选择“选择”。

    A key in an Azure Key Vault

    “加密类型”设置显示所选的密钥保管库和密钥。

    Key and key vault for a customer-managed key

  7. 选择管理此资源的客户管理的密钥要使用的标识类型。 可以使用在创建订单时生成的“系统分配”的标识,也可以选择用户分配的标识。

    用户分配的标识是一个独立的资源,可用于管理对资源的访问权限。 有关详细信息,请参阅托管标识类型

    Select the identity type

    若要分配用户标识,请选择“用户分配”。 然后选择“选择用户标识”,并选择要使用的托管标识。

    Select an identity to use

    此处无法创建新的用户标识。 若要了解如何创建用户标识,请参阅 使用 Azure 门户创建、列出、删除用户分配的托管标识或如何为其分配角色

    “加密类型”设置中显示了所选用户标识。

    A selected user identity shown in Encryption type settings

  8. 选择“保存”,保存更新的“加密类型”设置。

    Save your customer-managed key

    密钥 URL 在“加密类型”下显示。

    Customer-managed key URL

重要

必须在密钥上启用 GetUnwrapKeyWrapKey 权限。 若要在 Azure CLI 中设置权限,请参阅 az keyvault set-policy

更改密钥

若要为当前使用的客户管理的密钥更改密钥保管库、密钥和/或密钥版本,请执行以下步骤:

  1. 在 Data Box 订单的“概述”屏幕上,转到“设置”>“加密”,然后单击“更改密钥”。

    Overview screen of a Data Box order with customer-managed key - 1

  2. 选择“选择其他密钥保管库和密钥”。

    Overview screen of a Data Box order, Select a different key and key vault option

  3. “从密钥保管库中选择密钥”屏幕显示订阅,但不显示密钥保管库、密钥或密钥版本。 可以进行以下任何更改:

    • 从同一密钥保管库中选择其他密钥。 在选择密钥和版本之前,需要选择密钥保管库。

    • 选择其他密钥保管库并分配新密钥。

    • 更改当前密钥的版本。

    完成更改后,选择“选择”。

    Choose encryption option - 2

  4. 选择“保存”。

    Save updated encryption settings - 1

重要

必须在密钥上启用 GetUnwrapKeyWrapKey 权限。 若要在 Azure CLI 中设置权限,请参阅 az keyvault set-policy

更改标识

若要为此订单更改用于管理客户管理的密钥的访问权限的标识,请执行以下步骤:

  1. 在已完成的 Data Box 订单的“概述”屏幕上,转到“设置”>“加密”。

  2. 进行以下任一更改:

    • 若要更改为其他用户标识,请单击“选择其他用户标识”。 然后,在屏幕右侧的面板中选择其他标识,然后选择“选择”。

      Option for changing the user-assigned identity for a customer-managed key

    • 若要切换到在创建订单时生成的系统分配的标识,请通过“选择标识类型”来选择“系统分配”。

      Option for changing to a system-assigned for a customer-managed key

  3. 选择“保存”。

    Save updated encryption settings - 2

使用 Microsoft 管理的密钥

若要为订单从使用客户管理的密钥更改为 Microsoft 管理的密钥,请执行以下步骤:

  1. 在已完成的 Data Box 订单的“概述”屏幕上,转到“设置”>“加密”。

  2. 通过“选择类型”,选择“Microsoft 管理的密钥”。

    Overview screen of a Data Box order - 5

  3. 选择“保存”。

    Save updated encryption settings for a Microsoft managed key

排查错误

如果收到与客户管理的密钥相关的任何错误,请使用下表排除故障。

错误代码 错误详细信息 可恢复?
SsemUserErrorEncryptionKeyDisabled 无法提取密钥,因为客户管理的密钥已被禁用。 是,通过启用密钥版本。
SsemUserErrorEncryptionKeyExpired 无法提取密钥,因为客户管理的密钥已到期。 是,通过启用密钥版本。
SsemUserErrorKeyDetailsNotFound 无法提取密钥,因为找不到客户管理的密钥。 如果删除了密钥保管库,则无法恢复客户管理的密钥。 如果将密钥保管库迁移到了其他租户,请参阅订阅移动后更改密钥保管库租户 ID。 如果删除了密钥保管库:
  1. 是,如果它处于清除保护期内,请使用恢复密钥保管库中的步骤。
  2. 否,如果超出了清除保护期。

如果密钥保管库进行了租户迁移,则可以使用以下步骤之一进行恢复:
  1. 将密钥保管库还原回旧租户。
  2. 设置 Identity = None,然后将值设置回 Identity = SystemAssigned。 这将在新标识创建后删除并重新创建该标识。 在密钥保管库的“访问策略”中为新标识启用 GetWrapKeyUnwrapKey 权限。
SsemUserErrorKeyVaultBadRequestException 应用了客户管理的密钥,但尚未获得密钥访问权限或该权限已被撤销,或者由于启用了防火墙而无法访问密钥保管库。 请将所选标识添加到密钥保管库,以向客户管理的密钥授予访问权限。 如果密钥保管库启用了防火墙,请切换到系统分配的标识,然后添加客户管理的密钥。 有关详细信息,请参阅如何启用密钥
SsemUserErrorKeyVaultDetailsNotFound 无法提取密钥,因为找不到与客户管理的密钥关联的密钥保管库。 如果删除了密钥保管库,则无法恢复客户管理的密钥。 如果将密钥保管库迁移到了其他租户,请参阅订阅移动后更改密钥保管库租户 ID。 如果删除了密钥保管库:
  1. 是,如果它处于清除保护期内,请使用恢复密钥保管库中的步骤。
  2. 否,如果超出了清除保护期。

如果密钥保管库进行了租户迁移,则可以使用以下步骤之一进行恢复:
  1. 将密钥保管库还原回旧租户。
  2. 设置 Identity = None,然后将值设置回 Identity = SystemAssigned。 这将在新标识创建后删除并重新创建该标识。 在密钥保管库的“访问策略”中为新标识启用 GetWrapKeyUnwrapKey 权限。
SsemUserErrorSystemAssignedIdentityAbsent 无法提取密钥,因为找不到客户管理的密钥。 是,检查以下事项:
  1. 密钥保管库在访问策略中是否仍具有 MSI。
  2. 标识的类型为“系统分配”。
  3. 在密钥保管库的访问策略中为标识启用 GetWrapKeyUnwrapKey 权限。 这些权限必须在订单的整个生存期内保持不变。 它们用于订单创建期间和数据复制阶段开始时。
SsemUserErrorUserAssignedLimitReached 无法添加新的用户分配的标识,因为已经达到了可以添加的用户分配的标识总数限制。 用更少的用户标识重试该操作,或在重试之前从资源中删除一些用户分配的标识。
SsemUserErrorCrossTenantIdentityAccessForbidden 托管标识访问操作失败。
注意:将订阅移到其他租户时可能出现此错误。 客户必须将标识手动移到新租户。
尝试向密钥保管库添加其他用户分配的标识,以允许对客户管理的密钥的访问。 或将标识移到订阅所在的新租户。 有关详细信息,请参阅如何启用密钥
SsemUserErrorKekUserIdentityNotFound 已应用客户管理的密钥,但在 Active Directory 中找不到有权访问此密钥的用户分配的标识。
注意:从 Azure 中删除用户标识时,可能会发生此错误。
尝试向密钥保管库添加其他用户分配的标识,以允许对客户管理的密钥的访问。 有关详细信息,请参阅如何启用密钥
SsemUserErrorUserAssignedIdentityAbsent 无法提取密钥,因为找不到客户管理的密钥。 无法访问客户管理的密钥。 与密钥关联的用户分配的标识 (UAI) 已删除或 UAI 类型已更改。
SsemUserErrorKeyVaultBadRequestException 应用了客户管理的密钥,但尚未获得密钥访问权限或该权限已被撤销,或者由于启用了防火墙而无法访问密钥保管库。 请将所选标识添加到密钥保管库,以向客户管理的密钥授予访问权限。 如果密钥保管库启用了防火墙,请切换到系统分配的标识,然后添加客户管理的密钥。 有关详细信息,请参阅如何启用密钥
SsemUserErrorEncryptionKeyTypeNotSupported 此操作不支持加密密钥类型。 在密钥上启用支持的加密类型,例如 RSA 或 RSA-HSM。 有关详细信息,请参阅密钥类型、算法和操作
SsemUserErrorSoftDeleteAndPurgeProtectionNotEnabled 密钥保管库未启用软删除或清除保护。 请确保在密钥保管库上启用软删除和清除保护。
SsemUserErrorInvalidKeyVaultUrl
(仅限命令行工具)
使用了无效的密钥保管库 URI。 获取正确的密钥保管库 URI。 若要获取密钥保管库 URI,请在 PowerShell 中使用 Get-AzKeyVault
SsemUserErrorKeyVaultUrlWithInvalidScheme 仅支持通过 HTTPS 来传递密钥保管库 URI。 通过 HTTPS 传递密钥保管库 URI。
SsemUserErrorKeyVaultUrlInvalidHost 密钥保管库 URI 主机不是地理区域中允许的主机。 在公有云中,密钥保管库 URI 应以 vault.azure.net 结尾。 在 Azure 政府云中,密钥保管库 URI 应以 vault.usgovcloudapi.net 结尾。
常规错误 无法提取密钥。 此错误是一般性错误。 请与 Microsoft 支持联系,以排查错误并确定后续步骤。

后续步骤