培训
认证
Microsoft Certified: Windows Server Hybrid Administrator Associate - Certifications
Windows Server 混合管理员负责将 Windows Server 环境与 Azure 服务集成,以及在本地网络中管理 Windows Server。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 专用 HSM 服务有两个不同的方面。 第一个方面是指在 Azure 中注册和部署包含基础网络组件的 HSM 设备。 第二个方面是指配置 HSM 设备,做好与给定的工作负载或应用程序配合使用/集成的准备。 尽管 Azure 中的 Thales Luna 7 HSM 设备与直接从 Thales 购买的相同,但由于它们是 Azure 中的资源,因此有一些独特的注意事项。 本文介绍了这些注意事项以及所产生的任何故障排除见解或最佳做法,确保关键信息的高可见性和访问权限。 开始使用此服务后,可通过向 Microsoft 或 Thales 发送支持请求直接获取权威信息。
备注
应注意的是,在新部署的 HSM 设备上执行任何配置之前,应使用任何相关的修补程序对其进行更新。 特定的必需修补程序是 Thales 支持门户中的 KB0019789,用于解决系统在重启过程中出现的未响应问题。
专用 HSM 是一种有价值的资源,可在 Azure 中提供裸机 HSM 功能,并且不能免费使用。 为了确保适当的利用率,我们采用允许列表流程来批准用于加入和部署的 Azure 订阅。 若要继续加入专用 HSM,请联系你的 Microsoft 客户经理获取进一步指导。
首先,确认 Azure Key Vault 或 Azure 托管 HSM 是否无法解决你的用例。 如果你认为只有专用 HSM 能满足你的密钥存储要求,请联系 Microsoft 客户经理或 Microsoft 客户支持,获取请求访问权限的进一步指导。 请概述你的应用程序和用例、你想要 HSM 的区域以及想要的 HSM 数量。
可以通过 CLI 或 PowerShell 在 Azure 中预配 HSM 设备。 当你注册获取此服务时,我们会为你提供一个示例 ARM 模板,并会协助你完成初始自定义。
专用 HSM 支持使用 CLI 和 PowerShell 进行部署,因此基于门户的错误信息很有限,并不详细。 使用资源浏览器可以找到更好的信息。 门户主页有一个与此相关的图标,其中提供了更详细的错误信息。 在创建与部署问题相关的支持请求时,如果将该信息粘贴到其中,则对我们解决问题很有帮助。
部署失败的头号原因是忘记为要在其上预配 HSM 的客户定义的子网设置适当的委托。 有关部署的虚拟网络和子网先决条件中包括该委托的设置。如需更多详细信息,可参阅相关教程。
为部署提供的标准 ARM 模板具有 HSM 和 ExpressRoute 网关相关资源。 若要成功进行 HSM 部署,网络资源不可或缺。时机可能很关键。 有时,我们发现部署失败与依赖项问题有关,重新运行部署通常可以解决问题。 如果那样行不通,则删除资源后重新进行部署通常就会成功。 这样尝试以后,如果仍然出现问题,请在 Azure 门户中选择“配置 Azure 安装程序时遇到问题”作为问题类型,提交一项支持请求。
一些客户已使用 Terraform 作为自动化环境,而不是使用在注册获取此服务时获得的 ARM 模板。 HSM 不能以这种方式部署,但所依赖的网络资源可以。 Terraform 可以通过模块调用一个只有 HSM 部署的最小 ARM 模板。 在这种情况下,应注意确保在部署 HSM 之前网络资源(例如所需的 ExpressRoute 网关)已完全部署好。 以下 CLI 命令可用于测试是否已按要求完成部署并进行集成。 将尖括号占位符替换为具体命名。 应查找“provisioningState 成功”结果
az resource show --ids /subscriptions/<subid>/resourceGroups/<myresourcegroup>/providers/Microsoft.Network/virtualNetworkGateways/<myergateway>
专用 HSM 的初始配额限制为每个标记 2 个 HSM,每个区域 4 个 HSM。 如果超出这些限制,部署可能会失败,因此在尝试新部署之前,应从以前的失败部署中删除资源。 你可以参考“预配时如何查看 HSM”来检查现有资源。 如果单个区域中需要 4 个以上 HSM,请提交客户支持工单以请求提高配额上限。
当标记或区域接近容量时,且预配了大部分可用的 HSM 时,可能会发生部署失败。 每个标记提供 12 个 HSM 供客户使用,每个区域总共 24 个,每个标记有两个备用设备和一个测试设备。 如果你怀疑你达到了此限制,请提交客户支持工单,询问区域中的可用容量或特定标记的填充级别。
专用 HSM 是一项已加入允许列表的服务,因此在 Azure 门户中被视为“隐藏类型”。 若要查看 HSM 资源,必须勾选“显示隐藏的类型”复选框。 HSM 始终带有 NIC 资源。在使用 SSH 进行连接之前,可以在该资源中找出 HSM 的 IP 地址。
专用 HSM 的部署依赖于网络资源以及一些需要注意的重要限制。
专用 HSM 使用 ExpressRoute 网关作为“隧道”在 Azure 数据中心的客户专用 IP 地址空间与物理 HSM 之间通信。 考虑到一个虚拟网络存在一个网关的限制,因此,如果客户需要通过 ExpressRoute 连接到本地资源,必须使用另一虚拟网络进行该连接。
为专用 HSM 提供的示例模板假设可以自动从给定的子网范围中获取 HSM IP。 可以通过 ARM 模板中的“NetworkInterfaces”属性指定 HSM 的显式 IP 地址。
初始化准备新的 HSM 是为了使用,准备现有的 HSM 是为了重用。 必须先完成 HSM 的初始化,然后才能生成或存储对象、允许客户端进行连接,或执行加密操作。
Shell 管理员密码丢失会导致 HSM 密钥材料丢失。 应提交支持请求来重置 HSM。 初始化 HSM 时,请以安全方式存储凭据。 Shell 和 HSM 凭据应根据公司的策略进行保存。
向 HSM 提供不正确的凭据可能会产生破坏性后果。 下面是 HSM 角色的默认行为。
角色 | 阈值(尝试次数) | 登录失败次数过多的结果 | 恢复 |
---|---|---|---|
HSM SO | 3 | HSM 归零(所有 HSM 对象标识和所有分区都消失) | HSM 必须重新初始化。 可以从备份中还原内容。 |
分区 SO | 10 | 分区归零。 | 分区必须重新初始化。 可以从备份中还原内容。 |
审核 | 10 | Lockout | 10 分钟后自动解锁。 |
加密管理人员 | 10(可以减少) | 如果 HSM 策略 15:“允许对分区 PIN 进行 SO 重置”设置为 1(启用),则会锁定 CO 和 CU 角色。 如果 HSM 策略 15:“允许对分区 PIN 进行 SO 重置”设置为 0(禁用),则会永久锁定 CO 和 CU 角色,分区内容将再也无法访问。 默认设置。 |
必须使用 role resetpw -name co 解锁 CO 角色并通过分区 SO 重置凭据。必须重新初始化分区,并从备份设备还原密钥材料。 |
以下各项是配置错误很常见或者有必要强调其影响的情况:
Thales Luna 7 HSM 设备的软件和文档不由 Microsoft 提供,必须直接从 Thales 下载。 在注册过程中,需要使用收到的 Thales 客户 ID 进行注册。 由 Microsoft 提供的设备的软件版本为 7.2,固件版本为 7.0.3。 Thales 于 2020 年初将文档公开,该文档可在此处找到。
在 HSM 中配置网络时请小心。 HSM 有一个通过 ExpressRoute 网关进行的连接,该连接可以从客户专用 IP 地址空间直接连接到 HSM。 此信道仅用于客户通信,Microsoft 无权访问。 如果 HSM 的配置方式使此网络路径受到影响,则会删除与 HSM 的所有通信。 在这种情况下,唯一的选择是通过 Azure 门户提出 Microsoft 支持请求,以重置设备。 此重置过程会将 HSM 重新设置为其初始状态,所有配置和密钥材料都会丢失。 必须重新创建配置。当设备加入 HA 组时,会复制密钥材料。
某些配置更改需要重启 HSM。 Microsoft 在 Azure 中对 HSM 的测试表明,在某些情况下,重启可能会停止响应。 这意味着必须在 Azure 门户中创建支持请求,请求强行重启。考虑到这是一个需要在 Azure 数据中心完成的手动过程,这可能需要长达 48 小时的时间才能完成。 若要避免出现这种情况,请确保已部署可直接从 Thales 获得的重启修补程序。 请参阅 Thales Luna 7 HSM 7.2 下载内容中的 KB0019789,获取建议用于解决系统在重启过程中出现的未响应问题的补丁(注意:需要在 Thales 客户支持门户中注册才能下载)。
当证书过期或被配置更新的内容覆盖时,客户端可能会失去与 HSM 的连接。 应该针对每个 HSM 重新应用证书交换客户端配置。 证书无效的 NTLS 日志记录示例:
NTLS[8508]: info : 0 : Incoming connection request... : 192.168.50.2/59415 NTLS[8508]: Error message from SSLAccept is : error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca NTLS[8508]: Error during SSL accept ( RC_SSL_ERROR ) NTLS[8508]: info : 0xc0000711 : Fail to establish a secure channel with client : 192.168.50.2/59415 : RC_SSL_FAILED_HANDSHAKE NTLS[8508]: info : 0 : NTLS Client "Unknown host name" Connection instance removed : 192.168.50.2/59415
通过 Luna 客户端安装与 HSM 通信至少需要 TCP 端口 1792。 当环境中的任何网络配置变化时,请考虑这一点。
如果某个发生故障的 HA 组成员无法恢复,则必须使用 hagroup recover 命令以手动方式从 Luna 客户端恢复它。 若要启用自动恢复,需要配置 HA 组的重试计数。 默认情况下,HA 组在恢复时不会尝试将 HA 成员恢复到组中。
如果成员分区没有相同的克隆域,则 ha 同步命令会显示以下内容:“警告:同步可能失败”。 槽位 0 和槽位 1 中的成员的私钥克隆设置冲突。 应将具有正确克隆域的新分区添加到 HA 组,然后删除错误配置的分区。
仅当 HSM 的操作完全完成后,才能取消它的预配,然后 Microsoft 会重置它并将它返回到可用池。
请勿直接删除专用 HSM 的资源组。 此操作不会删除 HSM 资源,你将继续付费,因为此操作将 HSM 置于孤立状态。 如果未遵循正确的程序,最终出现这种情况,请联系 Microsoft 支持部门。
步骤 1:对 HSM 进行归零。 除非 HSM 处于“已归零”状态,否则无法删除 HSM 的 Azure 资源。 因此,在尝试将其作为资源删除之前,必须先删除所有的密钥材料。 归零的最快速方式是让 HSM 管理员密码错误 3 次(注意:这是指 HSM 管理员,而不是设备级别管理员)。 使用命令“hsm login”并输入错误密码 3 次。 Luna shell 确实有一个 hsm -factoryreset 命令可以将 HSM 归零,但它只能通过串行端口上的控制台执行,并且客户无权访问它。
步骤 2:HSM 归零后,可以使用以下任一命令来启动“删除专用 HSM”资源
Azure CLI:az dedicated-hsm delete --resource-group <RG 名称> –-name <HSM 名称>
Azure PowerShell:Remove-AzDedicatedHsm -Name <HSM 名称> -ResourceGroupName <RG 名称>
步骤 3:步骤 2 成功后,可使用 Azure CLI 或 Azure PowerShell 删除资源组,以删除与专用 HSM 关联的其他资源。
Azure CLI:az group delete --name <RG 名称>
Azure PowerShell:Remove-AzResourceGroup -Name <RG 名称>
本文阐述了 HSM 部署生命周期中涉及的各个领域,这些领域可能存在问题、需要进行故障排除或需要仔细考虑。 但愿这篇文章能够让你消除不必要的延迟和困扰。如果你有相关的添加或更改内容,请向 Microsoft 提交支持请求,让我们知道。
培训
认证
Microsoft Certified: Windows Server Hybrid Administrator Associate - Certifications
Windows Server 混合管理员负责将 Windows Server 环境与 Azure 服务集成,以及在本地网络中管理 Windows Server。