教程:Microsoft Entra 单一登录与 Citrix ADC 的集成(基于标头的身份验证)

本教程介绍如何将 Citrix ADC 与 Microsoft Entra ID 相集成。 将 Citrix ADC 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 Citrix ADC。
  • 让用户能够使用其 Microsoft Entra 帐户自动登录到 Citrix ADC。
  • 在中心位置管理帐户。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果没有订阅,可以获取一个免费帐户
  • 已启用 Citrix ADC 单一登录 (SSO) 的订阅。

方案描述

在本教程中,你将在测试环境中配置并测试 Microsoft Entra SSO。 本教程包括以下方案:

若要将 Citrix ADC 与 Microsoft Entra ID 集成,请先从库中将 Citrix ADC 添加到托管 SaaS 应用的列表:

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。

  3. 在“从库中添加”部分的搜索框中,输入“Citrix ADC” 。

  4. 在结果中选择“Citrix ADC”,然后添加该应用。 在该应用添加到租户时等待几秒钟。

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。

配置并测试 Citrix ADC 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置并测试 Citrix ADC 的 Microsoft Entra SSO。 若要使 SSO 正常工作,需要在 Microsoft Entra 用户与 Citrix ADC 中的相关用户之间建立关联。

若要配置并测试 Citrix ADC 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。

    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra SSO。

    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra SSO。

  2. 配置 Citrix ADC SSO - 在应用程序端配置 SSO 设置。

  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

若要通过 Azure 门户启用 Microsoft Entra SSO,请完成以下步骤:

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Citrix ADC”应用程序集成窗格,然后在“管理”下选择“单一登录”。

  3. 在“选择单一登录方法”窗格中选择“SAML”。

  4. 在“使用 SAML 设置单一登录”窗格中,选择“基本 SAML 配置”对应的笔形“编辑”图标以编辑设置 。

    编辑基本 SAML 配置

  5. 在“基本 SAML 配置”部分,若要在 IDP 发起的模式下配置应用程序,请执行以下步骤:

    1. 在“标识符” 文本框中,输入采用以下模式的 URL:https://<Your FQDN>

    2. 在“回复 URL” 文本框中,输入采用以下模式的 URL:https://<Your FQDN>/CitrixAuthService/AuthService.asmx

  6. 若要在 SP 发起的模式下配置应用程序,请选择“设置其他 URL”并完成以下步骤:

    • 在“登录 URL” 文本框中,输入具有以下模式的 URL:https://<Your FQDN>/CitrixAuthService/AuthService.asmx

    注意

    • 本部分使用的 URL 不是实际值。 请使用“标识符”、“回复 URL”和“登录 URL”的实际值更新这些值。 请联系 Citrix ADC 客户端支持团队来获取这些值。 还可参考“基本 SAML 配置”部分中显示的模式。
    • 若要设置 SSO,必须可以从公共网站访问 URL。 必须在 Citrix ADC 端启用防火墙或其他安全设置,才能让 Microsoft Entra ID 在所配置的 URL 上发布令牌。
  7. 在“使用 SAML 设置单一登录”窗格的“SAML 签名证书”部分,对于“应用联合元数据 URL”,请复制 URL 并将其保存在记事本中 。

    证书下载链接

  8. Citrix ADC 应用程序需要特定格式的 SAML 断言,因此需要向 SAML 令牌属性配置添加自定义属性映射。 以下屏幕截图显示了默认属性的列表。 选择“编辑”图标,然后更改属性映射 。

    编辑 SAML 属性映射

  9. Citrix ADC 应用程序还要求在 SAML 响应中传递回更多的属性。 在“用户属性”对话框中的“用户声明”下,完成以下步骤以添加下表中所示的 SAML 令牌属性:

    名称 源属性
    mySecretID user.userprincipalname
    1. 选择“添加新声明”打开“管理用户声明”对话框。

    2. 在“名称”文本框中,输入该行显示的属性名称。

    3. 将“命名空间”留空 。

    4. 对于“属性”,请选择“源”。

    5. 在“源属性”列表中,输入该行显示的属性值。

    6. 选择“确定” 。

    7. 选择“保存”。

  10. 在“设置 Citrix ADC”部分,根据要求复制相关 URL。

    复制配置 URL

创建 Microsoft Entra 测试用户

在本部分,你将创建名为 B.Simon 的测试用户。

  1. 至少以用户管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“用户”>“所有用户”
  3. 选择屏幕顶部的“新建用户”>“创建新用户”。
  4. “用户”属性中执行以下步骤:
    1. 在“显示名称”字段中输入 B.Simon
    2. 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如 B.Simon@contoso.com
    3. 选中“显示密码”复选框,然后记下“密码”框中显示的值。
    4. 选择“查看 + 创建”。
  5. 选择“创建”。

