条件身份验证
条件身份验证是一项新的安全功能,有助于进一步增强您的零信任框架。条件身份验证允许 Citrix Cloud™ 管理员根据您设置的策略条件,在商店登录流程中将最终用户定向到不同的 IdP。因此,不同的最终用户将根据管理员设定的风险因素拥有不同级别的访问验证。
在撰写本文时,支持五种不同的切换条件,这些条件将根据您定义的策略将最终用户定向到不同的 IdP 实例。

常见用例
- 兼并与收购,即大型母公司包含多个正在合并中的小型公司。
- 通过将第三方用户和承包商定向到专用的 IdP、OIDC 应用程序或 SAML 应用程序来授予他们商店访问权限,这与您组织内的全职员工通常被授权使用的不同。
- 拥有多个分支机构或部门且需要不同身份验证机制的大型组织。
先决条件
- 在 Citrix Cloud 身份和访问管理页面 中创建两个或更多身份提供程序
多 IdP
过去,只允许使用单一类型的身份实例。Citrix Cloud® 现在支持添加相同身份提供程序类型的多个实例。例如,现在可以在“身份和访问管理”选项卡下添加多个 EntraID IdP、Google IdP 或 Okta IdP 连接,每个连接都指向不同的 IdP 租户。

重要提示:
虽然 DaaS 和 SPA 目前支持多个 IdP,但某些服务仍在努力实现此功能,并将很快推出。
配置条件身份验证
-
单击“创建条件身份验证配置文件”。

-
输入配置文件的名称,然后单击“创建身份验证策略”。

-
根据需要选择要应用于策略的条件,然后单击“保存”。

-
导航到“StoreFront Cloud”,然后单击“身份验证”以选择您的身份提供程序或条件身份验证配置文件。

条件身份验证概念
条件身份验证配置文件
条件身份验证配置文件由多个条件身份验证策略组成,这些策略控制最终用户如何根据您定义的条件向商店进行身份验证。此配置文件允许策略优先级排序和重新排序,使您能够指定策略的评估顺序。
条件身份验证策略
条件身份验证策略是包含一个或多个条件的策略。这些条件在使用 AND 逻辑满足时,会将最终用户的登录过程引导至特定的目标 IdP 实例,例如 Okta OIDC、SAML 或 Gateway IDP 连接。可以克隆单个策略,以便根据需要进行修改和重命名。
每个条件身份验证策略都包含以下数据:
- 策略规则,它们是一个或多个必须满足的条件,以将最终用户定向到特定的 IdP 实例。例如,使用商店 URL 1 并且用户是 AD Group1 的成员。
-
策略结果 IdP,这是用户在登录过程中被定向到的目标 IdP 实例。例如,
store URL 1 is used AND user is a member of AD Group1 → EntraID SAML IDP Instance。 -
策略名称,这是一个管理员友好的名称,用于识别和描述策略。
例如,
store URL 1 AND Group1 - EntraID SAML。 - 策略优先级,它决定了策略的评估顺序。优先级按降序评估。例如:优先级 1 高于优先级 2。
条件身份验证预身份验证页面
根据您的商店配置方式以及条件身份验证配置文件中设置的条件,您的商店用户在登录过程中可能会遇到预身份验证页面。此页面对于捕获商店用户的用户名格式至关重要,这对于根据条件身份验证策略做出决策至关重要。它确保用户的登录流程被定向到适当的 IdP 实例。

登录自动填充
当需要预身份验证页面时,我们引入了登录自动填充功能,该功能会自动使用用户在预身份验证页面中输入的信息填充登录页面上的用户名字段。这消除了用户两次输入用户名的需要。
登录自动填充功能由管理员在条件身份验证配置文件设置中管理和配置,如下所示:
-
在条件身份验证配置文件页面中,单击管理设置。

-
单击编辑

-
选择您希望为其启用登录自动填充的 IdP。

