Citrix Cloud™

使用 Entra ID 的 SAML,用于访客和 B2B 身份进行商店身份验证

在阅读本文之前,您必须了解 B2B SAML 是否适合您的身份验证用例。在决定实施此特定特殊情况的 SAML 解决方案之前,请仔细阅读用例描述和常见问题解答。在继续之前,请确保您完全理解 B2B SAML 适用的场景以及您需要使用的身份类型。

先决条件

  • 专门配置用于 B2B SAML 的 SAML 应用程序,该应用程序仅在 SAML 断言中发送 cip_upn 进行身份验证。
  • SAML 提供程序中的前端用户。
  • 一个资源位置,其中包含一对 Citrix Cloud™ 连接器,这些连接器已加入创建 AD 影子帐户的 AD 林和域。
  • 使用隐式 UPN 或向创建 AD 影子帐户的后端 AD 林添加备用 UPN 后缀。
  • 具有匹配 UPN 的后端 AD 影子帐户。
  • 映射到 AD 影子帐户用户的 DaaS 或 CVAD 资源。
  • 一个或多个链接到同一资源位置的 FAS 服务器。

常见问题

我为什么要使用 B2B SAML?

大型组织邀请承包商和临时员工加入其身份平台非常常见。目标是使用用户现有身份(例如承包商电子邮件地址或组织外部的电子邮件地址)授予承包商对商店的临时访问权限。B2B SAML 允许使用在发布 DaaS 资源的 AD 域中不存在的本机或访客前端身份。

什么是 B2B SAML?

AD 属性 SAML 断言中的默认属性名称
userPrincipalName cip_upn
邮件 cip_email
objectSID cip_sid
objectGUID cip_oid

身份验证所需的其他三个 AD 用户属性 objectSID、objectGUID 和 mail 是通过连接到存在 AD 影子帐户的 AD 域的 Citrix Cloud 连接器获取的。在 Store 或 Citrix Cloud 的 SAML 登录流程中,它们不再需要包含在 SAML 断言中。

AD 属性 SAML 断言中的默认属性名称
userPrincipalName cip_upn

重要提示:

仍然需要为所有 SAML 流(包括 B2B SAML)发送 displayName。商店 UI 需要 displayName 才能正确显示商店用户的全名。

什么是原生 SAML 用户身份?

原生 SAML 用户是一种仅存在于您的 SAML 提供程序目录(例如 Entra ID 或 Okta)中的用户身份。这些身份不包含本地用户属性,因为它们不是通过 AD 同步工具(如 Entra ID Connect)创建的。它们需要匹配的 AD 后端影子帐户才能枚举和启动 DaaS 资源,原生 SAML 用户必须映射到 Active Directory 中的相应帐户。

原生示例

本地原生示例

从其他 Entra ID 租户导入的 B2B 用户是什么?

B2B 用户是 Entra ID 用户,它作为成员存在于 Entra ID 租户 1 中,并被邀请到其他 Entra ID 租户(例如 Entra ID 租户 2)作为访客用户。B2B SAML 应用程序在 Entra ID 租户 2 中配置,并作为 SAML IdP 连接到 Citrix Cloud。B2B 用户需要匹配的 AD 后端影子帐户才能枚举和启动 DaaS 资源。B2B 用户必须映射到 Active Directory 中的相应影子帐户。

有关 B2B 用户的详细信息以及如何将其他 Entra ID 租户的成员用户邀请到您的 Entra ID 租户作为访客用户,请参阅 Microsoft 文档。

概述:与外部访客进行 B2B 协作以实现您的员工队伍 Microsoft Entra B2B 协作用户的属性

什么是 AD 支持的 SAML 用户身份?