分配 Microsoft Entra 测试用户

在本部分中,通过授予用户 B.Simon 访问 Citrix ADC 的权限,允许其使用 Azure SSO。

  1. 浏览到“标识”>“应用程序”>“企业应用程序”。

  2. 在应用程序列表中,选择“Citrix ADC”。

  3. 在应用概览的“管理”下,选择“用户和组” 。

  4. 选择“添加用户”。 然后,在“添加分配”对话框中选择“用户和组”。

  5. 在“用户和组”对话框的“用户”列表中,选择“B.Simon”。 选择“选择”。

  6. 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。

  7. 在“添加分配”对话框中选择“分配”。

配置 Citrix ADC SSO

根据你要配置的身份验证类型选择相应的步骤链接:

发布 Web 服务器

若要创建虚拟服务器:

  1. 选择“流量管理”>“负载均衡”>“服务”。

  2. 选择 添加

    Citrix ADC 配置 -“服务”窗格

  3. 为运行应用程序的 Web 服务器设置以下值:

    • 服务名称

    • 服务器 IP/现有服务器

    • 协议

    • 端口

      Citrix ADC 配置窗格

配置负载均衡器

若要配置负载均衡器:

  1. 转到“流量管理”>“负载均衡”>“虚拟服务器”。

  2. 选择 添加

  3. 如以下屏幕截图所述设置以下值:

    • 名称
    • 协议
    • IP 地址
    • 端口
  4. 选择“确定” 。

    Citrix ADC 配置 -“基本设置”窗格

绑定虚拟服务器

若要将负载均衡器与虚拟服务器绑定:

  1. 在“服务和服务组”窗格中,选择“无负载均衡虚拟服务器服务绑定”。

    Citrix ADC 配置 -“负载均衡虚拟服务器服务绑定”窗格

  2. 如以下屏幕截图所示验证设置,然后选择“关闭”。

    Citrix ADC 配置 - 验证虚拟服务器服务绑定

绑定证书

若要将此服务发布为 TLS,请绑定服务器证书,然后测试应用程序:

  1. 在“证书”下,选择“无服务器证书”。

    Citrix ADC 配置 -“服务器证书”窗格

  2. 如以下屏幕截图所示验证设置,然后选择“关闭”。

    Citrix ADC 配置 - 验证证书

Citrix ADC SAML 配置文件

若要配置 Citrix ADC SAML 配置文件,请完成以下部分:

创建身份验证策略

若要创建身份验证策略:

  1. 转到“安全性”>“AAA – 应用程序流量”>“策略”>“身份验证”>“身份验证策略”。

  2. 选择 添加

  3. 在“创建身份验证策略”窗格中,输入或选择以下值:

    • Name:输入身份验证策略的名称。
    • 操作:输入 SAML,然后选择“添加”。
    • 表达式:输入 true

    Citrix ADC 配置 -“创建身份验证策略”窗格

  4. 选择“创建” 。

创建身份验证 SAML 服务器

若要创建身份验证 SAML 服务器,请转到“创建身份验证 SAML 服务器”窗格,然后完成以下步骤:

  1. 对于“名称”,请输入身份验证 SAML 服务器的名称。

  2. 在“导出 SAML 元数据”下:

    1. 选中“导入元数据”复选框。

    2. 输入前面在 Azure SAML UI 中复制的联合元数据 URL。

  3. 对于“颁发者名称”,请输入相关的 URL。

  4. 选择“创建” 。

Citrix ADC 配置 -“创建身份验证 SAML 服务器”窗格

创建身份验证虚拟服务器

若要创建身份验证虚拟服务器:

  1. 转到“安全性”>“AAA - 应用程序流量”>“策略”>“身份验证”>“身份验证虚拟服务器”。

  2. 选择“添加”,然后完成以下步骤:

    1. 对于“名称”,请输入身份验证虚拟服务器的名称。

    2. 选中“不可寻址”复选框。

    3. 对于“协议”,请选择“SSL”。

    4. 选择“确定” 。

    Citrix ADC“配置”–“身份验证虚拟服务器”窗格

将身份验证虚拟服务器配置为使用 Microsoft Entra ID