重要提示:
登录自动填充功能仅适用于支持它的 IdP,并且默认情况下会为 AD 和 AD+TOTP 启用并强制执行(有关默认设置,请参见上面的屏幕截图)。
某些 IdP 需要特定的登录格式,有些则支持多种用户名格式。例如,Google Cloud Identity 要求用户使用其电子邮件地址 (
user.name@domain.com) 登录,这有时可能与其 UPN (username@domain.com) 不同。如果商店最终用户在预身份验证页面中输入了低级别登录名 (domain\username),则该低级别登录名将预填充到 IdP 登录页面的用户名字段中,并在用户尝试登录时导致错误。管理员在配置登录自动填充功能之前,应考虑最合适的 IdP 切换策略条件以及特定 IdP 在登录过程中期望接收的用户名格式。
用户名提示文本
当条件身份验证需要额外的 AD 域或 AD 组用户上下文来做出 IdP 切换决策时,登录流程中会向最终用户显示一个预身份验证页面。如果用户输入的用户名格式不正确或不符合任何已配置的 CA 策略,则将无法登录。可以自定义预身份验证对话框中显示的用户名提示文本,以向最终用户提供指导,使其以正确且预期的格式输入用户名。
重要提示:
请谨慎使用用户名提示文本功能,以避免泄露有关您的 Citrix 环境、AD 域和用户详细信息的敏感信息。建议使用通用用户名示例。
-
在条件身份验证配置文件页面中,单击管理设置。
-
在用户名提示文本上单击编辑。 ![用户名提示文本 UPN 示例]](/en-us/citrix-cloud/media/username-hint-text-upn-example.png)
-
设置您希望在条件身份验证登录流程期间显示在预身份验证对话框中的登录提示文本。

-
查看预览图像,了解登录提示文本将如何显示给您的最终用户。

上面显示的示例适用于基于 UPN 的不同 IdP 之间的切换。

-
单击保存。
策略条件类型
注意:
如果条件身份验证配置文件仅包含应用商店 URL 条件类型或网络位置名称条件类型的策略,则不会显示预身份验证页面,用户将直接重定向到 IdP。如果配置文件包含任何其他策略条件类型,则预身份验证页面将显示给最终用户。即使匹配策略是应用商店 URL 或网络位置名称类型,情况也是如此。
应用商店 URL
在 StoreFront Cloud > 访问中,每个应用商店 URL 都可以链接到不同的 IdP 实例。此外,多个应用商店 URL 可以与同一策略关联,将最终用户引导到同一 IdP 实例。

使用应用商店 URL 或自定义 URL 访问应用商店
最终用户可以根据他们在浏览器中输入的应用商店 URL 或自定义 URL,或者他们在 Citrix Workspace 应用程序中配置的应用商店,切换到不同的结果 IdP。

最终用户可以使用这些 URL 中的任何一个访问特定的条件身份验证策略结果 IdP 实例。Citrix Cloud 管理员必须向其最终用户提供正确的应用商店 URL。
https://workspaces1.cloud.com URL
或者,
https://workspaces1.mycompany.com 自定义 URL
通过使用下拉列表选择一对 URL 来配置条件身份验证策略。
- 以蓝色显示的应用商店 URL,例如
https://workspaces1.cloud.com - 以红色显示的自定义 URL,例如
https://workspaces1.mycompany.com
使用 URL 对配置条件身份验证策略:


重要提示:
未迁移的旧版自定义域不能用于通过条件身份验证访问应用商店。在向最终用户提供自定义 URL 之前,请先迁移这些旧版自定义 URL。如果您的条件身份验证策略解析为 SAML IdP 实例,则还需要考虑其他因素。
有关如何使用 SAML 和自定义 URL 配置条件身份验证的详细说明,请参阅使用自定义域通过 SAML 登录应用商店。
AD 用户组成员身份
AD 用户组成员身份允许您根据 Active Directory 用户的组成员身份,为特定用户组指定一个 IdP 实例。
UPN 后缀或域向下级别登录名是两个互斥的策略条件。 它们决定了最终用户必须在预身份验证页面中输入的所需用户名格式。您不能在同一策略中同时使用这两个条件。
支持直接 AD 组成员身份(推荐)和嵌套 AD 组成员身份。
要求:
- 仅支持通用 AD 组。
- Citrix Cloud 连接器已加入所需的 AD 林域,以检查用户是哪些 AD 组的成员。
- 对于 AD 组条件,当用户输入其 UPN 时,用户的 UPN 后缀决定了用于执行 AD 组成员身份查找的域上下文。
重要提示:
唯一的 UPN 后缀必须仅在一个已连接的 AD 林中定义。不支持在连接到同一 Citrix Cloud 租户的两个或更多 AD 林中出现的模糊 UPN 后缀。
UPN 后缀(/en-us/citrix-cloud/media/upn-suffix.png)
UPN 后缀
为一个或多个 UPN 后缀配置 IdP 实例,例如 username1@domain.com 或 username2@domain.net。
域向下兼容登录名
将 IdP 实例分配给一个或多个域名,例如 DOMAIN1\username1 或 DOMAIN1.COM\username1。
当选择两个互斥条件中的一个时,另一个条件的下拉菜单选项将被禁用,以防止其被添加到同一策略中。
策略规则(/en-us/citrix-cloud/media/policy-rules.png)
网络位置名称
根据客户端公共出站 IP 和网络位置名称分配 IdP 实例。
-
在“网络位置”下创建您的公共 IP 地址范围。
网络位置(/en-us/citrix-cloud/media/network-locations.png)
-
单击“添加网络位置”,输入名称和公共 IP 地址范围(CIDR 表示法)
NLS 简单(/en-us/citrix-cloud/media/nls-simple.png)
或者,当 Citrix Cloud 租户上启用了智能访问标记时

-
确认网络位置已正确添加。

-
在您的条件身份验证配置文件中,位置名称将预填充。选择所需的位置名称并分配目标 IdP。

重要提示:
任何未在网络位置站点中明确定义且未被网络位置名称策略引用的客户端出站 IP 都归类为“未定义”。
常见 NLS 用例/配置:
-
NLS 场景 1:阻止外部(未定义)IP 进行身份验证和访问商店。
策略 1:只有出站 IP 在 AllInternalIPs NLS 站点中定义的内部客户端才能使用 AD 登录商店。

-
NLS 场景 2:将所有“未定义”的出站 IP 定向到“包罗万象的 IdP 实例”,并增加额外的身份验证因素和/或提高安全性。使用“不匹配任何”和所有内部 NLS 站点的列表来定义一个“捕获所有未定义出站 IP”策略。
策略 1:只有出站 IP 在 AllInternalIPs NLS 站点中定义的内部客户端才能使用 AD 登录商店。
策略 2:任何未在 AllInternalIPs NLS 站点中定义的外部出站 IP 必须使用 TOTP 登录商店。

为条件身份验证配置文件设置自定义错误消息
可以配置用户友好的错误消息,当用户的输入与任何策略条件都不匹配时,这些消息将显示给商店最终用户。
-
在您的条件身份验证配置文件中,选择 管理设置。

-
编辑将显示给最终用户的默认错误消息。

使用 Citrix 监视器集成进行故障排除
如果用户的登录尝试因缺少匹配策略而失败,将显示一个错误页面,其中包含事务 ID。用户可以将此事务 ID 提供给其 Citrix Cloud 管理员以获得进一步帮助。

Citrix Cloud 管理员可以将商店最终用户提供的事务 ID 粘贴到 Citrix Monitor 中,以访问有关策略、输入的用户名以及关联的条件身份验证策略的详细信息。此信息有助于管理员更有效地排除和解决条件身份验证问题。
-
选择 监视器,然后单击右上角的搜索框。

-
从下拉列表中选择事务 ID。仅提供过去 3 天的事务。

-
查看最终用户的失败事务,以及已评估的条件身份验证策略的详细信息。您可以单击 V 形按钮来浏览所有已评估的策略,例如最终用户的 <Policy 1 of 3>。

云原生条件身份验证与基于 NetScaler 的自适应身份验证的比较
云原生条件身份验证功能旨在涵盖大多数条件身份验证用例。但是,对于更高级的身份验证功能,可以使用基于 NetScaler 的自适应身份验证。
要使用基于 NetScaler 的自适应身份验证,请通过 Citrix Cloud “身份和访问管理”页面 > “条件身份验证配置文件”部分提交请求。

已知问题和限制
- 将策略设置为负优先级未按预期运行。此问题将在未来的更新中解决。
- 当前,组条件仅支持 Active Directory。本机 Entra Id 组条件将在未来添加。