AD 支持的 SAML 用户是一种用户身份,它存在于您的 SAML 提供程序目录(如 Entra ID 或 Okta)中,也存在于您的本地 AD 林中。这些身份包含本地用户属性,因为它们是通过 AD 同步工具(如 Entra ID Connect)创建的。这些用户不需要 AD 后端影子帐户,因为它们包含本地 SID 和 OID,因此可以枚举和启动使用 AD 域加入的 VDA 发布的 DaaS 资源。

AD 支持的 SAML

AD 支持的 SAML 用户身份

什么是前端身份?

前端身份是用于登录 SAML 提供程序和商店的身份。前端身份具有不同的用户属性,具体取决于它们在 SAML 提供程序中创建的方式。

  1. 原生 SAML 用户身份
  2. AD 支持的 SAML 用户身份

您的 SAML 提供商可能混合了这两种类型的身份。例如,如果您的身份平台中同时包含承包商和正式员工,则 B2B SAML 将适用于这两种前端身份,但仅当您拥有某些属于原生 SAML 用户身份类型的帐户时才强制要求。

前端身份

什么是后端 AD 影子帐户?

后端 AD 影子帐户是 DaaS 使用的 AD 帐户,该帐户映射到 SAML 提供商中的相应前端身份。

为什么需要后端 AD 影子帐户?

为了枚举使用已加入 AD 域的 VDA 发布的 DaaS 或 CVAD 资源,需要 VDA 所加入的 Active Directory 林中的 AD 帐户。将 DaaS 交付组中的资源映射到影子帐户用户,以及映射到您将 VDA 加入的 AD 域中包含影子帐户的 AD 组。

重要提示:

只有没有 AD 域属性的原生 SAML 用户才需要匹配的 AD 影子帐户。如果您的前端身份是从 Active Directory 导入的,则无需使用 B2B SAML,也无需创建后端 AD 影子帐户。

如何将前端身份链接到相应的后端 AD 影子帐户?

链接前端身份和后端身份的方法是使用匹配的 UPN。这两个链接的身份应具有相同的 UPN,以便 Store 能够识别它们代表需要登录 Store 并枚举和启动 DaaS 资源的同一最终用户。

重要提示

单个前端身份只能映射到单个 AD 林/域中的单个后端身份。DaaS 资源的枚举将仅使用从正确的 Citrix Cloud 连接器执行的 AD 影子帐户查找中获取的一个 SID 值。您不能使用与具有相同 UPN 后缀的多个 AD 影子帐户匹配的单个前端用户创建一对多关系。后端 AD 影子帐户应仅存在于单个 AD 林/域中。

支持使用前端和后端身份之间明确的 UPN 匹配 前端用户 (user@yourforest.com) > AD 林 1 中的后端用户 (UPN user@yourforest.com)

不支持,因为尝试将一个前端身份与一个后端身份匹配时存在 UPN 歧义 前端用户 (user@yourforest1.com) > AD 林 1 中的后端用户 (UPN user@yourforest1.com) > AD 林 2 中的后端用户 (UPN user@yourforest1.com)

B2B SAML 是否需要 Citrix FAS?

是的。当使用任何联合身份验证方法登录到应用商店时,在启动期间,FAS 是 VDA 单点登录 (SSON) 所必需的。

什么是“SID 不匹配问题”以及何时会发生?

“SID 不匹配问题”的发生是由于 SAML 断言中包含的前端用户 SID 与 AD 影子帐户用户的 SID 不匹配。当登录到 SAML 提供程序的帐户具有本地 SID,且该 SID 与影子帐户用户的 SID 不同时,可能会发生这种情况。这仅在前端身份由 AD 同步工具(如 Entra ID Connect)预配,并且来自与创建影子帐户的 AD 林不同的 AD 林时才会发生。

B2B SAML 可防止“SID 不匹配问题”的发生。影子帐户用户的正确 SID 始终通过连接到后端 AD 域的 Citrix Cloud 连接器获取。影子帐户用户查找是使用前端用户的 UPN 执行的,然后将其与相应的后端影子帐户用户匹配。

