在 Azure 密钥库 中使用本地标识部署 Azure 本地版本 23H2(预览版)

适用于:Azure 本地版本 23H2

本文介绍如何将本地标识用于 Azure 本地版本 23H2 部署的 Azure 密钥库。

重要

此功能目前处于预览状态。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

概述

以前称为无 AD 部署,将本地标识与密钥库结合使用的方法允许 Azure Local 安全地管理和存储机密,例如 BitLocker 密钥、节点密码和其他敏感信息,而无需依赖 AD。 通过将密钥库与基于证书的身份验证集成,可以增强安全态势并确保操作的连续性。

好处

将本地标识与 Azure 本地密钥库结合使用可提供多种优势,尤其是对于不依赖于 AD 的环境。 下面是一些主要优势:

  • 最小边缘基础结构。 对于不使用 AD 的环境,具有密钥库的本地标识提供了一种安全高效的方法来管理用户标识和机密。

  • 机密存储库。 密钥库安全地管理和存储机密,例如 BitLocker 密钥、节点密码和其他敏感信息。 这可降低未经授权的访问风险,并增强整体安全态势。

  • 维护简化的管理。 通过与密钥库集成,组织可以简化机密和凭据的管理。 这包括将部署和本地标识机密存储在单个保管库中,以便更轻松地管理和访问这些机密。

  • 简化的部署。 在通过Azure 门户进行系统部署期间,可以选择与密钥库集成的本地标识提供者。 此选项通过确保将所有必要的机密安全地存储在密钥库中来简化部署过程。 通过减少对现有 AD 系统或其他运行 AD 的系统(需要持续维护)的依赖项,部署变得更加高效。 此外,此方法简化了操作技术网络的防火墙配置,从而更轻松地管理和保护这些环境。

先决条件

在开始之前,请确保:

  • 使用 Azure 密钥库 预览版注册表单签署本地标识,以参与有限的公共预览版。 有关如何在参与预览版期间收集、使用和保护个人数据的详细信息,请查看 Microsoft隐私声明

  • 满足先决条件并完成部署清单。 跳过特定于 AD 的先决条件。

  • 在所有节点上创建具有相同凭据的本地用户帐户,并将其添加到本地管理员组,而不是使用内置管理员帐户。

  • 具有正确配置的区域的 DNS 服务器。 此设置对于网络正常运行至关重要。 请参阅 为 Azure 本地配置 DNS 服务器。

  • 下载 Azure 本地软件。 有关如何下载 Azure 本地软件的说明将提供给注册预览版的用户。

为 Azure 本地配置 DNS 服务器

按照以下步骤为 Azure 本地配置 DNS:

  1. 创建和配置 DNS 服务器。

    如果还没有 DNS 服务器,请设置 DNS 服务器。 这可以使用 Windows Server DNS 或其他 DNS 解决方案来完成。

  2. 创建 DNS 主机 A 记录。

    对于 Azure 本地实例中的每个节点,请创建 DNS 主机 A 记录。 此记录将节点的主机名映射到其 IP 地址,从而允许网络上的其他设备查找并与节点通信。

    此外,为系统本身创建 DNS 主机 A 记录。 此记录应使用为系统分配的网络范围中的第一个 IP 地址。

  3. 验证 DNS 记录。

    若要验证特定计算机的 DNS 记录是否已正确设置,请运行以下命令:

    nslookup "machine name"
    
  4. 设置 DNS 转发。

    在 DNS 服务器上配置 DNS 转发,以便根据需要将 DNS 查询转发到 Azure DNS 或其他外部 DNS 提供程序。

  5. 更新网络设置。

    更新 Azure 本地节点上的网络设置,以使用配置的 DNS 服务器。 这可以通过网络适配器设置或使用 PowerShell 命令来完成。

  6. 验证 DNS 配置。

    测试 DNS 配置,确保正确解析 DNS 查询。 可以使用类似或挖掘的工具 nslookup 来验证 DNS 解析。

  7. 在每个节点上设置注册表项。

    在每个节点上使用区域名称/FQDN 设置注册表项。 运行下面的命令:

    $zoneName = "replace.with.your.zone.name.here" 
    $RegistryPath = 'HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters' 
    Set-ItemProperty -Path $RegistryPath -Name 'Domain' -Value $zoneName
    
  8. 使用以下命令在本地和远程计算机上重启操作系统:

    Restart-Computer
    

通过门户使用本地标识和密钥库部署 Azure 本地

通过Azure 门户进行部署期间,可以选择与密钥库集成的本地标识提供者。 这样,可以使用具有密钥库的本地标识安全地管理和存储机密,而不是依赖 AD 进行身份验证。

常规部署步骤与使用 Azure 门户 部署 Azure 本地版本 23H2 系统中所述的步骤相同。 但是,将本地标识用于密钥库时,需要在“网络和管理”选项卡上执行特定步骤

