对于 Horizon Cloud Service - next-gen,本页介绍了将 True SSO 功能与 Microsoft Azure 中的 Horizon Edge 结合使用所需的元素。

您可能已熟悉了如何在以前的 Horizon 部署(例如,Horizon 8 内部部署或第一代 Horizon Cloud on Microsoft Azure 部署)中使用 True SSO。

对于 Horizon Cloud Service - next-gen 环境,要使用 True SSO 功能为最终用户提供对其桌面和应用程序的单点登录 (SSO) 访问,所需的元素是 Microsoft 企业证书颁发机构以及在该 Microsoft 企业证书颁发机构中专门配置的证书模板。

Microsoft 企业证书颁发机构

使用 True SSO 需要 Microsoft 企业证书颁发机构。

术语 Microsoft Enterprise Certificate Authority 是指在企业模式下运行的 Microsoft 证书颁发机构 (Microsoft CA)。由于 True SSO 需要企业配置,因此 True SSO 文档使用 Microsoft Enterprise Certificate Authority 短语。

提示: 在生产环境中,最佳做法是至少具有两 (2) 个此类证书颁发机构来提供冗余和负载均衡。

如果尚未设置证书颁发机构,则必须将 Active Directory 证书服务 (AD CS) 角色添加到 Microsoft Windows Server,并将其配置为企业 CA。

在 Microsoft 配置 Microsoft 企业证书颁发机构的过程中,您需要安装 Active Directory 证书服务 (AD CS) 角色。在 AD CS 设置过程中,您可以选择将 CA 作为企业 CA 或独立 CA 运行。

使用 Horizon Cloud 设置 True SSO 所需的证书模板

指定以下设置,包括 True SSO 模板的Windows Server签名证书的最小密钥大小。对于Windows Server签名证书,所需的最小密钥大小为 2048。如果指定小于 2048 的最小密钥大小,则会导致身份验证失败。

对于 True SSO 模板,请在加密选项卡上指定以下设置。

  1. 对于提供程序类别,选择密钥存储提供程序
  2. 对于算法名称,选择 RSA
  3. 对于最小密钥大小,指定 2048
  4. 对于选择哪些加密提供程序可以用于请求,选择请求可以使用该使用者的计算机上可用的任何提供程序
  5. 对于请求哈希,指定 SHA384
  6. 单击保存

下面显示了部分屏幕截图,其中显示了 2048 最小密钥大小值。

在“加密”选项卡上显示最小密钥大小 2048,如文本中所述。

启用非永久证书处理

对于 True SSO 使用的每个 Microsoft 企业证书颁发机构,最佳做法是启用非持久证书处理。

如果未在 Microsoft 企业证书颁发机构上启用非持久证书处理,则 True SSO 证书仍存储在企业 CA 的数据库中,从而导致:

  • 企业 CA 的数据库不必要地快速增长。True SSO 为每个新连接请求一个新证书。
  • 影响性能,因为企业 CA 将随着其数据库的增长而耗尽磁盘空间。

VMware 知识库文章 2149312 中所述,为避免出现上述问题,建议启用 DBFLAGS_ENABLEVOLATILEREQUESTS 设置。有关具体步骤,请参阅该知识库文章。

注: 除了介绍启用 DBFLAGS_ENABLEVOLATILEREQUESTS 的建议外,该知识库文章还介绍了另一个设置 ( CRLF_REVCHECK_IGNORE_OFFLINE) 的用法。是否启用 CRLF_REVCHECK_IGNORE_OFFLINE 设置取决于您的 PKI 架构。对于 True SSO 和 Horizon Cloud,启用 CRLF_REVCHECK_IGNORE_OFFLINE 设置并不是严格或硬性要求。

True SSOHorizon Cloud 设置所需的证书模板

True SSO 功能需要在您提供的用于 True SSO 和 Horizon EdgeMicrosoft 企业证书颁发机构上配置证书模板。

证书模板是 Microsoft 企业证书颁发机构生成的用于 True SSO 的证书的基础。