SID 不匹配问题示例: 前端用户由 Entra ID Connect 创建,并从 AD 林 1 同步。 S-1-5-21-000000000-0000000000-0000000001-0001

后端影子帐户用户AD 林 2 中创建并映射到 DaaS 资源 S-1-5-21-000000000-0000000000-0000000002-0002

SAML 断言包含所有四个 cip_* 属性,并且 cip_sid 包含值 S-1-5-21-000000000-0000000000-0000000001-0001,该值与影子帐户的 SID 不匹配并触发错误。

在 Entra ID 中为外部来宾帐户配置 B2B SAML 应用程序

  1. 登录 Azure 门户。
  2. 在门户菜单中,选择 Entra ID
  3. 在左侧窗格的“管理”下,选择“企业应用程序”。
  4. 选择“创建自己的应用程序”。
  5. 为 SAML 应用程序输入一个合适的名称,例如 Citrix Cloud SAML SSO Production B2B SAML UPN Only

    创建您自己的应用程序(/en-us/citrix-cloud/media/create-your-own-application.png)

  6. 在左侧导航窗格中,选择 单一登录,然后从工作窗格中,单击 SAML
  7. 基本 SAML 配置 部分中,单击 编辑 并配置以下设置:
    1. 标识符 (实体 ID) 部分中,选择 添加标识符,然后输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧洲、美国和亚太南部地区,输入 https://saml.cloud.com
      • 对于日本地区,输入 https://saml.citrixcloud.jp
      • 对于 Citrix Cloud Government 地区,输入 https://saml.cloud.us
    2. 回复 URL (断言消费者服务 URL) 部分中,选择 添加回复 URL,然后输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧洲、美国和亚太南部地区,输入 https://saml.cloud.com/saml/acs
      • 对于日本地区,输入 https://saml.citrixcloud.jp/saml/acs
      • 对于 Citrix Cloud Government 地区,输入 https://saml.cloud.us/saml/acs
    3. 登录 URL 部分中,输入您的商店 URL。
    4. 注销 URL (可选) 部分中,输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧洲、美国和亚太南部地区,输入 https://saml.cloud.com/saml/logout/callback
      • 对于日本地区,输入 https://saml.citrixcloud.jp/saml/logout/callback
      • 对于 Citrix Cloud Government 区域,输入 https://saml.cloud.us/saml/logout/callback
    5. 在命令栏中,单击“保存”。“基本 SAML 配置”部分显示如下:

      基本 SAML 配置

  8. 在“属性和声明”部分中,单击“编辑”以配置以下声明。创建 SAML 应用程序后,配置以下属性。

    1. 对于唯一用户标识符(名称 ID)声明,将名称标识符格式设置为未指定,并将其源属性设置为 user.localuserprincipalname
    2. 对于 cip_upn 声明,保留默认值 user.localuserprincipalname
    3. 对于 displayName,保留默认值 user.displayname
    4. 对于 givenName 声明,将默认值更新为 user.givenname
    5. 对于 familyName 声明,将默认值更新为 user.surname
    6. 在“其他声明”部分中,对于任何剩余的带有 http://schemas.xmlsoap.org/ws/2005/05/identity/claims 命名空间的声明,单击省略号 (…) 按钮,然后单击“删除”。无需包含这些声明,因为它们是上述用户属性的重复项。

      完成后,“属性和声明”部分显示如下所示:

      属性和声明

    7. 使用此第三方在线工具获取 Citrix Cloud SAML 签名证书的副本。
    8. 在 URL 字段中输入 https://saml.cloud.com/saml/metadata,然后单击“加载”。

    突出显示的删除菜单

  9. 滚动到页面底部并点击“下载”。

    下载元数据证书

    下载证书

  10. 配置 Entra ID SAML 应用程序签名设置。
  11. 将步骤 10 中获取的生产 SAML 签名证书上传到 Entra ID SAML 应用程序中
    1. 启用“需要验证证书”功能。

    验证证书

    验证证书

