教程:为基于标头的 SSO 配置 F5 BIG-IP Easy Button
通过 F5 BIG-IP Easy Button 引导式配置 v16.1,了解如何使用 Microsoft Entra ID 保护基于标头的应用程序。
将 BIG-IP 与 Microsoft Entra ID 集成可提供许多好处,具体包括:
- 通过 Microsoft Entra 预身份验证和条件访问改进了零信任治理
- Microsoft Entra ID 与 BIG-IP 已发布服务之间的完整 SSO
- 从一个控制平面管理标识和访问
了解详细信息:
方案说明
此应用场景涵盖使用 HTTP 授权标头来管理对受保护内容的访问的旧版应用程序。 旧版应用程序缺少新式协议来支持与 Microsoft Entra ID 的直接集成。 现代化成本高昂、耗时,并会带来停机风险。 相反,可使用 F5 BIG-IP 应用程序传送控制器 (ADC),通过协议转换来弥补旧版应用程序和新式 ID 控制平面之间的差距。
应用程序前面的 BIG-IP 支持使用 Microsoft Entra 预身份验证和基于标头的 SSO 来叠加服务。 此配置可改善应用程序的整体安全状况。
注意
组织可以使用 Microsoft Entra 应用程序代理远程访问此应用程序类型。 详细了解:通过 Microsoft Entra 应用程序代理远程访问本地应用程序
方案体系结构
SHA 解决方案包含:
- 应用程序:BIG-IP 发布的服务,由 Microsoft Entra SHA 保护
- Microsoft Entra ID:安全断言标记语言 (SAML) 标识提供者 (IdP) 验证用户凭据、条件访问和对 BIG-IP 的基于 SAML 的 SSO。 通过 SSO,Microsoft Entra ID 为 BIG-IP 提供了会话属性。
- BIG-IP:应用程序的反向代理和 SAML 服务提供程序 (SP),在向后端应用程序执行基于标头的 SSO 之前将身份验证委托给 SAML IdP。
对于此应用场景,SHA 支持 SP 和 IdP 启动的流。 下图演示了 SP 启动的流。
- 用户连接到应用程序端点 (BIG-IP)。
- BIG-IP APM 访问策略将用户重定向到 Microsoft Entra ID (SAML IdP)。
- Microsoft Entra 对用户进行预身份验证,并应用条件访问策略。
- 用户被重定向到 BIG-IP (SAML SP),并使用颁发的 SAML 令牌执行 SSO。
- BIG-IP 将 Microsoft Entra 属性作为标头注入到应用程序请求。
- 应用程序授权请求并返回有效负载。
先决条件
对于该应用场景,需要:
- 一个 Azure 订阅
- 如果没有,获取一个 Azure 免费帐户
- 以下角色之一:云应用程序管理员或应用程序管理员
- BIG-IP,或者在 Azure 中部署 BIG-IP Virtual Edition (VE)
- 以下任意 F5 BIG-IP 许可证:
- F5 BIG-IP® Best 捆绑包
- F5 BIG-IP Access Policy Manager™ (APM) 独立许可证
- BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM) 上的 F5 BIG-IP Access Policy Manager™ (APM) 加载项许可证
- 90 天的 BIG-IP 完整功能试用版。 请参阅免费试用版
- 从本地目录同步到 Microsoft Entra ID 的用户标识
- 用于通过 HTTPS 发布服务的 SSL Web 证书,或者使用默认 BIG-IP 证书进行测试
- 请参阅 SSL 配置文件
- 基于标头的应用程序,或设置一个 IIS 标头应用进行测试
- 请参阅设置 IIS 标头应用
BIG-IP 配置
本教程使用具有 Easy Button 模板的引导式配置 v16.1。 有了 Easy Button,管理员无需再来回启用 SHA 服务。 引导式配置向导和 Microsoft Graph 处理部署和策略管理。 BIG-IP APM 和 Microsoft Entra 集成确保应用程序支持联合身份验证、SSO 和条件访问。
注意
请将示例字符串或值替换为你环境中的字符串或值。
注册 Easy Button
提示
本文中的步骤可能因开始使用的门户而略有不同。
在客户端或服务访问 Microsoft Graph 之前,Microsoft 标识平台必须信任它。
了解详细信息:快速入门:将应用程序注册到 Microsoft 标识平台。
创建租户应用注册,以授权 Easy Button 访问 Graph。 有了这些权限,BIG-IP 就能推送配置以在已发布应用程序的 SAML SP 实例和作为 SAML IdP 的 Microsoft Entra ID 之间建立信任。
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“应用注册”>“新建注册”。
在“管理”下,选择“应用注册”>“新建注册”。
输入应用程序的“名称”。
指定谁使用应用程序。
选择“仅此组织目录中的帐户”。
选择“注册”。
导航到“API 权限”。
授权以下 Microsoft Graph 应用程序权限:
- Application.Read.All
- Application.ReadWrite.All
- Application.ReadWrite.OwnedBy
- Directory.Read.All
- Group.Read.All
- IdentityRiskyUser.Read.All
- Policy.Read.All
- Policy.ReadWrite.ApplicationConfiguration
- Policy.ReadWrite.ConditionalAccess
- User.Read.All
向组织授予管理员同意。
在“证书和机密”上,生成新的客户端密码。 记下客户端密码。
从“概述”中,记下“客户端 ID”和“租户 ID”。
配置 Easy Button
启动 APM 引导式配置。
启动 Easy Button 模板。
导航到“访问”>“引导式配置”。
选择“Microsoft Integration”
选择“Microsoft Entra 应用程序”。
查看配置步骤。
选择“下一步”。
使用图示的步骤顺序发布应用程序。
配置属性
使用“配置属性”选项卡创建 BIG-IP 应用程序配置和 SSO 对象。 “Azure 服务帐户详细信息”表示你在 Microsoft Entra 租户中注册的客户端。 使用 BIG-IP OAuth 客户端的设置,通过 SSO 属性在租户中注册 SAML SP。 Easy Button 针对为 SHA 发布和启用的 BIG-IP 服务执行此操作。
可以重复使用设置来发布更多应用程序。
- 输入配置名称。
- 对于“单一登录 (SSO) 和 HTTP 头”,选择“启用”。
- 对于“租户 ID”、“客户端 ID”和“客户端密码”,请输入所记录的内容。
- 确认 BIG-IP 连接到租户。
- 选择“下一个”
服务提供程序
在“服务提供程序设置”中,为受 SHA 保护的应用程序定义 SAML SP 实例设置。
输入主机,即应用程序公共 FQDN。
输入实体 ID,即 Microsoft Entra ID 用于标识请求令牌的 SAML SP 的标识符。
(可选)在“安全设置”中选择“启用加密断言”,使 Microsoft Entra ID 能够加密颁发的 SAML 断言。 Microsoft Entra ID 和 BIG-IP APM 加密断言有助于确保内容令牌不会被截获,也不会泄露个人或公司数据。
在“安全设置”中,从“断言解密私钥”列表中,选择“新建”。
选择“确定”。
此时将显示“导入 SSL 证书和密钥”对话框。
对于“导入类型”,请选择“PKCS 12 (IIS)”。 此操作将导入证书和私钥。
对于“证书和密钥名称”,选择“新建”并输入相关内容。
输入密码。
选择“导入”。
关闭浏览器标签页以返回到主标签页。
- 选中“启用加密断言”框。
- 如果启用了加密,请从“断言解密私钥”列表中选择证书。 BIG-IP APM 使用此证书私钥解密 Microsoft Entra 断言。
- 如果启用了加密,请从“断言解密证书”列表中选择证书。 BIG-IP 将此证书上传到 Microsoft Entra ID,以加密颁发的 SAML 断言。
Microsoft Entra ID
使用以下说明在 Microsoft Entra 租户中配置新的 BIG-IP SAML 应用程序。 Easy Button 具有适用于 Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 的应用程序模板以及通用 SHA 模板。
- 在“Azure 配置”中的“配置属性”下,选择“F5 BIG-IP APM Microsoft Entra ID 集成”。
- 选择“添加”。
Azure 配置
输入 BIG-IP 在 Microsoft Entra 租户中创建的应用显示名称。 用户在 Microsoft“我的应用”上看到带有图标的名称。
跳过“登录 URL(可选)”。
在“签名密钥”和“签名证书”旁边,选择“刷新”以找到导入的证书。
在“签名密钥通行短语”中输入证书密码。
(可选)启用“签名选项”以确保 BIG-IP 接受 Microsoft Entra ID 签名的令牌和声明。
将动态查询“用户和用户组”的输入。
重要
添加用于测试的用户或组,否则所有访问都将被拒绝。 在“用户和用户组”上,选择“+ 添加”。
用户属性和声明
当用户进行身份验证时,Microsoft Entra ID 会颁发 SAML 令牌,其中包含用于标识用户的声明和属性。 “用户属性和声明”选项卡包含应用程序的默认声明。 使用该令牌来配置更多声明。
包括一个或多个属性:
对于“标头名称”,输入 employeeid。
对于“源属性”,输入 user.employeeid。
其他用户属性
在“其他用户属性”选项卡中,启用会话扩充。 对于需要将属性存储在其他目录中的分布式系统(例如 Oracle、SAP 和其他 JAVA 实现),请使用此功能。 从轻型目录访问协议 (LDAP) 源提取的属性将作为更多 SSO 标头注入。 此操作有助于基于角色、合作伙伴 ID 等控制访问权限。
注意
此功能与 Microsoft Entra ID 无关。 它是一个属性源。
条件访问策略
条件访问策略基于设备、应用程序、位置和风险信号控制访问权限。
- 在“可用策略”中,查找没有用户操作的条件访问策略
- 在“所选策略”中,查找云应用策略
- 不能取消选择这些策略或将其移动到“可用策略”,因为它们是在租户级别强制实施的
若要选择将应用于要发布的应用程序的策略,请执行以下操作:
- 在“条件访问策略”选项卡上的“可用策略”列表中,选择一个策略。
- 选择向右键,将其移动到“选定策略”列表。
注意
可以为策略选择“包括”或“排除”选项。 如果同时选择了这两个选项,则策略将取消强制执行。
注意
选择“条件访问策略”选项卡时,系统将显示策略列表。请选择“刷新”,向导将查询租户。 应用程序部署后将显示刷新。
虚拟服务器属性
虚拟服务器是一个 BIG-IP 数据平面对象,由虚拟 IP 地址表示。 服务器侦听客户端对应用程序的请求。 收到的流量都会根据与虚拟服务器关联的 APM 配置文件进行处理和评估。 流量会根据策略进行定向。
对于“目标地址”,请输入 BIG-IP 用于接收客户端流量的 IPv4 或 IPv6 地址。 确保域名服务器 (DNS) 中有与 BIG-IP 发布的应用程序对应的记录,使客户端能够将外部 URL 解析为此 IP。 可使用计算机的 localhost DNS 进行测试。
对于“服务端口”,输入 443,然后选择“HTTPS”。
选中“启用重定向端口”框。
输入“重定向端口”的值。 此选项会将传入 HTTP 客户端流量重定向到 HTTPS。
选择创建的客户端 SSL 配置文件,或者保留默认值以进行测试。 利用客户端 SSL 配置文件,可为 HTTPS 启用虚拟服务器,以便通过 TLS 加密客户端连接。
池属性
“应用程序池”选项卡包含 BIG-IP 背后的服务,这些服务表示为一个池,包含一个或多个应用程序服务器。
对于“选择池”,选择“新建”,或选择另一个池。
对于“负载均衡方法”,选择“循环配置”。
对于“池服务器”,选择一个节点,或者为托管基于标头的应用程序的服务器选择 IP 地址和端口。
注意
Microsoft 后端应用程序位于 HTTP 端口 80 上。 如果选择 HTTPS,请使用 443。
单一登录和 HTTP 头
使用 SSO,用户无需输入凭据即可访问 BIG-IP 发布的服务。 Easy Button 向导支持适用于 SSO 的 Kerberos、OAuth 持有者和 HTTP 授权标头。
在“单一登录和 HTTP 头”上的“SSO 标头”中,对于“标头操作”,选择“插入”
对于“标头名称”,使用 upn。
对于“标头值”,使用 %{session.saml.last.identity}。
对于“标头操作”,选择“insert”。
对于“标头名称”,使用 employeeid。
对于“标头值”,使用 %{session.saml.last.attr.name.employeeid}。
注意
大括号中的 APM 会话变量区分大小写。 不一致会导致属性映射失败。
会话管理
使用 BIG-IP 会话管理设置定义用户会话终止或继续的条件。
若要了解详细信息,请转到 support.f5.com 查看“K18390492:安全性 | BIG-IP APM 操作指南”
单一退出登录 (SLO) 可确保 IdP、BIG-IP 和用户代理会话在用户退出登录后终止。当 Easy Button 在 Microsoft Entra 租户中实例化 SAML 应用程序时,还会使用 APM SLO 端点来填充退出登录 URL。 IdP 从我的应用发起的退出登录会终止 BIG-IP 和客户端会话。
了解详细信息:请参阅我的应用
已发布应用程序的 SAML 联合身份验证元数据是从租户导入的。 导入为 APM 提供了 Microsoft Entra ID 的 SAML 退出登录端点。 此操作可确保 SP 发起的退出登录能够终止客户端和 Microsoft Entra 会话。 确保 APM 知道用户退出登录的时间。
如果 BIG-IP Webtop 门户访问已发布的应用程序,则 eAPM 将处理退出登录以调用 Microsoft Entra 退出登录端点。 如果不使用 BIG-IP Webtop 门户,则用户无法指示 APM 退出登录。如果用户退出登录应用程序,则 BIG-IP 也无法获知此情况。 因此,请确保 SP 发起的退出登录安全地终止会话。 可以将 SLO 函数添加到应用程序的“退出登录”按钮,然后,客户端将重定向到 Microsoft Entra SAML 或 BIG-IP 退出登录端点。 若要查找租户的 SAML 退出登录端点 URL,请转到“应用注册”>“端点”。
如果无法更改应用,请启用 BIG-IP 以侦听应用程序退出登录调用并触发 SLO。
了解详细信息:
- PeopleSoft 单一注销
- 转到 support.f5.com:
部署
部署提供了你的配置明细。
- 若要提交设置,请选择“部署”。
- 验证企业应用程序的租户列表中的应用程序。
- 应用程序已发布,并且可通过 SHA(通过其 URL 或在 Microsoft 应用程序门户上)进行访问。
测试
- 在浏览器中,连接到应用程序外部 URL,或在“我的应用”中选择应用程序图标。
- 对 Microsoft Entra ID 进行身份验证。
- 将重定向到应用程序的 BIG-IP 虚拟服务器,并通过 SSO 登录。
以下屏幕截图是从基于标头的应用程序注入的标头输出。
注意
可以阻止对应用程序的直接访问,从而通过 BIG-IP 强制执行路径。
高级部署
对于某些应用场景,引导式配置模板缺乏灵活性。
了解详细信息:教程:为基于标头的 SSO 配置 F5 BIG-IP 访问策略管理器。
在 BIG-IP 中,可以禁用引导式配置严格管理模式。 然后,请手动更改配置,但是大多数配置都是使用向导模板自动执行的。
若要禁用严格模式,请导航到“访问”>“引导式配置”。
在应用程序配置的行上,选择挂锁图标。
与应用程序的已发布实例关联的 BIG-IP 对象都将解除锁定,以便进行管理。 无法再使用向导进行更改。
注意
如果重新启用严格模式并部署配置,则操作将覆盖不在引导式配置中的设置。 建议对生产服务使用高级配置。
疑难解答
在进行故障排除时,请使用以下指导。
日志详细程度
BIG-IP 日志有助于发现连接性、SSO、策略或错误配置的变量映射的问题。 若要进行故障排除,请提高日志详细程度。
- 导航到“访问策略”>“概述”。
- 选择“事件日志”。
- 选择“设置”。
- 选择已发布应用程序所在的行
- 选择“编辑”。
- 选择“访问系统日志”。
- 从 SSO 列表中,选择“调试”。
- 选择“确定”。
- 重现此问题。
- 检查日志。
注意
完成后还原此功能。 详细模式会生成过多的数据。
BIG-IP 错误消息
如果在 Microsoft Entra 预身份验证后出现 BIG-IP 错误消息,则问题可能与从 Microsoft Entra ID 到 BIG-IP 的 SSO 有关。
- 导航到“访问策略”>“概述”。
- 选择“访问报告”。
- 运行过去一小时的报告。
- 查看日志以获取线索。
使用会话的“查看会话”变量链接来帮助了解 APM 是否接收预期的 Microsoft Entra 声明。
无 BIG-IP 错误消息
如果未显示 BIG-IP 错误消息,则问题可能与后端请求或 BIG-IP 到应用程序的 SSO 有关。
- 导航到“访问策略”>“概述”。
- 选择“活动会话”。
- 选择活动会话链接。
使用“查看变量”链接来帮助确定 SSO 问题,尤其是在 BIG-IP APM 未获取正确属性时。
了解详细信息:
- 为 Active Directory 配置 LDAP 远程身份验证
- 转到 techdocs.f5.com 查看手动章节:LDAP 查询