对于 Horizon Cloud,请确保您的部署具有将 True SSO 功能与 Horizon Edge 结合使用所需的元素。
您可能已经熟悉如何在先前的 Horizon 部署(例如,Horizon 8 内部部署)中使用 True SSO。
对于 Horizon Cloud 环境,要使用 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 模板,请在加密选项卡上指定以下设置。
- 对于提供程序类别,选择密钥存储提供程序。
- 对于算法名称,选择 RSA。
- 对于最小密钥大小,指定 2048。
- 对于选择哪些加密提供程序可以用于请求,选择请求可以使用该使用者的计算机上可用的任何提供程序。
- 对于请求哈希,指定 SHA384。
- 单击保存。
下面显示了部分屏幕截图,其中显示了 2048 最小密钥大小值。

启用非永久证书处理
对于 True SSO 使用的每个 Microsoft 企业证书颁发机构,最佳做法是启用非持久证书处理。
如果未在 Microsoft 企业证书颁发机构上启用非持久证书处理,则 True SSO 证书仍存储在企业 CA 的数据库中,从而导致:
- 企业 CA 的数据库不必要地快速增长。True SSO 为每个新连接请求一个新证书。
- 影响性能,因为企业 CA 将随着其数据库的增长而耗尽磁盘空间。
如知识库文章配置证书颁发机构以处理非永久证书并忽略吊销状态 - 2149312 中所述,为避免出现上述问题,请启用 DBFLAGS_ENABLEVOLATILEREQUESTS 设置。有关详细信息,请参阅该知识库文章。
**注意:**除了介绍启用 DBFLAGS_ENABLEVOLATILEREQUESTS 的建议外,该知识库文章还介绍了另一个设置 (CRLF_REVCHECK_IGNORE_OFFLINE) 的用法。是否启用 CRLF_REVCHECK_IGNORE_OFFLINE 设置取决于您的 PKI 架构。对于 True SSO 和 Horizon Cloud,启用 CRLF_REVCHECK_IGNORE_OFFLINE 设置并不是严格或硬性要求。
设置所需的证书模板以在 Horizon Cloud 中使用 True SSO
True SSO 功能需要在您提供的用于 True SSO 和 Horizon Edge 的 Microsoft 企业证书颁发机构上配置证书模板。
证书模板是 Microsoft 企业证书颁发机构生成的用于 True SSO 的证书的基础。
注册服务帐户需要对 TrueSsoEnrollmentAgent 和 TrueSso 这两个模板具有 Read 和 Enroll 权限。
必备条件
-
确认您具有 True SSO 功能所需的 Microsoft 企业证书颁发机构 (AD CS) 实例,如用于将 SSO 与 Horizon Edge 结合使用的受支持证书颁发机构类型中所述。
-
配置防火墙,以允许部署的 Horizon Edge 通过所需的协议和端口组合与证书颁发机构实例通信,如您的容量类型的端口和协议要求中所述。
- 在 Microsoft Azure 中部署 Horizon Cloud 的端口和协议要求
- 在 Amazon WorkSpaces Core 中部署 Horizon Cloud 的端口和协议要求
- 部署 vSphere Edge 的端口和协议要求
通信将使用实例的 Active Directory 证书服务 (AD CS)。所需的协议为 RPC/TCP(通过 TPC 的 RPC)。第一个端口为端口 135,第二个端口在 49152 到 65535 范围内。
-
为获得对防火墙更加友好的配置,您可以将 Microsoft 企业证书颁发机构 (AD CS) 实例配置为使用静态 DCOM 端口,并将防火墙配置为允许端口 135 和所选的静态 DCOM 端口,同时在所有实例上将该静态端口配置为相同的端口。Microsoft TechNet 如何为 AD CS 配置静态 DCOM 端口中对此配置进行了介绍。
**注意:**以下步骤使用运行 Microsoft Windows Server 2016 Standard 操作系统的 Microsoft 企业证书颁发机构执行。这些步骤中的屏幕截图是从该系统获取的。因此,这些步骤中提到的标签和屏幕截图都反映了该操作系统。如果您的 Microsoft 企业证书颁发机构运行的是不同操作系统版本的 Windows Server,则与下面的标签和屏幕截图相比,您可能会看到系统中存在细微差异。
步骤
-
在 Active Directory 中创建新的通用安全组。
创建此组允许您创建单个安全组,以便您能够向该组分配代表用户颁发证书所需的权限。然后,所有注册服务帐户都可以通过成为该组的成员来继承这些所需权限。
-
从服务器管理器的工具菜单中或通过运行
dsa.msc命令,打开“Active Directory 用户和计算机”工具。 -
在“Active Directory 用户和计算机”工具中,为 True SSO 所需的域注册帐户创建一个新组。
为该组选择一个名称,例如
True SSO Enrollment Accounts。此外,还可以设置以下内容:设置 值 组范围 通用 组类型 安全 -
单击确定以保存该新组。
-
然后,将域注册帐户添加为该新组的成员。
添加将用于使用 True SSO 的每个域注册服务帐户。
这些帐户将与您使用 Horizon Universal Console 在“域注册”UI 流程中添加的帐户相同,如设置 Active Directory 域中所述。
-
-
使用“证书颁发机构”工具及其证书模板控制台配置 True SSO 注册代理证书模板。
-
打开“证书颁发机构”工具。
打开此工具的一些方法包括使用服务器管理器的工具菜单、使用开始菜单的 Windows 管理工具,或者运行
certsrv.msc。 -
在“证书颁发机构”工具的左侧树中,展开本地 CA 名称,直到看到“证书模板”文件夹。
-
右键单击“证书模板”文件夹并选择管理以打开证书模板控制台。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