配置 Citrix Cloud B2B SAML 连接

默认情况下,Citrix Cloud 将期望 cip_upn、cip_email、cip_sid 和 cip_oid 存在于 SAML 断言中,如果未发送这些属性,SAML 登录将失败。为防止这种情况发生,在创建新的 SAML 连接时,请删除对这些属性的检查。

  1. 使用默认设置创建新的 SAML 连接。
  2. 导航到底部的“SAML 属性映射配置”部分,并在保存新的 SAML 配置之前进行更改。
  3. 从每个 cip_emailcip_sidcip_oid 字段中删除 SAML 属性名称。
  4. 不要删除 cip_upn 字段中的内容。
  5. 不要从其他相应字段中删除任何属性。商店 UI 仍需要 displayName,不应更改。

B2B SAML 连接 UPN

配置您的 AD 影子账户资源位置和连接器

后端影子账户 AD 林中需要一个资源位置和连接器对。当 SAML 断言中仅直接提供了 cip_upn 时,Citrix Cloud 需要此 AD 林中的连接器来查找影子账户用户身份和属性,例如 cip_email、cip_sid 和 cip_oid。

  1. 创建一个新的 资源位置,其中将包含已加入后端影子账户 AD 林的 Citrix Cloud 连接器。

    AD 影子账户

  2. 命名资源位置以匹配包含您希望使用的后端 AD 影子账户的 AD 林。
  3. 在新创建的资源位置中配置一对 Citrix Cloud 连接器。

例如 ccconnector1.shadowaccountforest.com ccconnector2.shadowaccountforest.com

在后端 AD 林中配置 FAS

承包商前端用户肯定需要 FAS。在 DaaS 启动期间,承包商用户将无法手动输入 Windows 凭据来完成启动,因为他们可能不知道 AD 影子账户密码。

  1. 在创建影子账户的后端 AD 林中配置一个或多个 FAS 服务器。
  2. 将 FAS 服务器链接到包含一对 Citrix Cloud 连接器的同一个资源位置,这些连接器已加入创建影子账户的后端 AD 林。

配置 FAS

在您的 AD 域中配置备用 UPN 后缀

重要提示:

UPN 与用户的电子邮件地址不同。在许多情况下,为了方便使用,它们是相同的值,但 UPN 和电子邮件通常可以具有不同的值,并且在不同的 Active Directory 属性和不同的 Entra ID 用户属性中定义。此解决方案依赖于前端和后端身份之间的 UPN 匹配,而不是电子邮件匹配。

如果您的域在 DNS 中可公开路由,您可以使用其隐式 UPN 后缀,或者为希望邀请到 Okta 或 Entra ID 租户的每个外部前端用户添加匹配的备用 UPN 后缀。如果 AD 使用 yourdomain.local 作为隐式 UPN,您将必须选择一个备用 UPN 后缀,例如 yourdomain.com。Entra ID 不允许您在自定义域名中添加 yourdomain.local

例如,如果您邀请外部用户 contractoruser@hotmail.co.uk 并希望将其与后端 AD 影子账户 contractoruser@yourforest.com 关联,则在您的 AD 林中添加 yourforest.com 作为 ALT UPN 后缀。

使用 Active Directory 域和信任 UI 添加备用 UPN 后缀

  1. 登录到后端 AD 林中的域控制器。
  2. 打开运行对话框,然后键入 domain.msc,再单击确定
  3. 在“Active Directory 域和信任”窗口中,右键单击Active Directory 域和信任,然后选择属性
  4. UPN 后缀选项卡上,在“备用 UPN 后缀”框中,添加一个备用 UPN 后缀,然后选择添加

    AD 域和信任 UI

  5. 单击确定

使用 PowerShell 管理后端 AD 林的 UPN 后缀