注册服务帐户需要对 TrueSsoEnrollmentAgentTrueSso 这两个模板具有读取注册权限。

前提条件

注: 以下步骤使用运行 Microsoft Windows Server 2016 Standard 操作系统的 Microsoft 企业证书颁发机构执行。这些步骤中的屏幕截图是从该系统获取的。因此,这些步骤中提到的标签和屏幕截图都反映了该操作系统。如果您的 Microsoft 企业证书颁发机构运行的是不同操作系统版本的 Windows Server,则与下面的标签和屏幕截图相比,您可能会看到系统中存在细微差异。

过程

  1. 在 Active Directory 中创建新的通用安全组。
    创建此组允许您创建单个安全组,以便您能够向该组分配代表用户颁发证书所需的权限。然后,所有注册服务帐户都可以通过成为该组的成员来继承这些所需权限。
    1. 从服务器管理器的工具菜单中或通过运行 dsa.msc 命令,打开“Active Directory 用户和计算机”工具。
    2. 在“Active Directory 用户和计算机”工具中,为 True SSO 所需的域注册帐户创建一个新组。
      为该组选择一个名称,例如 True SSO Enrollment Accounts。此外,还可以设置以下内容:
      设置
      组范围 通用
      组类型 安全
    3. 单击确定以保存该新组。
    4. 然后,将域注册帐户添加为该新组的成员。
      添加将用于使用 True SSO 的每个域注册服务帐户。

      这些帐户将与您使用 Horizon Universal Console 在“域注册”UI 流程中添加的帐户相同,如设置 Active Directory 域中所述。

  2. 使用“证书颁发机构”工具及其证书模板控制台配置 True SSO 注册代理证书模板。
    1. 打开“证书颁发机构”工具。
      打开此工具的一些方法包括使用服务器管理器的 工具菜单、使用 开始菜单的 Windows 管理工具,或者运行 certsrv.msc
    2. 在“证书颁发机构”工具的左侧树中,展开本地 CA 名称,直到看到“证书模板”文件夹。
    3. 右键单击“证书模板”文件夹并选择管理以打开证书模板控制台。
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      “证书颁发机构”工具中“证书模板”文件夹上的“管理”菜单的屏幕截图
      此时会显示证书模板控制台。
    4. 右键单击列出的注册代理模板,然后选择复制模板
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      “注册代理”上的右键单击菜单和“复制模板”菜单选项的屏幕截图
      此时会显示 新模板的属性窗口。
    5. 按照以下部分所述,在该窗口的选项卡中输入相关信息。
      注: 以下屏幕截图使用运行 Microsoft Windows Server 2016 Standard 操作系统的 Microsoft 企业证书颁发机构获取。如果您的 Microsoft 企业证书颁发机构运行的是不同操作系统版本的 Windows Server,则您可能会看到 Windows 系统的 UI 中存在细微差异。
      “常规”选项卡
      重要说明: 在 True SSO 模板名称中仅使用 ASCII 字符。由于该已知问题,如果 True SSO 模板名称包含非 ASCII 字符或高位 ASCII 字符,则无法在 Horizon Cloud 环境中成功配置 True SSO。
      模板显示名称
      键入一个指示此新模板用于 True SSO 注册代理的名称,例如 True SSO Enrollment Agent
      模板名称
      在您键入上述 模板显示名称时,该工具会自动在此处输入该名称,以匹配您为 模板显示名称输入的不含空格的内容。

      例如,如果您在模板显示名称中键入 True SSO Enrollment Agent,则该工具会自动将此模板名称设置为 TrueSsoEnrollmentAgent

      以下屏幕截图显示了将模板显示名称输入为 True SSO Enrollment Agent 后此选项卡的外观。


      为“模板显示名称”输入“True SSO Enrollment Agent”的“常规”选项卡的屏幕截图
      “安全”选项卡
      安全选项卡上,向您为 True SSO 注册帐户创建的新通用安全组授予 ReadEnroll 权限。
      1. 组或用户名部分中,添加您为 True SSO 注册帐户创建的组。
      2. 选择该组,然后在“权限”部分中,选中 ReadEnroll 权限对应的允许

      该屏幕截图显示了添加通用安全组并设置权限后的“安全”选项卡。
    6. 单击新模板的属性窗口中的确定,以保存新的 True SSO 注册代理模板。
    新的 True SSO 注册代理模板会在证书模板控制台中列出,显示的新模板使用您为其指定的 模板显示名称,并且显示的用途为证书请求代理。

    以下屏幕截图显示了列出的新模板。


    列表中新 True SSO 注册代理模板的屏幕截图,其中有一个绿色箭头指向该模板。
  3. 在同一证书模板控制台中,配置 True SSO 智能卡登录模板。
    1. 在证书模板控制台中,右键单击列出的智能卡登录模板,然后选择复制模板
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      该屏幕截图显示了“智能卡登录”模板上的菜单和“复制模板”选项。
      此时会显示 新模板的属性窗口。
    2. 按照以下部分所述,在该窗口的选项卡中输入相关信息。
      小心:

      请确保遵循以下要点,否则系统将阻止您设置所需的值,从而强制您取消并重新执行这些步骤。此要求属于 Windows 系统行为。

      • 在“属性”窗口中按照规定的特定顺序在以下项目符号中所述的三个选项卡上进行所需设置之前,切勿单击应用确定

        如果在该窗口中执行应用或保存之前,未能遵循此指导在以下所述的三个选项卡上配置相关设置,则 Windows 会强制将“加密”选项卡的提供程序类别设置为只读,且此后无法将该设置更改为 True SSO 所需的密钥存储提供程序设置。

        因此,在该窗口中执行应用或保存之前,必须确保严格按照下面给出的正确顺序在以下三个选项卡上完成相关配置。

      • 将以下选项卡作为最先配置的选项卡,并按以下特定顺序对其进行配置:
        1. 兼容性选项卡
        2. 常规选项卡
        3. 加密选项卡

      之所以按照此规定的顺序,是因为当您更改“兼容性”选项卡上的设置时,系统会在其他选项卡中动态提供相关选项。如果在更新“加密”选项卡之前在该窗口中执行应用或保存,您将无法设置 True SSO 所需的配置。因此,请确保先按照上面和下面列出的顺序在这些选项卡中配置相关设置,然后再在该窗口中执行应用或保存。

      “兼容性”选项卡
      注: 您必须在 兼容性选项卡中进行以下选择, 加密选项卡中的相应选项才会变得可用。
      • 选中显示产生的变化复选框。
      • 证书颁发机构 - 系统会显示 Microsoft Windows 为该设置提供的选项。要满足 True SSO 要求,请选择 Windows Server 2008 R2 选项或菜单中显示的更高版本之一。
      • 证书接收人 - 系统会显示 Microsoft Windows 为该设置提供的选项。要满足 True SSO 要求,请选择 Windows 7 / Server 2008 R2 选项或菜单中显示的更高版本之一。

      “兼容性”选项卡的屏幕截图。
      “常规”选项卡
      重要说明: 在 True SSO 模板名称中仅使用 ASCII 字符。由于该已知问题,如果 True SSO 模板名称包含非 ASCII 字符或高位 ASCII 字符,则无法在 Horizon Cloud 环境中成功配置 True SSO。
      模板显示名称
      键入一个指示此新模板用于 True SSO 的名称,例如 True SSO
      模板名称
      在您键入上述 模板显示名称时,该工具会自动在此处输入该名称,以匹配您为 模板显示名称输入的不含空格的内容。

      例如,如果您在模板显示名称中键入 True SSO,则该工具会自动将此模板名称设置为 TrueSSO

      有效期
      1 小时(一小时)
      续订期
      0 周(零周)

      以下屏幕截图显示了将模板显示名称输入为 True SSO 后此选项卡的外观。


      在“模板显示名称”字段中键入“True SSO”后“常规”选项卡的屏幕截图。
      “加密”选项卡
      • 提供程序类别 - 密钥存储提供程序
      • 算法名称 - RSA
      • 最小密钥大小 - 2048
      • 选中请求可以使用该使用者的计算机上可用的任何提供程序单选按钮
      • 请求哈希 - SHA384

      “加密”选项卡的屏幕截图
      “请求处理”选项卡
      • 用途 - 签名和智能卡登录
      • 选中对于智能卡证书的自动续订,如果无法创建新密钥,请使用现有密钥复选框
      • 选中注册时提示用户单选按钮。

      “请求处理”选项卡的屏幕截图
      “使用者名称”选项卡
      • 选中用 Active Directory 中的信息生成单选按钮。
      • 使用者名称格式 - 完全可分辨名称
      • 选中用户主体名称(UPN) 复选框。

      “使用者名称”选项卡的屏幕截图
      “服务器”选项卡
      选中 不在 CA 数据库中存储证书和请求复选框。
      重要说明: 请确保取消选中标记为 不在颁发的证书中包含吊销信息的第二个复选框。

      选中第一个复选框时,系统会自动选中不在颁发的证书中包含吊销信息

      请确保清除第二个复选框不在颁发的证书中包含吊销信息


      “服务器”选项卡的屏幕截图
      “发布要求”选项卡
      • 要注册,要求下列项目 - 选择授权签名的数量,然后输入 1
      • 签名中要求的策略类型 - 应用程序策略
      • 应用程序策略 - 证书申请代理
      • 要重新注册,要求下列项目 - 有效的现存证书

      “发布要求”选项卡的屏幕截图,其中的绿色箭头指向关键设置。
      “安全”选项卡
      安全选项卡上,向您为 True SSO 注册帐户创建的新通用安全组授予 ReadEnroll 权限。
      1. 组或用户名部分中,添加您为 True SSO 注册帐户创建的组。
      2. 选择该组,然后在“权限”部分中,选中 ReadEnroll 权限对应的允许

      该屏幕截图显示了添加通用安全组并设置权限后的“安全”选项卡。
    3. 单击新模板的属性窗口中的确定,以完成保存此新 True SSO 模板的过程。
    新的 True SSO 模板会在证书模板控制台中列出,显示的新模板使用您为其指定的 模板显示名称,并且显示的用途为客户端身份验证、智能卡登录。

    以下屏幕截图显示了列出的新模板。


    该屏幕截图显示了列表中显示的 True SSO 模板
  4. 现在,您可以关闭证书模板控制台并返回到“证书颁发机构”工具。
  5. 颁发用于 True SSO 的模板。
    1. 在“证书颁发机构”工具中,右键单击“证书模板”文件夹,然后选择新建 > 要颁发的证书模板
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      该屏幕截图显示了“要颁发的证书模板”菜单选项,其中的绿色箭头分别指向“证书模板”文件夹和“新建”菜单。
      此时会显示“启用证书模板”窗口。
    2. 选择在上述步骤中创建的 True SSO 模板,然后单击确定
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      “启用证书模板”窗口的屏幕截图,其中有一个绿色箭头指向列表中选定的 True SSO 模板。
    重要说明: 您必须对要用于 True SSO 功能的每个 Microsoft 企业证书颁发机构实例执行这些操作。
  6. 对 True SSO 注册代理模板重复相同的颁发步骤。
    1. 在“证书颁发机构”工具中,右键单击“证书模板”文件夹,然后选择新建 > 要颁发的证书模板

      该屏幕截图显示了“要颁发的证书模板”菜单选项,其中的绿色箭头分别指向“证书模板”文件夹和“新建”菜单。
      此时会显示“启用证书模板”窗口。
    2. 选择在上述步骤中创建的 True SSO Enrollment Agent 模板,然后单击确定
      以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。
      该屏幕截图显示了“启用证书模板”窗口,其中有一个绿色箭头指向列表中的 True SSO Enrollment Agent 模板。
      重要说明: 您必须对要用于 True SSO 的每个 Microsoft 企业证书颁发机构实例执行这些操作。
    Microsoft 企业证书颁发机构现已设置并配置了用于 True SSO 功能所需的证书模板。