此时会显示证书模板控制台。
-
右键单击列出的注册代理模板,然后选择复制模板。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

此时会显示新模板的属性窗口。
-
按照以下部分所述,在该窗口的选项卡中输入相关信息。
**注意:**以下屏幕截图使用运行 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 注册帐户创建的新通用安全组授予
Read和Enroll权限。- 在组或用户名部分中,添加您为 True SSO 注册帐户创建的组。
- 选择该组,然后在“权限”部分中,选中
Read和Enroll权限对应的允许。

-
-
单击新模板的属性窗口中的确定,以保存新的 True SSO 注册代理模板。
新的 True SSO 注册代理模板会在证书模板控制台中列出,显示的新模板使用您为其指定的模板显示名称,并且显示的用途为证书请求代理。
以下屏幕截图显示了列出的新模板。

-
-
在同一证书模板控制台中,配置 True SSO 智能卡登录模板。
-
在证书模板控制台中,右键单击列出的智能卡登录模板,然后选择复制模板。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

此时会显示新模板的属性窗口。
-
按照以下部分所述,在该窗口的选项卡中输入相关信息。
提醒:
请确保遵循以下要点,否则系统将阻止您设置所需的值,从而强制您取消并重新执行这些步骤。此要求属于 Windows 系统行为。
-
在“属性”窗口中按照规定的特定顺序在以下项目符号中所述的三个选项卡上进行所需设置之前,切勿单击应用和确定。
如果在该窗口中执行应用或保存之前,未能遵循此指导在以下所述的三个选项卡上配置相关设置,则 Windows 会强制将“加密”选项卡的提供程序类别设置为只读,且此后无法将该设置更改为 True SSO 所需的密钥存储提供程序设置。
因此,在该窗口中执行应用或保存之前,必须确保严格按照下面给出的正确顺序在以下三个选项卡上完成相关配置。
-
将以下选项卡作为最先配置的选项卡,并按以下特定顺序对其进行配置:
- “兼容性”选项卡
- “常规”选项卡
- “加密”选项卡 之所以按照此规定的顺序,是因为当您更改“兼容性”选项卡上的设置时,系统会在其他选项卡中动态提供相关选项。如果在更新“加密”选项卡之前在该窗口中执行应用或保存,您将无法设置 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后此选项卡的外观。
-
-
“加密”选项卡
- 提供程序类别 - 密钥存储提供程序
- 算法名称 - RSA
- 最小密钥大小 - 2048
- 选中请求可以使用该使用者的计算机上可用的任何提供程序单选按钮
- 请求哈希 - SHA384

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

-
“使用者名称”选项卡
- 选中用 Active Directory 中的信息生成单选按钮。
- 使用者名称格式 - 完全标识名
- 选中用户主体名称 (UPN) 复选框。

-
“服务器”选项卡
选中不在 CA 数据库中存储证书和请求复选框。
重要信息:请确保取消选中标记为不在颁发的证书中包含吊销信息的第二个复选框。
选中第一个复选框时,系统会自动选中不在颁发的证书中包含吊销信息。
请确保清除第二个复选框不在颁发的证书中包含吊销信息。

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

- 要注册,需要下列项目 - 选择授权签名的数量,然后输入
-
“安全”选项卡
在安全选项卡上,向您为 True SSO 注册帐户创建的新通用安全组授予
Read和Enroll权限。- 在组或用户名部分中,添加您为 True SSO 注册帐户创建的组。
- 选择该组,然后在“权限”部分中,选中
Read和Enroll权限对应的允许。

-
-
单击新模板的属性窗口中的确定,以完成保存此新 True SSO 模板的过程。
新的 True SSO 模板会在证书模板控制台中列出,显示的新模板使用您为其指定的模板显示名称,并且显示的用途为客户端身份验证、智能卡登录。
以下屏幕截图显示了列出的新模板。

-
-
现在,您可以关闭证书模板控制台并返回到“证书颁发机构”工具。
-
颁发用于 True SSO 的模板。
-
在“证书颁发机构”工具中,右键单击“证书模板”文件夹,然后选择新建 > 要颁发的证书模板。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

此时会显示“启用证书模板”窗口。
-
选择在上述步骤中创建的 True SSO 模板,然后单击确定。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

**注意:**您必须对要用于 True SSO 功能的每个 Microsoft 企业证书颁发机构实例执行这些操作。
-
-
对 True SSO 注册代理模板重复相同的颁发步骤。
-
在“证书颁发机构”工具中,右键单击“证书模板”文件夹,然后选择新建 > 要颁发的证书模板。

此时会显示“启用证书模板”窗口。
-
选择在上述步骤中创建的 True SSO 注册代理模板,然后单击确定。
以下屏幕截图显示了在运行 Window Server 2016 的系统中的这一步骤。

**注意:**您必须对要用于 True SSO 的每个 Microsoft 企业证书颁发机构实例执行这些操作。
Microsoft 企业证书颁发机构现已设置并配置了用于 True SSO 功能所需的证书模板。
-
此页面对您有帮助吗?