您可能需要向后端 AD 林添加大量新的 UPN 后缀,以创建必要的影子账户 UPN。需要添加到后端 AD 林的备用 UPN 后缀数量将取决于您选择邀请到 SAML 提供程序租户的外部用户数量。

如果需要创建大量新的备用 UPN 后缀,以下是一些 PowerShell 命令可实现此目的。

# Get the list of existing ALT UPN suffixes within your AD Forest
(Get-ADForest).UPNSuffixes

# Add or remove ALT UPN Suffixes
$NewUPNSuffixes = @("yourforest.com","externalusers.com")

# Set action to "add" or "remove" depending on the operation you wish to perform.
$Action = "add"
foreach($NewUPNSuffix in $NewUPNSuffixes)
{
    Get-ADForest | Set-ADForest -UPNSuffixes @{ $Action=$NewUPNSuffix }
}
<!--NeedCopy-->

在后端 AD 林中配置 AD 影子账户

  1. 创建新的 AD 影子账户用户。
  2. AD 林隐式 UPN,例如 yourforest.local,默认情况下会为新的 AD 用户选择。选择您之前创建的适当的备用 UPN 后缀。例如,选择 yourforest.com 作为影子帐户用户的 UPN 后缀。

    新对象用户

    影子帐户用户的 UPN 也可以通过 PowerShell 进行更新。

    Set-ADUser "contractoruser" -UserPrincipalName "contractoruser@yourforest.com"
    <!--NeedCopy-->
    

    重要

    Windows AD PowerShell 允许您创建具有任何指定 UPN 后缀的影子帐户用户,即使该 UPN 后缀在您的 AD 林中不存在。您希望使用的备用 UPN 后缀必须存在于 AD 林中,因为 Citrix Cloud 连接器依赖此列表来查找后端影子帐户用户。如果备用 UPN 后缀未按上述屏幕截图所示出现在 AD 林中,则 Citrix Cloud 将无法将您的前端身份与适当的后端 AD 影子帐户匹配。

  3. 影子帐户用户的 UPN 应与外部前端身份用户的 UPN 完全匹配。
  4. 测试前端用户登录到商店。
  5. 验证登录成功后,商店中是否枚举了所有预期资源。映射到 AD 影子帐户的资源应显示。

配置访客 Entra ID 用户 UPN 以匹配 AD 影子帐户 UPN

当外部访客用户被邀请到 Entra ID 租户时,会创建一个自动生成的 UPN,表明该用户是外部用户。外部 Entra ID 用户将自动分配 @Entra IDtenant.onmicrosoft.com UPN 后缀,这不适用于 B2B SAML,并且与您的 AD 影子帐户不匹配。这需要更新以匹配 Entra ID 中导入的 DNS 域以及您在 AD 林中创建的备用 UPN 后缀。

  1. 将与您添加到 AD 林中的备用 UPN 后缀匹配的自定义域导入到 Entra ID 中。

    自定义域名

  2. 邀请访客用户,例如 contractoruser@hotmail.co.uk,并确保受邀访客用户接受 Microsoft 对 Entra ID 租户的邀请。

    Microsoft 生成的外部访客用户 UPN 格式示例。 contractoruser_hotmail.co.uk#EXT#@yourEntra IDtenant.onmicrosoft.com

    多功能软件

    MD 访客

    重要提示:

    Citrix Cloud 和 StoreFront 不能使用包含 # 字符的 UPN 进行 SAML 身份验证。

  3. 安装必要的 Azure PowerShell Graph 模块,以便管理 Entra ID 用户。

    Install-Module -Name "Microsoft.Graph" -Force
    Get-InstalledModule -Name  "Microsoft.Graph"
    <!--NeedCopy-->
    
  4. 使用全局管理员帐户和 Directory.AccessAsUser.All 范围登录到您的 Entra ID 租户。

    重要提示:

    如果您使用权限较低的帐户或未指定 Directory.AccessAsUser.All 范围,您将无法完成步骤 4 并更新访客用户的 UPN。

    Connect-MgGraph -Scopes Directory.AccessAsUser.All
    <!--NeedCopy-->
    
  5. 使用与您为 AD 影子帐户配置的 UPN 匹配的 UPN 更新 Entra ID 用户。

    $GuestUserId = (Get-MgUser -UserId "contractoruser_hotmail.co.uk#EXT#@yourentraidtenant.onmicrosoft.com").Id
    Update-MgUser -UserId $GuestUserId -UserPrincipalName "contractoruser@your.com"
    <!--NeedCopy-->
    
  6. 获取您的 Entra ID 租户中所有外部访客用户的列表(可选)。

    外部访客用户

    Get-MgUser -filter "userType eq 'Guest'" | Select Id,DisplayName,UserPrincipalName,Mail
    <!--NeedCopy-->
    
  7. 获取需要更新 UPN 的访客用户身份,然后更新其 UPN 后缀。

    $GuestUserId = (Get-MgUser -UserId "contractoruser_hotmail.co.uk#EXT#@yourEntra IDtenant.onmicrosoft.com").Id
    
    Update-MgUser -UserId $GuestUserId -UserPrincipalName "contractoruser@yourforest.com"
    <!--NeedCopy-->
    
  8. 检查是否可以使用新更新的 UPN 找到访客用户身份。

    Get-MgUser -UserId "contractoruser@yourforest.com"
    <!--NeedCopy-->
    

