安装和配置
安装和设置过程
- 安装联合身份验证服务 (FAS)
- 在 StoreFront 应用商店中启用 FAS 插件
- 配置 Delivery Controller
- 配置组策略
- 使用 FAS 管理控制台执行以下操作:
安装联合身份验证服务
出于安全考虑,Citrix 建议将联合身份验证服务 (FAS) 安装在专用服务器上,并且此服务器应受到与域控制器或证书颁发机构类似的保护。可以通过以下方式之一安装 FAS:
- Citrix Virtual Apps and Desktops 安装程序(插入 ISO 时自动运行初始屏幕上的联合身份验证服务按钮),或
- 独立 FAS 安装程序文件(在 Citrix 下载站点上以 MSI 文件的形式提供)。
这将安装以下组件:
- 联合身份验证服务
- 用于对 FAS 进行高级配置的 PowerShell 管理单元 cmdlet
- FAS 管理控制台
- FAS 组策略模板 (CitrixFederatedAuthenticationService.admx/adml)
- 证书模板文件
- 性能计数器和事件日志
升级 FAS
您可以通过就地升级将 FAS 升级到更新的版本。升级之前,请注意以下事项:
- 执行原位升级时,将保留所有 FAS 服务器设置。
- 请务必在升级 FAS 之前关闭 FAS 管理控制台。
- 请确保至少一个 FAS 服务器始终可用。如果启用了联合身份验证服务的 StoreFront 服务器无法访问任何服务器,用户将无法登录或启动应用程序。
要启动升级,请使用 Citrix Virtual Apps and Desktops 安装程序或独立的 FAS 安装程序文件来安装 FAS。
在 StoreFront 应用商店中启用 FAS 插件
注意:
如果仅将 FAS 与 Citrix Cloud 搭配使用,则无需执行此步骤。
要在 StoreFront 店上启用 FAS 集成,请使用管理员帐户运行以下 PowerShell cmdlet。如果应用程序具有不同的名称,请修改 $StoreVirtualPath
。
Get-Module "Citrix.StoreFront.*" -ListAvailable | Import-Module
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "FASClaimsFactory"
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider "FASLogonDataProvider"
<!--NeedCopy-->
要停止使用 FAS,请使用以下 PowerShell 脚本:
Get-Module "Citrix.StoreFront.*" -ListAvailable | Import-Module
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
Set-STFClaimsFactoryNames -AuthenticationService $auth -ClaimsFactoryName "standardClaimsFactory"
Set-STFStoreLaunchOptions -StoreService $store -VdaLogonDataProvider ""
<!--NeedCopy-->
配置 Delivery Controller
注意:
如果仅将 FAS 与 Citrix Cloud 搭配使用,则无需执行此步骤。
要使用 FAS,请配置 Citrix Virtual Apps 或 Citrix Virtual Desktops Delivery Controller 以信任可与其连接的 StoreFront 服务器:运行 Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true PowerShell cmdlet。只需根据站点执行此操作,而不管站点中的 Delivery Controller 数量。
配置组策略
在安装 FAS 后,必须使用安装中提供的组策略模板指定组策略中 FAS 服务器的完整限定域名 (FQDN)。
重要:
确保请求票据的 StoreFront 服务器和找回票据的 Virtual Delivery Agent (VDA) 具有相同的 FQDN 配置,包括通过组策略对象应用的服务器自动编号。
为简单起见,以下示例在域级别配置单个策略以应用于所有计算机;但是,这并不是必需的。 只要 StoreFront 服务器、VDA 以及正在运行 FAS 管理控制台的计算机查看到相同的 FQDN 列表,FAS 即可正常工作。请参阅步骤 6。
步骤 1. 在安装了 FAS 的服务器上,找到 C:\Program Files\Citrix\Federated Authentication Service\PolicyDefinitions\CitrixFederatedAuthenticationService.admx 和 CitrixBase.admx 文件以及 en-US 文件夹。
步骤 2. 将这些内容复制到您的域控制器,并将其放置在 C:\Windows\PolicyDefinitions 和 en-US 子文件夹中。
步骤 3. 运行 Microsoft 管理控制台(在命令行中运行 mmc.exe)。从菜单栏中选择文件 > 添加/删除管理单元。 添加组策略管理编辑器。
当提示输入组策略对象时,选择浏览,然后选择默认域策略。 或者,也可以使用您选择的工具为环境创建并选择相应策略对象。 必须向运行相关 Citrix 软件(VDAs、 StoreFront 服务器、管理工具)的所有计算机应用策略。
步骤 4. 导航到位于“计算机配置/策略/管理模板/Citrix 组件/身份验证”下的联合身份验证服务策略。
注意:
向 PolicyDefinitions 文件夹添加 CitrixBase.admx/CitrixBase.adml 模板文件时,“联合身份验证服务”策略设置仅在域 GPO 中可用。执行步骤 3 后,“联合身份验证服务”策略设置将在“管理模板”>“Citrix 组件”>“身份验证”文件夹中列出。
步骤 5. 打开“联合身份验证服务”策略,并选择启用。这将允许您选择显示按钮,以配置 FAS 服务器的 FQDN。
步骤 6. 输入 FAS 服务器的 FQDN。
重要:
如果您输入多个 FQDN,则列表的顺序必须与在 VDA、StoreFront 服务器(如果有)和 FAS 服务器中显示的顺序一致。请参阅组策略设置。
步骤 7. 单击确定退出“组策略”向导并应用所执行的组策略更改。 您可能需要重新启动计算机(或在命令行中运行 gpupdate /force)以使更改生效。
会话内行为
此策略将在用户的 VDA 会话中激活代理进程,该会话支持会话内证书、同意使用证书以及在锁定时断开连接。会话中的证书仅在此策略已启用且用于创建相应证书的 FAS 规则允许在会话中使用证书时才可用,具体请参阅配置规则。
启用将启用此策略并允许 FAS 代理进程在用户的 VDA 会话中运行。
禁用将禁用该策略并阻止 FAS 代理进程运行。
提示作用域
如果此策略已启用,提示作用域可控制系统提示用户同意允许应用程序使用会话中证书的方式。 有三个选项:
- 不需要同意 — 此选项将禁用安全提示并静默使用私钥。
- 按进程同意 — 每个运行的程序将单独提示是否同意使用私钥。
- 按会话同意 — 用户单击确定后,此设置将应用于会话中的所有程序。
同意超时
如果启用此策略,则同意超时可控制同意操作持续的时长(以秒为单位)。例如,时长为 300 秒时,用户可以每隔五分钟看到一次提示。 值零表示在每次操作隐私时提示用户。
锁定时断开连接
如果启用此策略,则当用户锁定屏幕时,用户的会话将自动断开连接。此功能提供了类似于“移除智能卡时断开连接”策略的行为,并且对于用户没有 Active Directory 登录凭据的情况非常有用。
注意:
锁定时断开连接策略适用于 VDA 上的所有会话。
使用联合身份验证服务管理控制台
注意:
虽然 FAS 管理控制台适用于大部分部署,但是 PowerShell 界面提供了更多高级选项。有关 FAS PowerShell cmdlet 的信息,请参阅 PowerShell cmdlet。
FAS 管理控制台作为 FAS 的一部分安装。将在“开始”菜单中显示一个图标(Citrix 联合身份验证服务)。
首次使用管理控制台时,它会引导您完成部署证书模板、设置证书颁发机构以及授权 FAS 使用该证书颁发机构的过程。 也可以使用操作系统配置工具手动完成其中一些步骤。
默认情况下,FAS 管理控制台可连接到本地 FAS 服务。如果需要,您可以使用控制台右上角的连接到其他服务器连接到远程服务。
部署证书模板
为了避免发生与其他软件的互操作性问题,FAS 提供了三个 Citrix 证书模板以供其自己使用。
- Citrix_RegistrationAuthority_ManualAuthorization
- Citrix_RegistrationAuthority
- Citrix_SmartcardLogon
必须向 Active Directory 注册这些模板。单击部署按钮,然后单击确定。
可在随 FAS 安装的 XML 文件(具有 .certificatetemplate 扩展名 )中找到模板配置:
C:\Program Files\Citrix\Federated Authentication Service\CertificateTemplates
如果无权安装这些模板文件,请将其提供给您的 Active Directory 管理员。
要手动安装这些模板,可以从包含相应模板的文件夹中运行以下 PowerShell 命令:
$template = [System.IO.File]::ReadAllBytes("$Pwd\Citrix_SmartcardLogon.certificatetemplate")
$CertEnrol = New-Object -ComObject X509Enrollment.CX509EnrollmentPolicyWebService
$CertEnrol.InitializeImport($template)
$comtemplate = $CertEnrol.GetTemplates().ItemByIndex(0)
$writabletemplate = New-Object -ComObject X509Enrollment.CX509CertificateTemplateADWritable
$writabletemplate.Initialize($comtemplate)
$writabletemplate.Commit(1, $NULL)
<!--NeedCopy-->
设置 Active Directory 证书服务
安装 Citrix 证书模板后,必须在一个或多个 Microsoft 企业证书颁发机构服务器中发布它们。请参阅有关如何部署 Active Directory 证书服务的 Microsoft 文档。
如果未至少在一台服务器上发布模板,则使用设置证书颁发机构来发布它们。您必须以有权管理证书颁发机构的用户身份执行此操作。
(也可以使用 Microsoft 证书颁发机构控制台发布证书模板。)
授权联合身份验证服务
此步骤启动 FAS 的授权。 管理控制台将使用 Citrix_RegistrationAuthority_ManualAuthorization 模板生成一个证书请求,然后将其发送到用于发布该模板的证书颁发机构之一。
在发送请求后,该请求将显示在 Microsoft 证书颁发机构控制台的挂起的请求列表中,如同 FAS 计算机帐户中的挂起的请求。证书颁发机构管理员必须先颁发或拒绝该请求,然后才能继续配置 FAS。
FAS 管理控制台将显示不断“旋转圆圈”,直到管理员选择颁发或拒绝为止。
在 Microsoft 证书颁发机构控制台中,右键单击所有任务,然后选择颁发或拒绝证书请求。如果选择颁发,则 FAS 管理控制台将显示授权证书。如果选择拒绝,则控制台将显示错误消息。
FAS 管理控制台会自动检测此过程的完成时间。这可能需要几分钟的时间。
配置规则
FAS 将使用规则按 StoreFront 的指令来授权颁发用于在登录 VDA 时及会话中使用的证书。每个规则将指定受信任请求证书的 StoreFront 服务器、这些服务器可以请求的用户集,以及可使用它们的 VDA 计算机集。
FAS 至少需要创建和配置一个规则。我们建议创建名为“default”的规则,因为默认情况下,StoreFront 会在联系 FAS 时请求名称为“default”的规则。
可以创建其他自定义规则来引用不同的证书模板和颁发机构,并将其配置来具有不同的属性和权限。可以将这些规则配置为供不同 StoreFront 服务器或供 Workspace 使用。使用“组策略配置”选项来配置 StoreFront 服务器或按名称请求自定义规则。
单击创建(或“规则”选项卡上的创建规则)以启动规则创建向导,该向导将收集用于创建规则的信息。“规则”选项卡将显示每个规则的摘要信息。
向导会收集以下信息:
Template(模板):用于颁发用户证书的证书模板。这应是 Citrix_SmartcardLogon 模板,或其修改后的副本(请参阅证书模板)。
Certificate Authority(证书颁发机构):颁发用户证书的证书颁发机构。模板必须由证书颁发机构发布。FAS 支持添加多个证书颁发机构以用于故障转移和负载平衡。对于您选择的证书颁发机构,请确保状态显示“模板可用”。请参阅证书颁发机构管理。
In-Session Use(会话中使用):Allow in-session use(允许会话中使用)选项控制在登录到 VDA 后是否可以使用证书。
- 未选择允许会话中使用(默认,建议使用)— 证书将仅用于登录或重新连接,并且用户在进行身份验证后无权访问证书。
-
已选择允许会话中使用 — 用户在进行身份验证后有权访问证书。大部分客户不应选择此选项。从 VDA 会话中访问的资源(例如,Intranet Web 站点或文件共享)可以通过 Kerberos 单点登录进行访问,因此无需使用会话中证书。
如果选择 Allow in-session use(允许在会话中使用),则还必须启用 In-session Behavior(会话中行为)组策略并将其应用于相应 VDA。然后,在登录后将证书放置在用户的个人证书存储区中,以供应用程序使用。例如,如果您需要在 VDA 会话中对 Web 服务器执行 TLS 身份验证,则可通过 Internet Explorer 使用证书。
Access control(访问控制):被授权请求用于用户登录或重新连接过程的证书的可信 StoreFront 服务器计算机的列表。对于所有这些权限,您可以添加单独的 AD 对象或组。
重要:
Access control(访问控制)设置对于安全性至关重要,因此必须谨慎地加以管理。
注意:
如果仅将 FAS 服务器与 Citrix Cloud 搭配使用,则无需配置访问控制。当某个规则被 Citrix Cloud 使用时,将忽略 StoreFront 访问权限。您可以对 Citrix Cloud 和本地部署的 StoreFront 使用相同的规则。当该规则被本地 StoreFront 使用时,仍会应用 StoreFront 访问权限。
默认权限(已允许“断言身份”)将拒绝所有操作。因此,您必须明确地表示允许 Storefront 服务器执行的操作。
Restrictions(限制):可以记录用户使用 FAS 的 VDA 计算机的列表以及可以通过 FAS 颁发证书的用户列表。
-
管理 VDA 权限允许您指定哪些 VDA 可以使用 FAS 让用户进行登录。VDA 的列表将默认设置为域计算机。
-
管理用户权限允许您指定哪些用户可以使用 FAS 登录到 VDA。用户的列表将默认设置为域用户。
注意:
如果 FAS 服务器与 VDA 和用户的域不同,则必须修改默认限制。
云规则:指示从 Citrix Workspace 接收身份断言时是否应用规则。连接到 Citrix Cloud 时,可以选择要用于 Citrix Cloud 的规则。此外,在根据连接到 Citrix Cloud部分中的链接连接到 Citrix Cloud 后,您还可以更改该规则。
连接到 Citrix Cloud
可以使用 Citrix Workspace.将 FAS 服务器连接到 Citrix Cloud。请参阅这篇 Citrix Workspace 文章。
-
在“初始设置”选项卡中的连接到 Citrix Cloud下,单击连接。
-
(可选)选择要连接到的云。可以连接到“Citrix Cloud”(默认)、“Citrix Cloud Japan”或“Citrix Cloud US Government”。
-
单击登录,然后使用要连接到的云客户的管理凭据登录到 Citrix Cloud。
-
选择客户帐户(如果适用),然后选择要连接 FAS 服务器的资源位置。单击继续,然后关闭确认窗口。
- 在 FAS 管理控制台中,选择在从 Citrix Workspace 接收身份断言时要应用的规则,或在此向导完成时选择创建规则。(在“规则”选项卡中,您选择或创建的规则的云规则值为“是”。)
- 在“摘要”选项卡中,单击完成以完成 Citrix Cloud 连接。
Citrix Cloud 会注册 FAS 服务器,并将其显示在 Citrix Cloud 帐户的“资源位置”页面上。
从 Citrix Cloud 断开连接
从 Citrix Cloud 资源位置中删除 FAS 服务器(如这篇 Citrix Workspace 文章中所述)后,请在连接到 Citrix Cloud 中选择禁用。