修改身份验证虚拟服务器的两个部分:

  1. 在“高级身份验证策略”窗格中,选择“无身份验证策略”。

    Citrix ADC 配置 -“高级身份验证策略”窗格

  2. 在“策略绑定”窗格中选择身份验证策略,然后选择“绑定”。

    Citrix ADC 配置 -“策略绑定”窗格

  3. 在“基于表单的虚拟服务器”窗格中,选择“无负载均衡虚拟服务器”。

    Citrix ADC 配置 -“基于表单的虚拟服务器”窗格

  4. 对于“身份验证 FQDN”,请输入完全限定的域名 (FQDN)(必需)。

  5. 选择要使用 Microsoft Entra 身份验证保护的负载均衡虚拟服务器。

  6. 选择“绑定”。

    Citrix ADC 配置 -“负载均衡虚拟服务器绑定”窗格

    注意

    确保在“身份验证虚拟服务器配置”窗格中选择“完成”。

  7. 若要验证更改,请在浏览器中转到应用程序 URL。 应会看到租户登录页,而不是之前所看到的“未经身份验证的访问”消息。

    Citrix ADC 配置 - Web 浏览器中的登录页

为基于标头的身份验证配置 Citrix ADC SSO

配置 Citrix ADC

若要为基于标头的身份验证配置 Citrix ADC,请完成以下部分。

创建重写操作

  1. 转到“AppExpert”>“重写”>“重写操作”。

    Citrix ADC 配置 -“重写操作”窗格

  2. 选择“添加”,然后完成以下步骤:

    1. 对于“名称”,请输入重写操作的名称。

    2. 对于“类型”,请输入 INSERT_HTTP_HEADER

    3. 对于“标头名称”,请输入标头名称(本示例使用 SecretID)。

    4. 对于“表达式”,请输入 aaa.USER.ATTRIBUTE("mySecretID"),其中,mySecretID 是发送到 Citrix ADC 的 Microsoft Entra SAML 声明。

    5. 选择创建

    Citrix ADC 配置 -“创建重写操作”窗格

创建重写策略

  1. 转到“AppExpert”>“重写”>“重写策略”。

    Citrix ADC 配置 -“重写策略”窗格

  2. 选择“添加”,然后完成以下步骤:

    1. 对于“名称”,请输入重写策略的名称。

    2. 对于“操作”,请选择在上一部分创建的重写操作。

    3. 对于“表达式”,请输入 true

    4. 选择“创建” 。

    Citrix ADC 配置 -“创建重写策略”窗格

将重写策略绑定到虚拟服务器

使用 GUI 将重写策略绑定到虚拟服务器:

  1. 转到“流量管理”>“负载均衡”>“虚拟服务器”。

  2. 在虚拟服务器列表中,选择要绑定重写策略的虚拟服务器,然后选择“打开” 。

  3. 在“负载均衡虚拟服务器”窗格中的“高级设置”下,选择“策略”。 为 NetScaler 实例配置的所有策略将显示在列表中。 Citrix ADC“配置”–“负载均衡虚拟服务器”窗格

  4. 选中要绑定到此虚拟服务器的策略名称旁边的复选框。

    Citrix ADC 配置 -“负载均衡虚拟服务器流量策略绑定”窗格

  5. 在“选择类型”对话框中:

    1. 对于“选择策略”,请选择“流量”。

    2. 对于“选择类型”,请选择“请求”。

    Citrix ADC 配置 -“策略”对话框

  6. 选择“确定” 。 状态栏中会显示一条消息,指出已成功配置策略。

修改 SAML 服务器以从声明中提取属性

  1. 转到“安全性”>“AAA - 应用程序流量”>“策略”>“身份验证”>“高级策略”>“操作”>“服务器”。

  2. 为应用程序选择适当的身份验证 SAML 服务器。

    Citrix ADC 配置 -“配置身份验证 SAML 服务器”窗格

  3. 在“属性”窗格中,输入要提取的 SAML 属性(以逗号分隔)。 在本示例中,我们输入了属性 mySecretID

    Citrix ADC 配置 -“属性”窗格

  4. 若要验证访问权限,请在浏览器中的 URL 中查看“标头集合”下的 SAML 属性。

    Citrix ADC 配置 - URL 中的“标头集合”

创建 Citrix ADC 测试用户

本部分将在 Citrix ADC 中创建一个名为 B.Simon 的用户。 Citrix ADC 支持默认启用的实时用户预配。 在本部分无需采取任何措施。 如果 Citrix ADC 中尚不存在用户,则会在身份验证后创建一个新用户。

注意

如果需要手动创建用户,请联系 Citrix ADC 客户端支持团队

测试 SSO

在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。

  • 单击“测试此应用程序”,这会重定向到 Citrix ADC 登录 URL,可以从那里启动登录流。

  • 直接转到 Citrix ADC 登录 URL,并从那里启动登录流。

  • 你可使用 Microsoft 的“我的应用”。 单击“我的应用”中的 Citrix ADC 磁贴时,会重定向到 Citrix ADC 登录 URL。 有关“我的应用”的详细信息,请参阅“我的应用”简介

后续步骤

配置 Citrix ADC 后,就可以强制实施会话控制,从而实时保护组织的敏感数据免于外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制