测试 B2B SAML 解决方案

在 AD、Citrix Cloud 和您的 SAML 提供程序中完成所有文档中列出的步骤后,您需要测试登录并验证 StoreFront 中是否为访客用户显示了正确的资源列表。

Citrix 建议使用 SAML-tracer 浏览器扩展进行所有 SAML 调试。此扩展适用于大多数常用 Web 浏览器。该扩展将 Base64 编码的请求和响应解码为 SAML XML,使其可读。

SAML 跟踪器(/en-us/citrix-cloud/media/saml-tracer.png)

使用 SAML 跟踪器捕获的仅使用 cip_upn 进行身份验证的 B2B SAML 断言示例。

B2B SAML 示例(/en-us/citrix-cloud/media/example-simplified-saml.png)

测试前端(/en-us/citrix-cloud/media/testing-with-frontend-identities.png)

  1. 将正确的 DaaS 资源映射到 AD 支持的用户和影子帐户用户或包含它们的组。

  2. 启动 SAML 跟踪器浏览器扩展,并捕获整个登录和注销流程。

  3. 使用表中为要测试的前端用户类型指定的属性登录到应用商店。

    来宾 Entra ID 用户登录: 您邀请到 Entra ID 租户的承包商用户作为来宾用户,其电子邮件地址为 contractoruser@hotmail.co.uk

    当 Entra ID 提示时,输入来宾用户的电子邮件地址

    AD 支持的 Entra ID 用户/本机 Entra ID 用户登录: 这些 Entra ID 用户的 UPN 格式为 adbackeduser@yourforest.comnativeuser@yourforest.com

    当 Entra ID 提示时,输入用户的 UPN

  4. 检查断言是否仅包含用于身份验证的 cip_upn 属性,以及是否包含应用商店 UI 所需的 displayName 属性。

  5. 检查用户是否可以在 UI 中看到所需的 DaaS 资源。

B2B SAML 解决方案故障排除

SAML 断言中发送了错误的 UPN

原因:这仅适用于从 Entra ID 租户 1 导入到 Entra ID 租户 2 的 B2B 帐户。当使用从其他 Entra ID 租户导入的 B2B 用户时,SAML 断言中可能会发送错误的 UPN。如果使用 user.userprincipalname 并且最终用户使用从另一个 Entra ID 租户导入的 B2B 用户登录,则 SAML 断言中将发送错误的 cip_upn 值。SAML 断言中使用的 cip_upn 值将来自包含 B2B 用户作为成员的源 Entra ID 租户。使用 user.localuserprincipalname 可确保 cip_upn 值取自邀请 B2B 用户作为访客的 Entra ID 租户。

