FAS V2 票证和注册表地址列表

在 FAS 2511 之前,FAS 创建的是 V1(版本 1)格式的票证,这种票证以索引字节开头。VDA 需要确定是哪个 FAS 服务器颁发了票证。它通过使用索引字节,从其注册表中的 FAS 地址列表中查找 FAS 地址来完成此操作。

GPO 通常在 VDA 上配置 FAS 地址列表。在 Windows VDA 上,地址列表的注册表位置是 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\Addresses

VDA 上的地址列表必须与 StoreFront 上的地址列表完全匹配,否则单点登录将失败。此要求是客户配置错误的一个重要来源,尤其是对于具有复杂部署的客户而言。

FAS 2511 引入了 V2(版本 2)格式的票证。FAS 服务器的地址(即 FQDN 和端口)写入票证本身,因此 VDA 无需查询注册表地址列表。

兼容性

从 2511 版本开始,FAS 默认生成 V2 票证。V2 票证与所有 Windows 和 Linux VDA 版本兼容。

2511 版本之前的 VDA 继续查询注册表地址列表,使用上一节中描述的索引字节。

只有 2511 及更高版本的 Windows 和 Linux VDA 能够解析 V2 票证,因此不需要注册表地址列表。

V2 票证与任何版本的 StoreFront 兼容,并且不需要升级 StoreFront。

如果 V2 票证出现问题,可以使用以下 PowerShell 命令将 FAS 配置为生成 V1 票证:

Set-FasServer -Address localhost -TicketVersion 1
<!--NeedCopy-->

要恢复生成 V2 票证,请使用以下 PowerShell 命令:

Set-FasServer -Address localhost -TicketVersion 2
<!--NeedCopy-->

VDA 理解的 FAS 票证版本

只有 VDA 2511 及更高版本才能解析 V2 票证。以前的版本会将 V2 票证视为 V1 票证。

要确认 VDA 是否理解 V2 票证版本,请检查 FAS 服务器上的事件日志。

如果 FAS 和您的 VDA 是 2511 或更高版本,则在 VDA 启动期间,您必须看到类似于以下内容的事件日志条目。该事件位于 FAS 服务器上的 Windows 日志 > 应用程序日志中:

Level: Information

Source: Citrix.Authentication.FederatedAuthenticationService

EventId: 204

Text: [S204] Relying party [VDA machine name] accessing the Logon Provider for [User UPN] in role: [FAS Role] [Operation: XXXX] as authorized by [StoreFront machine name]. Caller ticket version: 2. [correlation: XXXX]
<!--NeedCopy-->

在此事件中,调用方票证版本为 2。这表明 VDA 无需配置注册表 FAS 地址列表。

相反,如果您的 VDA 不支持 V2 票证,则事件日志条目将显示调用方票证版本为 1

Level: Information
Source: Citrix.Authentication.FederatedAuthenticationService
EventId: 204
Text: [S204] Relying party [VDA machine name] accessing the Logon Provider for [User UPN] in role: [FAS Role] [Operation: XXXX] as authorized by [StoreFront machine name]. Caller ticket version: 1. [correlation: XXXX]
<!--NeedCopy-->

使用 StoreFront 配置 FAS V2 票证

可以使用任何版本的 StoreFront,因为 FAS 票证对 StoreFront 是不透明的,并且不需要特殊配置。

StoreFront 上 FAS 服务器地址的配置继续使用通过 GPO 提供的注册表地址列表。

使用 Citrix Cloud Workspace 配置 FAS V2 票证

当 FAS 连接到 Citrix Cloud 时,FAS 要求其地址存在于其自己的注册表地址列表中。此行为是为了支持 V1 票证。如果未找到,FAS 管理控制台将显示警告,并且 FAS 不为 Citrix Cloud Workspace 启动提供单点登录。

但是,如果您的整个部署都使用 V2 票证(即您的 FAS 服务器和 VDA 是 2511 或更高版本),则 FAS 服务器上不需要注册表地址列表。

您可以使用以下 PowerShell 命令来阻止连接到云的 FAS 要求注册表地址列表:

Set-FasCloudConfig -Address localhost -SkipGpoCheck $true
<!--NeedCopy-->

其他 PowerShell 更改

除了上述命令之外,FAS 2511 的 PowerShell 中还进行了以下更改。

显示 FAS 服务器的 FQDN 和端口

以下 PowerShell 命令现在返回 FAS 服务器的 FQDN 和侦听端口。这是编码到 V2 票证中的 FAS 地址信息。

Get-FasServer -Address localhost
<!--NeedCopy-->

cmdlet 的 Address 参数

在 2511 之前,FAS PowerShell 命令的任何 Address 参数(“localhost”除外)都会根据 FAS 服务器的注册表地址列表进行检查。要更改此行为,需要使用以下命令:

Set-FasAdministrationPolicy -CheckAddressAgainstGpo $false
<!--NeedCopy-->

从 2511 版本开始,FAS PowerShell 命令不再根据地址列表检查 Address 参数。要恢复到以前的行为,请运行以下 PowerShell 命令:

Set-FasAdministrationPolicy -CheckAddressAgainstGpo $true
<!--NeedCopy-->
FAS V2 票证和注册表地址列表