“网络”选项卡

  1. 提供“为 Azure 本地配置 DNS”部分中配置的 DNS 服务器详细信息。

    “网络”选项卡的屏幕截图,其中显示了“DNS 服务器”字段。

“管理”选项卡

  1. 选择“使用 Azure 密钥库 的本地标识”选项。

  2. 若要创建新的密钥库,请选择“创建新密钥库。 在右上下文窗格中输入所需的详细信息,然后选择“ 创建”。

  3. Key Vault 名称中,输入新的密钥库名称。

    “创建密钥库”页的屏幕截图。

部署后步骤

部署系统后,确认部署为无 AD,并验证机密是否已备份到密钥库。

确认系统是否已部署且没有 Active Directory

部署系统后,确认部署没有 AD(AD-less)。

  1. 运行以下命令,确认节点未加入 AD 域。 如果输出显示 WORKGROUP,则节点未加入域。

    Get-WmiObject Win32_ComputerSystem.Domain
    

    下面是示例输出:

    [host]: PS C:\Users\LocalAdmin\Documents> (Get-WmiObject Win32_ComputerSystem).Domain 
    WORKGROUP
    
  2. 验证群集是否为没有 AD 的工作组群集功能。 运行以下命令并检查参数的值 ADAware

    Get-ClusterResource "Cluster Name" | Get-ClusterParameter ADAware 
    
    Object       Name    Value Type 
    
    ------       ----    ----- ---- 
    
    ClusterName  ADAware  2    UInt32 
    
    For ADAware property, 0 = None, 1 = AD, 2 = DNS (AD'less) only.
    

验证机密是否已备份到密钥库

BitLocker 密钥和恢复管理员密码安全地备份到 Azure,并轮换以确保最大安全性。

在 AD 不可用的情况下,可以利用专用恢复管理员用户还原系统。 为此,指定的用户名为 RecoveryAdmin。 可以从 Azure 密钥库安全地检索相应的密码,确保拥有有效执行系统恢复操作所需的凭据。

这可确保安全存储所有关键信息,并在需要时轻松检索,为基础结构提供额外的安全性和可靠性层。

“机密”页的屏幕截图。

Azure 本地更新密钥库

若要更新备份配置以使用新的密钥库,需要使用新的密钥库信息修补系统。

按照以下步骤更新系统的备份密钥库配置,以使用新的密钥库:

  1. 首先在Azure 门户中创建新的密钥库。 确保它配置为存储备份机密。

  2. 为新密钥库设置适当的访问控制。 这包括向节点标识授予必要的权限。 确保为密钥库分配密钥库“机密官”角色。 如需说明,请参阅使用 Azure 基于角色的访问控制提供对密钥保管库密钥、证书和机密的访问权限

    “添加角色分配”页的屏幕截图。

  3. 更新系统配置。

    使用 POST 请求使用新的密钥库详细信息更新群集配置。 这涉及到向以下 API 终结点发送请求:

    API Spec:
    API Version: 2024-07-01-preview
    API Path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSecretsLocations
    Payload:
    {
    "properties": {
        "secretsType": "BackupSecrets",
        "secretsLocation": "https://hcikeyvaulttestingnew.vault.azure.net/"
    }
    }
    
  4. 验证配置。 在Azure 门户中,打开系统资源,并验证资源 JSON 是否包含更新的密钥库详细信息。

    下面是资源 JSON 的示例屏幕截图,可在其中更新密钥库:

    可在其中更新密钥库的资源 JSON 的屏幕截图。

  5. 检查新密钥库中的机密。 确认所有备份机密都正确存储在新的密钥库中。

  6. 清理旧的密钥库。 旧密钥库及其机密不会自动删除。 验证新密钥库配置正确且所有机密都按预期存储后,可以根据需要删除旧密钥库。

恢复已删除密钥库并恢复备份

删除并随后恢复密钥库时,以前有权访问密钥库的托管标识通过以下方式受到影响:

  • 吊销托管标识访问。 在删除过程中,将撤销托管标识对密钥库的访问权限。 这意味着标识不再具有访问密钥库的授权。
  • 扩展操作失败。 负责管理机密备份的备份密钥保管库扩展依赖于托管标识进行访问。 撤销访问权限后,扩展无法执行备份操作。
  • Azure 门户中的扩展状态。 在Azure 门户中,扩展的状态显示为“失败”,指示由于丢失必要的权限,扩展无法备份机密。

若要解决和解决失败的扩展和还原正常备份操作的问题,请执行以下步骤:

  1. 重新分配托管标识访问权限。

    1. 确定需要访问密钥库的托管标识。
    2. 密钥库机密官员角色重新分配给托管标识。
  2. 验证扩展功能。

    1. 重新分配后,监视Azure 门户中的扩展状态,以确保其从“失败”更改为成功”。 这表示扩展已重新获得所需的权限,并且现在正常运行。
    2. 测试备份操作,确保正确备份机密,并且备份过程按预期运行。

后续步骤