缺少 cip_* 属性错误

B2B SAML 解决方案故障排除

原因 1:SAML 断言中不存在 SAML 属性,但 Citrix Cloud 配置为期望接收它。您未能从 SAML 属性部分中 Citrix Cloud SAML 连接中删除不必要的 cip_* 属性。断开并重新连接 SAML 以删除对不必要的 cip_* 属性的引用。

原因 2:如果 Citrix Cloud 连接器在您的后端 AD 林中没有相应的 AD 影子帐户可供查找,也可能发生此错误。您可能已正确配置了前端身份,但具有匹配 UPN 的后端 AD 影子帐户身份不存在或无法找到。

登录成功,但用户登录到商店后未显示 DaaS 资源

原因:这很可能是由于前端到后端身份 UPN 映射不正确造成的。

确保前端和后端身份的 2 个 UPN 完全匹配,并代表登录到商店的同一最终用户。检查 DaaS 交付组是否包含到正确的 AD 影子帐户用户或包含它们的 AD 组的映射。

启动 DaaS 资源时,FAS SSON 到已加入 AD 域的 VDA 失败

尝试启动 DaaS 资源时,商店最终用户会被提示在 GINA 中输入其 Windows 凭据。此外,事件 ID 103 出现在您的 FAS 服务器上的 Windows 事件日志中。

[S103] 服务器 [CC:FASServer] 请求的 UPN 为 [frontenduser@yourforest.com] SID S-1-5-21-000000000-0000000000-0000000001-0001,但查找返回 SID S-1-5-21-000000000-0000000000-0000000001-0002。[correlation: cc#967472c8-4342-489b-9589-044a24ca57d1]

原因:您的 B2B SAML 部署存在“SID 不匹配问题”。您的前端身份包含来自与后端影子帐户 AD 林不同的 AD 林的 SID。
请勿在 SAML 断言中发送 cip_sid

当多个连接的 AD 林中存在相同的 UPN 后缀时,AD 支持的用户登录失败

Citrix Cloud 具有多个资源位置和连接器,它们连接到不同的 AD 林。当从与影子帐户 AD 林不同的 AD 林导入到 Entra ID 的 AD 支持用户被使用时,登录失败。

AD 林 1 同步到 Entra ID 以创建具有 UPN(例如 frontenduser@yourforest.com)的前端用户。

AD 林 2 包含具有 UPN(例如 frontenduser@yourforest.com)的后端影子帐户。

原因:您的 B2B SAML 部署存在“UPN 歧义问题”。Citrix Cloud 无法确定使用哪个连接器来查找用户的后端身份。

请勿在 SAML 断言中发送 cip_sid
您的用户 UPN 存在于连接到 Citrix Cloud 的多个 AD 林中。

配置 Citrix Cloud SAML 连接

所有 Citrix 登录流程都需要通过使用商店 URL 或 Citrix Cloud GO URL 来由服务提供商发起。

从您的 Entra ID 门户获取 Entra ID SAML 应用程序 SAML 端点,并将其输入到 Citrix Cloud 中。

AAD SAML 端点

要在 Citrix Cloud SAML 连接中使用的 Entra ID SAML 端点示例

身份和访问管理 > 身份验证 > 添加身份提供商 > SAML 中,使用 SAML 连接的默认推荐值。

重要提示:

EntraID SSO 和注销 SAML 端点是相同的 URL。

在 Citrix Cloud 的此字段中 输入此值
实体 ID https://sts.windows.net/<yourEntraIDTenantID>
签署身份验证请求
SSO 服务 URL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
SSO 绑定机制 HTTP 提交
SAML 响应 签署响应或断言
身份验证上下文 未指定,精确
注销 URL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
签署注销请求
SLO 绑定机制 HTTP 提交