在 Citrix Cloud™ 中配置带有范围实体 ID 的 SAML 应用程序
本文介绍如何在同一个 SAML 提供程序中预配多个 SAML 应用程序。
某些 SAML 提供程序(例如 Microsoft Entra ID (ME-ID)、Active Directory Federation Services (ADFS)、PingFederate 和 PingSSO)禁止在多个 SAML 应用程序中重复使用相同的服务提供程序 (SP) 实体 ID。因此,在同一个 SAML 提供程序中创建两个或更多不同 SAML 应用程序的管理员无法将它们链接到相同或不同的 Citrix Cloud 租户。尝试创建第二个 SAML 应用程序时,如果使用与现有 SAML 应用程序相同的 SP 实体 ID(例如 https:\\saml.cloud.com),则会在 SAML 提供程序处触发错误,指示该实体 ID 已在使用中。
以下图像说明了此错误:
-
在 Microsoft Entra ID 中:

-
在 PingFederate 中:

Citrix Cloud 中的范围实体 ID 功能解决了此限制,以便您可以在 SAML 提供程序(例如 Microsoft Entra ID 租户)中创建多个 SAML 应用程序,并将其链接到单个 Citrix Cloud 租户。
什么是实体 ID?
SAML 实体 ID 是一个唯一标识符,用于在 SAML 身份验证和授权协议中标识特定实体。通常,实体 ID 是分配给实体的 URL 或 URI,并用于 SAML 消息和元数据中。您在 SAML 提供程序中创建的每个 SAML 应用程序都被视为一个唯一实体。
例如,在 Citrix Cloud 和 Microsoft Entra ID 之间的 SAML 连接中,Citrix Cloud 是服务提供程序 (SP),Microsoft Entra ID 是 SAML 提供程序。两者都有一个实体 ID,必须在 SAML 连接的另一端进行配置。这意味着 Citrix Cloud 的实体 ID 必须在 Microsoft Entra ID 中配置,而 Microsoft Entra ID 的实体 ID 必须在 Citrix Cloud 中配置。
以下实体 ID 是 Citrix Cloud 中通用实体 ID 和范围实体 ID 的示例:
- 通用:
https://saml.cloud.com - 范围:
https://saml.cloud.com/67338f11-4996-4980-8339-535f76d0c8fb
按区域划分的通用和限定范围的 SP 实体 ID
Citrix Cloud 中现有的 SAML 连接(在 2023 年 11 月之前创建)对每个 SAML 连接和 Citrix Cloud 租户使用相同的通用实体 ID。只有新的 Citrix Cloud SAML 连接才提供使用限定范围的实体 ID 的选项。
如果您选择对新连接使用限定范围的实体 ID,则任何现有 SAML 连接将继续使用其原始通用实体 ID 运行。
下表列出了每个 Citrix Cloud 区域的通用和限定范围的 SP 实体 ID:
| Citrix Cloud 区域 | 通用 SP 实体 ID | 限定范围的实体 ID |
|---|---|---|
| 美国、欧盟、亚太南部 | https://saml.cloud.com |
https://saml.cloud.com/67338f11-4996-4980-8339-535f76d0c8fb |
| 日本 | https://saml.citrixcloud.jp |
https://saml.citrixcloud.jp/db642d4c-ad2c-4304-adcf-f96b6aa16c29 |
| 政府 | https://saml.cloud.us |
https://saml.cloud.us/20f1cf66-cfe9-4dd3-865c-9c59a6710820 |
为新的和现有的 SAML 连接生成唯一的 SP 实体 ID
当您创建新的 SAML 连接时,Citrix Cloud 会生成一个唯一的 ID (GUID)。要生成范围限定的实体 ID,您需要在创建新连接时启用配置范围限定的 SAML 实体 ID 设置。
如果您想更新现有 SAML 连接以使用范围限定的实体 ID,您必须在 Citrix Cloud 的身份和访问管理 > 身份验证页面中断开连接,然后重新连接您的 SAML 提供程序。Citrix Cloud 不允许您直接编辑现有 SAML 连接。但是,您可以克隆配置并修改克隆。
重要提示:
在完成 SAML 连接过程之前关闭它会丢弃 Citrix Cloud 自动生成的实体 ID。当您重新启动 SAML 连接过程时,Citrix Cloud 会生成一个新的范围限定的实体 ID GUID。在配置 SAML 提供程序时,请使用此新的范围限定的实体 ID。如果您正在更新现有 SAML 连接以使用范围限定的实体 ID,则必须使用 Citrix Cloud 生成的范围限定的实体 ID 更新该连接的 SAML 应用程序。
关于范围限定实体 ID 的常见问题
我可以在同一个 Microsoft Entra ID 租户中创建多个 Microsoft Entra ID SAML 应用程序并将其链接到一个或多个 Citrix Cloud 租户吗?
Citrix Cloud 的范围限定实体 ID 功能解决了某些 SAML 提供程序施加的防止重复实体 ID 的限制。借助此功能,您可以在 Microsoft Entra ID 租户中预配多个 SAML 应用程序,并为每个应用程序配置来自单个 Citrix Cloud 租户的范围限定实体 ID。
我仍然可以将同一个 Microsoft Entra ID SAML 应用程序链接到多个 Citrix Cloud 租户?
这种情况在 Citrix Cloud 客户中很常见,Citrix 将继续支持它。要实现此场景,您必须满足以下要求:
- 使用通用实体 ID,例如
https://saml.cloud.com。 - 不要为您的 SAML 连接启用范围限定实体 ID。
我如何决定是否在我的 SAML 提供程序中使用范围限定实体 ID?
Citrix Cloud 中的范围限定实体 ID 提供了根据您的要求使用通用或范围限定实体 ID 的灵活性。请考虑您需要的 SAML 应用程序数量以及您拥有的 Citrix Cloud 租户数量。此外,还要考虑每个租户是否可能共享现有 SAML 应用程序或需要其自己的范围限定 SAML 应用程序。
重要:
如果您的 SAML 提供商已允许您创建具有相同实体 ID 的多个 SAML 应用程序(例如
https://saml.cloud.com),则无需启用范围实体 ID 或对现有 SAML 配置进行任何更改。您也无需更新 Citrix Cloud 或 SAML 应用程序中的任何设置。
受影响的 SAML 提供商
下表列出了允许或限制使用重复实体 ID 的 SAML 提供商。
| SAML 提供商 | 支持重复实体 ID |
|---|---|
| 微软 Entra ID(云) | 否 |
| ADFS(本地) | 否 |
| PingFederate(本地) | 否 |
| PingOneSSO(云) | 否 |
| Okta(云) | 是 |
| Duo(云) | 是 |
| OneLogin(云) | 是 |
受影响的用例
下表指明了是支持通用实体 ID 还是范围实体 ID,具体取决于您的用例所需的 SAML 应用程序以及您的 SAML 提供程序是否支持重复的实体 ID。
| 用例要求 | SAML 提供程序是否支持重复的实体 ID? | 支持的配置 |
|---|---|---|
| 只有一个 SAML 应用程序 | 是 | 通用或范围实体 ID |
| 只有一个 SAML 应用程序 | 否 | 通用或范围限定的实体 ID |
| 两个或更多 SAML 应用程序 | 是 | 通用或范围限定的实体 ID |
| 两个或更多 SAML 应用程序 | 否 | 范围限定的实体 ID |
| 存储自定义 URL 和 SAML 应用程序对 | 是 | 通用或范围限定的实体 ID |
| 存储自定义 URL 和 SAML 应用程序对 | 否 | 范围限定的实体 ID |
| 将相同的 SAML 应用程序链接到多个 Citrix Cloud 租户 | 是 | 通用实体 ID |
| 将同一个 SAML 应用程序链接到多个 Citrix Cloud 租户 | 否 | 通用实体 ID |
使用范围限定的实体 ID 配置主 SAML 连接
在此任务中,您将使用主 SAML 应用程序 (SAML App 1) 的范围限定实体 ID 在 Citrix Cloud 中创建 SAML 连接。
- 从 Citrix Cloud 菜单中,选择 身份和访问管理。
- 在 身份验证 选项卡上,找到 SAML 2.0,然后从省略号菜单中选择 连接。
- 当系统提示您创建唯一的登录 URL 时,请输入一个简短的、URL 友好的公司标识符(例如,
https://citrix.cloud.com/go/mycompany),然后选择 保存并继续。此标识符在整个 Citrix Cloud 中必须是唯一的。 - 在 配置 SAML 身份提供程序 下,选择 配置范围限定的 SAML 实体 ID。Citrix Cloud 会自动生成范围限定的实体 ID,并填充实体 ID、断言使用者服务和注销 URL 的字段。
- 在 配置到 Citrix Cloud 的 SAML 连接 下,输入 SAML 提供程序的连接详细信息。
- 接受默认的 SAML 属性映射。
- 选择 测试并完成。
使用通用实体 ID 配置主 SAML 连接
在此任务中,您将使用主 SAML 应用程序 (SAML App 1) 的默认通用实体 ID 在 Citrix Cloud 中创建 SAML 连接。
- 从 Citrix Cloud 菜单中,选择 身份和访问管理。
- 在 身份验证 选项卡上,找到 SAML 2.0,然后从省略号菜单中选择 连接。
- 当系统提示您创建唯一的登录 URL 时,为您的公司输入一个简短的、URL 友好的标识符(例如,
https://citrix.cloud.com/go/mycompany),然后选择 保存并继续。此标识符在整个 Citrix Cloud 中必须是唯一的。 - 在 配置 SAML 身份提供程序 下,验证 配置范围限定的 SAML 实体 ID 是否已禁用。
- 在 配置到 Citrix Cloud 的 SAML 连接 下,输入您的 SAML 提供程序的连接详细信息。
- 在 服务提供商 SAML 元数据 中,如果需要,单击 下载 以获取通用 SAML 元数据的副本。
- 接受默认的 SAML 属性映射。
- 选择 测试并完成。
使用 Citrix® StoreFront Cloud 自定义域配置 SAML 连接
本节介绍如何使用自定义应用商店 URL 配置 SAML 连接,该 URL 具有范围限定的或通用的实体 ID。
本节中的任务仅适用于您拥有正在与 SAML 结合使用的现有自定义应用商店 URL 的情况。如果您没有将自定义应用商店 URL 与 SAML 身份验证结合使用,则可以跳过本节中的任务。
有关详细信息,请参阅以下文章:
使用应用商店自定义 URL 和通用实体 ID 配置 SAML 连接
在此任务中,配置范围实体 ID 设置已禁用。
- 从 Citrix Cloud 菜单中,选择应用商店身份验证。
- 在自定义应用商店 URL 中,从省略号菜单中选择编辑。
- 选择同时使用 [customerName].cloud.com URL 和自定义域 URL。
- 输入 SAML App 2 的通用实体 ID、SSO URL 和可选的 SLO URL,然后上传您之前从 SAML 提供程序下载的签名证书。
- 如果需要,在自定义域的服务提供商 SAML 元数据中,单击下载以获取应用商店自定义 URL SAML 应用程序的通用 SAML 元数据副本。
- 单击保存。
配置具有应用商店自定义 URL 和范围实体 ID 的 SAML 连接
在此任务中,配置范围实体 ID 设置已启用。
- 从 Citrix Cloud 菜单中,选择应用商店身份验证。
- 在自定义应用商店 URL 中,从省略号菜单中选择编辑。
- 选择同时使用 [customerName].cloud.com URL 和自定义域 URL。
- 输入 SAML App 2 的范围实体 ID、SSO URL 和可选的 SLO URL,然后上传您之前从 SAML 提供程序下载的 SAML 签名证书。
- 单击保存。
保存配置后,Citrix Cloud 会生成包含正确 GUID 的范围 SAML 元数据。如果需要,您可以获取应用商店自定义 URL SAML 应用程序的范围元数据副本。
- 在“身份和访问管理”页面上,找到 SAML 连接,然后从省略号菜单中选择“查看”。
- 在“自定义域的服务提供商 SAML 元数据”中,单击“下载”。
查看主 SAML 应用程序和自定义应用商店 URL SAML 应用程序的 SAML 配置
查看范围限定的 SAML 连接的配置详细信息时,Citrix Cloud 会显示主 SAML 应用程序和应用商店自定义域 SAML 应用程序的范围限定的实体 ID 设置。
例如,当启用范围限定的实体 ID 时,“服务提供商实体 ID”和“自定义域的服务提供商实体 ID”字段包含 Citrix Cloud 生成的范围限定的实体 ID。
启用了范围限定实体 ID 的 SAML 配置(/en-us/citrix-cloud/media/saml-entity-id-scoped-custom-domain-example.png)
禁用范围限定的实体 ID 时,“服务提供商实体 ID”和“自定义域的服务提供商实体 ID”字段包含通用实体 ID。
具有通用实体 ID 的 SAML 配置(/en-us/citrix-cloud/media/saml-entity-id-generic-custom-domain-example.png)
您可以通过将范围限定的实体 ID 附加到现有实体 ID 值来更新 SAML 提供商中的现有 SAML 应用程序。
使用范围限定的实体 ID 的 SAML 提供商配置
在 Citrix Cloud 中使用范围限定的实体 ID 配置 SAML 连接后,您可以将范围限定的实体 ID 添加到您的 SAML 提供商。
本节包括 Microsoft Entra ID 和 PingFederate 的配置示例。
使用范围限定的实体 ID 的 Microsoft Entra ID SAML 配置
在此示例中,来自 Citrix Cloud 的范围限定的实体 ID 输入到 Microsoft Entra ID 的“标识符”字段中。
Microsoft Entra ID 中突出显示实体 ID 的 SAML 应用程序配置(/en-us/citrix-cloud/media/saml-entity-id-aad-example-config.png)
PingFederate SAML 配置,带范围限定的实体 ID
在此示例中,来自 Citrix Cloud 的范围限定实体 ID 和通用实体 ID 分别填充在“合作伙伴实体 ID”字段和“基本 URL”字段中。

故障排除
Citrix 建议使用 SAML-tracer 浏览器扩展来排查 SAML 配置中的任何问题。此扩展将 Base64 编码的请求和响应解码为 SAML XML,使信息易于阅读。您可以使用 SAML-tracer 扩展来检查 Citrix Cloud(服务提供商)生成并发送给您的 SAML 提供商(身份提供商)的 SSO 和 SLO SAML 请求。该扩展可以显示实体 ID 范围 (GUID) 是否包含在这两个请求中。
- 在 Web 浏览器的“扩展”面板中,安装并启用 SAML-tracer 扩展。
- 执行 SAML 登录和注销操作,并使用 SAML-tracer 扩展捕获整个流程。
-
在 SAML SSO 请求或 SLO 请求中找到以下行。
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://saml.cloud.com/cfee4a86-97a8-49cf-9bb6-fd15ab075b92</saml:Issuer> <!--NeedCopy--> - 验证实体 ID 是否与 SAML 提供商应用程序中配置的实体 ID 匹配。
- 验证范围限定的实体 ID 是否存在于“颁发者”字段中,并验证它是否在 SAML 提供商中正确配置。
- 导出并保存 SAML-tracer JSON 输出。如果您正在与 Citrix 支持部门合作解决问题,请将输出上传到您的 Citrix 支持案例。
Microsoft Entra ID 故障排除
问题: 配置 SLO 后,从 Microsoft Entra ID 注销失败。Microsoft Entra ID 向用户显示以下错误:

如果 Citrix Cloud 中 SAML 连接启用了范围限定实体 ID,则必须在 SSO 和 SLO 请求中都发送范围限定实体 ID。
原因: 范围实体已配置,但 SLO 请求中缺少实体 ID。请验证 SAML 跟踪器输出中 SLO 请求中是否存在范围实体 ID。
本地 PingFederate 故障排除
问题: 启用范围实体 ID 设置后,登录或注销 PingFederate 失败。
原因: PingFederate 管理员将范围实体 ID 添加到了 SP 连接基本 URL 中。
要解决此问题,请仅将范围实体 ID 添加到 Partner’s EntityID 字段。将范围实体 ID 添加到基本 URL 会导致 SAML 端点格式错误。如果 Citrix Cloud 基本 URL 更新不正确,则所有其他从基本 URL 派生的 SAML 端点相对 URL 都会导致登录失败。
以下是可能出现在 SAML 跟踪器输出中的格式错误的 Citrix Cloud SAML 端点示例:
https://saml.cloud.com/<GUID>/saml/acshttps://saml.cloud.com/<GUID>/saml/logout/callback
下图显示了一个配置错误的 PingFederate SAML 应用程序。正确配置的字段以绿色显示。配置错误的字段以红色显示。
