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

Azure Data Box 设备使用密码进行保护,以防止不必要的入侵。 此密码正式称为 设备解锁密钥 ,并使用加密密钥进行保护。 默认情况下,加密密钥是Microsoft托管密钥。 为了获得更直接的控制,可以提供自己的托管密钥。

使用自己的客户管理的密钥只会影响设备解锁密钥的加密方式。 这不会影响设备上存储的数据的加密方式。

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

本文介绍如何通过 Azure 门户将客户管理的密钥与现有的 Azure Data Box 订单配合使用。

要求

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

  • 密钥必须是 2,048 位或更大的 RSA 密钥。
  • 密钥必须创建并存储在已启用 软删除不清除 行为的 Azure Key Vault 中。 创建或更新订单时,可以创建密钥保管库和密钥。 有关详细信息,请参阅什么是 Azure 密钥保管库?
  • 必须在关联的 Azure Key Vault 中启用GetUnwrapKeyWrapKey权限以使用该密钥。 这些权限必须在订单的生存期内保持原位。 修改这些权限可防止客户管理的密钥在数据复制过程中访问。

启用密钥

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

  1. 导航到 Data Box 订单的 “概述 ”页。

    显示 Data Box 订单的“概述”页的屏幕截图。

  2. “设置” 组中,选择“ 加密”。 在 “加密类型 ”窗格中,选择 “客户管理的密钥 ”选项。 接下来, 选择“选择密钥和密钥保管库 ”以打开 “从 Azure Key Vault 中选择密钥 ”页。

    显示所选客户管理的密钥选项的屏幕截图。

  3. 此时会打开 “从 Azure Key Vault 中选择密钥 ”页,并在下拉列表中自动填充订阅。 在 Key Vault 下拉列表中选择现有密钥保管库,或选择“ 新建 ”以创建新的密钥保管库。

    选择客户管理的密钥时突出显示密钥保管库选项的屏幕截图。

    若要创建新的密钥保管库,请选择订阅和资源组,形成相应的 订阅资源组 下拉列表。 或者,可以通过选择“ 新建 ”而不是填充 “资源组 ”选项来创建新的资源组。

    选择 Key Vault 名称区域定价层 下拉列表的所需值。 在 “恢复选项 ”组中,确保启用 软删除清除保护 。 为“已删除保管库的保留天数”字段提供一个值,然后选择“查看 + 创建”

    显示“查看和创建 Azure Key Vault”页的屏幕截图。

    查看密钥保管库的信息,然后选择“ 创建”。 系统会通知密钥保管库创建已完成。

    显示使用自定义设置创建 Azure Key Vault 的屏幕截图。

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

    显示从 Azure Key Vault 中选择密钥的屏幕截图。

    如果要创建新的密钥,请选择“新建”。 必须使用 2,048 位或更高版本的 RSA 密钥。

    显示在 Azure Key Vault 中创建新密钥的屏幕截图。

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

    显示 Azure Key Vault 中一个新密钥的命名的屏幕剪辑。

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

    显示 Azure Key Vault 中密钥版本的选择的屏幕截图。

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

    显示“新建”链接位置的屏幕截图。

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

    显示“创建新密钥版本”屏幕的屏幕截图。

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

    显示“选择”按钮位置的屏幕截图。

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

    显示密钥和 Key Vault 详细信息的屏幕截图。

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

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

    显示标识类型的屏幕截图。

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

    显示键选择选项的屏幕截图。

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

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

    显示加密类型设置窗格中显示的所选用户标识的屏幕截图。

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

    显示客户管理的密钥的“保存”按钮位置的屏幕截图。

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

    显示客户管理的密钥 URL 的屏幕截图。

重要

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

更改密钥

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

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

    Data Box 订单的“概述”页的屏幕截图,其中显示了客户管理的密钥详细信息。

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

    Data Box 订单的“概述”页的屏幕截图,其中突出显示了选择不同密钥保管库和密钥选项的过程。

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

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

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

    • 更改当前密钥的版本。

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

    显示加密选项设置和“选择”按钮位置的屏幕截图。

  4. 选择“保存” 。

    显示更新的加密设置和“保存”按钮位置的屏幕截图。

重要

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

更改标识

为了更新此订单中用于管理客户托管密钥访问权限的身份,请按照以下步骤操作:

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

  2. 进行以下任一更改:

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

      截屏显示了用于更改客户管理密钥的用户分配的身份的选项。

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

      显示用于从客户管理的密钥更改为系统分配的密钥的选项的屏幕截图。

  3. 选择“保存” 。

    显示用于保存更新加密设置的按钮位置的屏幕截图。

使用 Microsoft 管理的密钥

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

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

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

    显示 Data Box 订单的“概述”窗格的屏幕截图。

  3. 选择“保存” 。

    显示用于保存Microsoft托管密钥的更新加密设置的按钮位置的屏幕截图。

排查错误

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

错误代码 错误详细信息 决议
SsemUserErrorEncryptionKeyDisabled 无法提取密钥:客户管理的密钥已禁用。 启用密钥版本。
SsemUserErrorEncryptionKeyExpired 无法提取密钥:客户管理的密钥已过期。 启用密钥版本。
SsemUserErrorKeyDetailsNotFound 无法提取密钥:找不到客户管理的密钥。 如果删除密钥保管库:
  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。 有关详细信息,请参阅密钥类型、算法和操作
SsemUserErrorSoftDeleteAndPurgeProtectionNotEnabled 密钥保管库未启用软删除或清除保护。 请确保在密钥保管库上启用软删除和清除保护。
SsemUserErrorInvalidKeyVaultUrl
(仅限命令行)
使用了无效的密钥保管库 URI。 获取正确的密钥保管库 URI。 若要获取密钥保管库 URI,请在 PowerShell 中使用 Get-AzKeyVault
SsemUserErrorKeyVaultUrlWithInvalidScheme 仅支持通过 HTTPS 来传递密钥保管库 URI。 通过 HTTPS 传递密钥保管库 URI。
SsemUserErrorKeyVaultUrlInvalidHost 密钥保管库 URI 主机不是该地理区域中允许的主机。 对于世纪互联运营的 Azure,密钥保管库 URI 应该以 vault.azure.cn 结尾。
常规错误 无法提取密钥。 此错误是一般性错误。 请联系 Azure 支持部门排查错误并确定后续步骤。

后续步骤