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
要恢复生成 V2 票据,请使用此 PowerShell 命令:
Set-FasServer -Address localhost -TicketVersion 2
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]
在此事件中,调用方票证版本为 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]
使用 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
其他 PowerShell 更改
除了上面提到的命令之外,FAS 2511 的 PowerShell 中还进行了以下更改。
显示 FAS 服务器的 FQDN 和端口
以下 PowerShell 命令现在返回 FAS 服务器的 FQDN 和侦听端口。这是编码到 V2 票证中的 FAS 地址信息。
Get-FasServer -Address localhost
cmdlet 的地址参数
在 2511 之前,FAS PowerShell 命令的任何 Address 参数(“localhost”除外)都会对照 FAS 服务器的注册表地址列表进行检查。要更改此行为,需要使用以下命令:
Set-FasAdministrationPolicy -CheckAddressAgainstGpo $false
从 2511 开始,FAS PowerShell 命令不会对照地址列表检查 Address 参数。要恢复到以前的行为,请运行以下 PowerShell 命令:
Set-FasAdministrationPolicy -CheckAddressAgainstGpo $true