Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Key Vault 和 Azure 托管 HSM 不允许导出密钥,以保护密钥材料,并确保无法更改密钥的 HSM 属性。
如果希望密钥高度可移植,最好在受支持的 HSM 中创建密钥并将其导入 Azure Key Vault 或 Azure 托管 HSM。
注释
无导出规则的唯一例外是创建具有特定 密钥发布策略的密钥。 此策略仅允许将密钥导出到您明确定义的受信任机密计算环境(安全隔离区)。 这种有限的导出功能专为特定的安全计算方案设计,与常规用途密钥导出不同。
有几个方案需要迁移关键工作负荷:
- 切换安全边界,例如在订阅、资源组或所有者之间切换时。
- 由于给定区域中存在合规性边界或风险而移动区域。
- 你正在更改为新的产品/服务,例如从 Azure Key Vault 到 Azure 托管 HSM,它提供比 Key Vault Premium 更高的安全性、隔离性和合规性。
下面我们讨论了将工作负载迁移到使用新密钥的几种方法,这些密钥可以迁移到新保管库或新的托管 HSM 中。
使用客户管理的密钥的 Azure 服务
对于使用 Key Vault 中的密钥的大多数工作负荷,将密钥迁移到新位置(不同订阅或区域中的新托管 HSM 或新密钥保管库)的最有效方法是:
- 在新保管库或托管 HSM 中创建新密钥。
- 通过将工作负荷的托管标识分配给 Azure Key Vault 中的相应 Azure RBAC 角色或 Azure 托管 HSM 中相应的托管 HSM 本地 RBAC 角色,授予对新密钥的访问权限。
- 更新工作负荷以使用新密钥作为客户管理的加密密钥。
- 保留旧密钥,直到不再需要该密钥最初保护的工作负载数据备份。
示例:将 Azure 存储迁移到新的客户管理的密钥
如果对 Azure 存储使用客户管理的密钥,可以按照以下步骤迁移到新密钥:
- 在目标密钥保管库或托管 HSM 中创建新密钥。
- 按照 配置现有存储帐户的客户管理的密钥 中的说明更新存储帐户以使用新密钥。
- 将以前的客户管理的密钥保持可用,直到存储服务完全转换为新密钥。
- 确认所有作都使用新密钥正常工作后,可以安全地停用上一个密钥(但如果你需要访问旧备份,请不要删除它)。
此模式适用于支持客户管理的密钥的许多 Azure 服务。
自定义应用程序和客户端加密
对于使用 Key Vault 中的密钥直接加密数据的客户端加密或自定义应用程序,此过程有所不同:
- 创建新的密钥保管库或托管 HSM,并创建新的密钥加密密钥 (KEK)。
- 使用新密钥重新加密旧密钥加密的任何密钥或数据。 (如果密钥保管库中的密钥直接加密数据,可能需要一些时间,因为必须使用新密钥读取、解密和加密所有数据。尽可能使用 信封加密 ,使此类密钥轮换更快。
重新加密数据时,建议使用三级密钥层次结构,这将使未来的 KEK 轮换更容易:1. 存储在 Azure Key Vault 或托管 HSM 中的密钥加密密钥(KEK) 2. 主密钥 3. 从主密钥派生的数据加密密钥
- 在迁移后(以及删除之前)验证数据。
- 在不再需要与旧密钥/密钥保管库关联的数据备份之前,请勿删除旧密钥/密钥保管库。
在不同地理位置的多个密钥库或托管 HSM 中使用相同的密钥材料
当您的应用程序或负载需要在多个不共享同一安全域的 Key Vault 或托管 HSM 中使用相同的密钥材料时,您应使用自带密钥(BYOK)方法。 无法直接复制或传输具有不同安全域的资源之间的密钥材料。
具有不同安全域的资源示例包括:
- 不同地理位置中的 Key Vault 每个 Azure 地理位置都有自己的安全域,因此一个地理位置中的 Key Vault 无法与其他地理位置中的 Key Vault 共享密钥材料。
- 密钥保管库和托管 HSM 密钥保管库和托管 HSM 始终具有单独的安全域,即使在相同的地理位置也是如此。
若要跨这些边界使用相同的密钥材料,请执行以下步骤:
在本地 HSM 或其他安全加密模块中创建密钥。 在所控制的硬件安全模块(HSM)中生成密钥,确保将密钥材料保留在安全环境中。
使用“自带密钥”(BYOK)将密钥导入到所需的每个密钥保管库或托管 HSM 中。 对工作负荷需要密钥的每个区域中的每个保管库或托管 HSM 重复导入过程:
- 对于 Azure Key Vault,请遵循 Azure Key Vault BYOK 规范。
- 对于 Azure 管理的 HSM,请遵循 将受 HSM 保护的密钥导入托管 HSM(BYOK) 指南。
重要
即使基础密钥材料相同,每个保管库或托管 HSM 都将具有 不同的密钥 URI。 必须跟踪与每个资源对应的 URI。
更新应用程序和服务,以在每个区域中使用新的密钥 URI。 配置应用程序的每个区域部署,例如自定义应用程序、Azure SQL Database、Azure Cosmos DB或其他服务,以引用该区域中保管库或托管 HSM 中的新密钥 URI。 由于每个Key Vault或托管 HSM 都有自己的唯一 URI,因此即使密钥材料相同,每个资源中的密钥 URI 也会有所不同。 确保应用程序配置引用正确的密钥 URI。
在 Azure 信息保护中迁移租户密钥
在 Azure 信息保护中迁移租户密钥称为“重新生成密钥”或“密钥轮换”。 客户管理的 - AIP 租户密钥生命周期操作 提供了关于如何执行此操作的详细说明。
在不再需要使用旧租户密钥保护的内容或文档之前,删除旧租户密钥是不安全的。 如果要迁移受新密钥保护的文档,必须:
- 从使用旧租户密钥保护的文档中删除保护。
- 再次应用保护,这将使用新的租户密钥。
过渡到 HSM 平台 2
Azure Key Vault 已更新其 HSM 平台,通过 FIPS 140 级别 3 验证提供改进的安全性。 现在,所有新的密钥和密钥版本都使用 HSM 平台 2 创建。 可以通过查看 其 hsmPlatform 属性来检查哪些 HSM 平台正在保护密钥。
若要将工作负载转换为受 HSM 平台 2 保护的密钥:
在 HSM 平台 2 上创建新密钥
- 如果已配置 密钥轮换策略 ,则会在下一个计划轮换时自动创建新的密钥版本。
- 如果未配置轮换策略,请手动创建一个新的密钥版本,该版本将自动使用 HSM 平台 2。
不同服务的滚动密钥
-
客户管理的密钥(CMK):
- 如果为服务启用了密钥自动轮换,则会在创建时自动应用新密钥。
- 如果未配置 autorotate,请使用服务的密钥配置设置手动更新服务以使用新密钥。
-
Azure 信息保护功能(AIP):
- 有关详细迁移步骤,请参阅 AIP 租户密钥迁移部分 。
-
自定义应用程序:
- 按照 自定义应用程序指南 确保平稳过渡。
-
客户管理的密钥(CMK):
过渡到 HSM 平台 2 的好处包括增强的安全性,符合 FIPS 140 级别 3 标准。 由于所有新密钥都是在最新平台上自动创建的,因此此转换主要适用于更新现有工作负载以使用较新的密钥版本。
管理 Microsoft 365 的客户密钥
对于从 HSM 平台 1 过渡的组织,有效管理客户密钥至关重要。 Microsoft 365 提供了可靠的工具和指导,用于滚动或轮换客户管理的根密钥和可用性密钥。 下面是帮助你管理此过程的关键资源:
- 滚动或轮换客户密钥或可用性密钥:了解如何滚动更新客户管理的根密钥或可用性密钥,包括创建新版本或生成新密钥。
- 了解可用性密钥:有关Microsoft 365 加密中可用性密钥及其角色的详细信息。
- 管理 Microsoft 365 的客户密钥:有关管理客户密钥的综合指南,包括创建和分配数据加密策略(DEP)。
HSM 平台 1 停用的关键注意事项
由于 HSM 平台 1 已停用,请确保:
- 根据需要滚动或轮换客户管理的根密钥,以维护合规性和安全性。
- 更新数据加密策略(DEP)以引用新密钥或密钥版本。
- 遵循密钥管理的最佳做法,包括最小化权限和监视密钥使用情况。
有关详细信息,请参阅 Microsoft Purview 客户密钥文档。