教程: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 的“SP 发起的”SSO
适用于 Citrix ADC 的“即时”用户预配
从库中添加 Citrix ADC
要将 Citrix ADC 与 Microsoft Entra ID 集成,请先从库中将 Citrix ADC 添加到托管 SaaS 应用的列表:
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
在“从库中添加”部分的搜索框中,输入“Citrix ADC”。
在结果中选择“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,请执行以下步骤:
配置 Microsoft Entra SSO – 让用户能够使用此功能。
创建 Microsoft Entra 测试用户 – 使用 B.Simon 测试 Microsoft Entra SSO。
分配 Microsoft Entra 测试用户 – 让 B.Simon 能够使用 Microsoft Entra SSO。
配置 Citrix ADC SSO – 在应用程序端配置 SSO 设置。
- 创建 Citrix ADC 测试用户 – 在 Citrix ADC 中创建 B.Simon 的对应用户,并将其链接到该用户的 Microsoft Entra 表示形式。
测试 SSO – 验证配置是否正常工作。
配置 Microsoft Entra SSO
若要通过 Azure 门户启用 Microsoft Entra SSO,请完成以下步骤:
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“企业应用程序”>“Citrix ADC”应用程序集成窗格,然后在“管理”下选择“单一登录”。
在“选择单一登录方法”窗格中选择“SAML”。
在“设置 SAML 单一登录”窗格中,选择“基本 SAML 配置”的笔“编辑”图标来编辑设置。
要在“IDP 发起的”模式下配置应用程序,在“基本 SAML 配置”部分,请执行以下步骤:
在“标识符”文本框中,输入采用以下模式的 URL:
https://<Your FQDN>
在“回复 URL”文本框中,输入采用以下模式的 URL:
https://<Your FQDN>/CitrixAuthService/AuthService.asmx
若要在“SP 发起的”模式下配置应用程序,请选择“设置其他 URL”并完成以下步骤:
- 在“登录 URL”文本框中,输入具有以下模式的 URL:
https://<Your FQDN>/CitrixAuthService/AuthService.asmx
注意
- 本部分使用的 URL 不是实际值。 请使用“标识符”、“回复 URL”和“登录 URL”的实际值更新这些值。 请联系 Citrix ADC 客户端支持团队获取这些值。 还可参考“基本 SAML 配置”部分中显示的模式。
- 要设置 SSO,URL 必须可以从公共网站访问。 必须在 Citrix ADC 端启用防火墙或其他安全设置,才能让 Microsoft Entra ID 在所配置的 URL 上发布令牌。
- 在“登录 URL”文本框中,输入具有以下模式的 URL:
在“使用 SAML 设置单一登录”窗格的“SAML 签名证书”部分,对于“应用联合元数据 URL”,请复制 URL 并将其保存在记事本中。
Citrix ADC 应用程序需要特定格式的 SAML 断言,因此需要向 SAML 令牌属性配置添加自定义属性映射。 以下屏幕截图显示了默认属性的列表。 选择“编辑”图标,然后更改属性映射。
Citrix ADC 应用程序还要求在 SAML 响应中传递回更多的属性。 在“用户属性”对话框中的“用户声明”下,完成以下步骤来添加下表中所示的 SAML 令牌属性:
名称 源属性 mySecretID user.userprincipalname 选择“添加新声明”,打开“管理用户声明”对话框。
在“名称”文本框中,输入该行显示的属性名称。
将“命名空间”留空。
对于“属性”,请选择“源”。
在“源属性”列表中,输入该行显示的属性值。
选择“确定”。
选择“保存”。
在“设置 Citrix ADC”部分,根据要求复制相关 URL。
创建 Microsoft Entra 测试用户
在本部分,你将创建名为 B.Simon 的测试用户。
- 至少以用户管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”>“用户”>“所有用户”。
- 选择屏幕顶部的“新建用户”>“创建新用户”。
- 在“用户”属性中执行以下步骤:
- 在“显示名称”字段中输入
B.Simon
。 - 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如
B.Simon@contoso.com
。 - 选中“显示密码”复选框,然后记下“密码”框中显示的值。
- 选择“查看 + 创建”。
- 在“显示名称”字段中输入
- 选择“创建”。
分配 Microsoft Entra 测试用户
本部分的步骤通过授予用户 B.Simon 访问 Citrix ADC 的权限,允许其使用 Azure SSO。
浏览到“标识”>“应用程序”>“企业应用程序”。
在应用程序列表中,选择“Citrix ADC”。
在应用概览的“管理”下,选择“用户和组”。
选择“添加用户”。 然后,在“添加分配”对话框中选择“用户和组”。
在“用户和组”对话框的“用户”列表中,选择“B.Simon”。 选择“选择”。
如果希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,将看到选择了“默认访问权限”角色。
在“添加分配”对话框中,选择“分配”。
配置 Citrix ADC SSO
根据要配置的身份验证类型选择相应的步骤链接:
发布 Web 服务器
要创建虚拟服务器,请执行以下操作:
选择“流量管理”>“负载均衡”>“服务”。
选择“添加”。
为运行应用程序的 Web 服务器设置以下值:
服务名称
服务器 IP/现有服务器
协议
端口
配置负载均衡器
要配置负载均衡器,请执行以下操作:
转到“流量管理”>“负载均衡”>“虚拟服务器”。
选择“添加”。
设置以下值,如以下屏幕截图所述:
- 名称
- 协议
- IP 地址
- 端口
选择“确定”。
绑定虚拟服务器
要将负载均衡器与虚拟服务器绑定,请执行以下操作:
在“服务和服务组”窗格中,选择“无负载均衡虚拟服务器服务绑定”。
如以下屏幕截图所示验证设置,然后选择“关闭”。
绑定证书
要将此服务发布为 TLS,请绑定服务器证书,然后测试应用程序:
在“证书”下,选择“无服务器证书”。
如以下屏幕截图所示验证设置,然后选择“关闭”。
Citrix ADC SAML 配置文件
要配置 Citrix ADC SAML 配置文件,请完成以下部分:
创建身份验证策略
要创建身份验证策略,请执行以下步骤:
转到“安全性”>“AAA – 应用程序流量”>“策略”>“身份验证”>“身份验证策略”。
选择“添加”。
在“创建身份验证策略”窗格中,输入或选择以下值:
- 名称:输入身份验证策略的名称。
- 操作:输入 SAML,然后选择“添加”。
- 表达式:输入 true。
选择“创建”。
创建身份验证 SAML 服务器
要创建身份验证 SAML 服务器,请转到“创建身份验证 SAML 服务器”窗格,然后完成以下步骤:
对于“名称”,请输入身份验证 SAML 服务器的名称。
在“导出 SAML 元数据”下:
选中“导入元数据”复选框。
输入前面在 Azure SAML UI 中复制的联合元数据 URL。
对于“证书颁发者名称”,请输入相关的 URL。
选择“创建”。
创建身份验证虚拟服务器
要创建身份验证虚拟服务器,请执行以下操作:
转到“安全性”>“AAA - 应用程序流量”>“策略”>“身份验证”>“身份验证虚拟服务器”。。
选择“添加”,然后完成以下步骤:
对于“名称”,请输入身份验证虚拟服务器的名称。
选中“不可寻址”复选框。
对于“协议”,请选择“SSL”。
选择“确定”。
将身份验证虚拟服务器配置为使用 Microsoft Entra ID
修改身份验证虚拟服务器的两个部分:
在“高级身份验证策略”窗格中,选择“无身份验证策略”。
在“策略绑定”窗格中选择身份验证策略,然后选择“绑定”。
在“基于表单的虚拟服务器”窗格中,选择“无负载均衡虚拟服务器”。
对于“身份验证 FQDN”,请输入完全限定的域名 (FQDN)(必需)。
选择要使用 Microsoft Entra 身份验证保护的负载均衡虚拟服务器。
选择“绑定”。
注意
确保在“身份验证虚拟服务器配置”窗格中选择“完成”。
要验证更改,请在浏览器中转到应用程序 URL。 应会看到租户登录页面,而不是之前所看到的“未经身份验证的访问”消息。
为基于标题的身份验证配置 Citrix ADC SSO
配置 Citrix ADC
要为基于标题的身份验证配置 Citrix ADC,请完成以下部分。
创建重写操作
转到“AppExpert”>“重写”>“重写操作”。
选择“添加”,然后完成以下步骤:
对于“名称”,请输入重写操作的名称。
对于“类型”,请输入 INSERT_HTTP_HEADER。
对于“标题名称”,请输入标题名称(本示例使用 SecretID)。
对于“表达式”,请输入 aaa.USER.ATTRIBUTE("mySecretID"),其中,mySecretID 是发送到 Citrix ADC 的 Microsoft Entra SAML 声明。
选择“创建”。
创建重写策略
转到“AppExpert”>“重写”>“重写策略”。
选择“添加”,然后完成以下步骤:
对于“名称”,请输入重写策略的名称。
对于“操作”,请选择在上一部分创建的重写操作。
对于“表达式”,请输入 true。
选择“创建”。
将重写策略绑定到虚拟服务器
使用 GUI 将重写策略绑定到虚拟服务器:
转到“流量管理”>“负载均衡”>“虚拟服务器”。
在虚拟服务器列表中,选择要绑定重写策略的虚拟服务器,然后选择“打开”。
在“负载均衡虚拟服务器”窗格中的“高级设置”下,选择“策略”。 为 NetScaler 实例配置的所有策略将显示在列表中。
选中要绑定到此虚拟服务器的策略名称旁边的复选框。
在“选择类型”对话框中:
对于“选择策略”,请选择“流量”。
对于“选择类型”,请选择“请求”。
选择“确定”。 状态栏中会显示一条消息,指出已成功配置策略。
修改 SAML 服务器来从声明中提取属性
转到“安全性”>“AAA - 应用程序流量”>“策略”>“身份验证”>“高级策略”>“操作”>“服务器”。
为应用程序选择适当的身份验证 SAML 服务器。
在“属性”窗格中,输入要提取的 SAML 属性(以逗号分隔)。 在本示例中,输入了属性
mySecretID
。要验证访问权限,请在浏览器中的 URL 中查看“标题集合”下的 SAML 属性。
创建 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 强制实施会话控制。