教程:配置适用于 SSO to Oracle EBS 的 F5 BIG-IP Easy Button
了解如何通过 F5 BIG-IP Easy Button 引导式配置,使用 Microsoft Entra ID 保护 Oracle E-Business Suite (EBS)。 将 BIG-IP 与 Microsoft Entra ID 集成具有许多好处:
- 通过 Microsoft Entra 预身份验证和条件访问改进了零信任治理
- Microsoft Entra ID 与 BIG-IP 已发布服务之间的完整 SSO
- 从一个控制平面管理标识和访问
了解详细信息:
方案说明
此应用场景介绍使用 HTTP 授权标头来管理受保护内容访问权限的经典 Oracle EBS 应用程序。
旧版应用程序缺乏支持 Microsoft Entra 集成的新式协议。 现代化成本高昂、耗时,并会带来停机风险。 相反,可使用 F5 BIG-IP 应用程序传送控制器 (ADC),通过协议转换来弥补旧版应用程序和新式 ID 控制平面之间的差距。
应用前面的 BIG-IP 支持使用 Microsoft Entra 预身份验证和基于标头的 SSO 来叠加服务。 此配置可改进应用程序的安全状况。
方案体系结构
安全混合访问 (SHA) 解决方案包含以下组件:
- Oracle EBS 应用程序:BIG-IP 发布的服务由 Microsoft Entra SHA 保护
- Microsoft Entra ID:安全断言标记语言 (SAML) 标识提供者 (IdP) 验证用户凭据、条件访问和对 BIG-IP 的基于 SAML 的 SSO
- 使用 SSO 时,Microsoft Entra ID 提供 BIG-IP 会话属性
- Oracle Internet 目录 (OID):托管用户数据库
- BIG-IP 使用 LDAP 验证授权属性
- Oracle E-Business Suite AccessGate:使用 OID 服务验证授权属性,然后发出 EBS 访问 Cookie
- BIG-IP:应用程序的反向代理和 SAML 服务提供程序 (SP)
- 身份验证被委托给 SAML IdP,然后以基于标头的 SSO 方式访问 Oracle 应用程序
SHA 支持 SP 和 IdP 发起的流。 下图演示了 SP 启动的流。
- 用户连接到应用程序端点 (BIG-IP)。
- BIG-IP APM 访问策略将用户重定向到 Microsoft Entra ID (SAML IdP)。
- Microsoft Entra 对用户进行预身份验证,并应用条件访问策略。
- 用户被重定向到 BIG-IP (SAML SP),并使用颁发的 SAML 令牌执行 SSO。
- BIG-IP 对用户唯一 ID (UID) 属性执行 LDAP 查询。
- BIG-IP 将返回的 UID 属性作为 Oracle EBS 会话 Cookie 请求中的 user_orclguid 标头注入到 Oracle AccessGate。
- Oracle AccessGate 对照 OID 服务验证 UID,并发出 Oracle EBS 访问 Cookie。
- 将 Oracle EBS 用户标头和 Cookie 发送到应用程序,并将有效负载返回给用户。
先决条件
你需要下列组件:
- 一个 Azure 订阅
- 如果没有,获取一个 Azure 免费帐户
- 云应用程序管理员或应用程序管理员角色。
- BIG-IP,或者在 Azure 中部署 BIG-IP Virtual Edition (VE)
- 以下任意 F5 BIG-IP 许可证 SKU:
- 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 的用户标识
- SSL 证书(用于通过 HTTPS 发布服务)或者在测试时使用默认证书
- 请参阅 SSL 配置文件
- Oracle EBS、Oracle AccessGate 和启用了 LDAP 的 Oracle Internet 数据库 (OID)
BIG-IP 配置方法
本教程使用引导式配置 v16.1 Easy Button 模板。 有了 Easy Button,管理员无需再来回启用 SHA 服务。 APM 引导式配置向导和 Microsoft Graph 负责处理部署和策略管理。 这种集成可确保应用程序支持联合身份验证、SSO 和条件访问,从而减少管理开销。
注意
请将示例字符串或值替换为你环境中的字符串或值。
注册 Easy Button
提示
本文中的步骤可能因开始使用的门户而略有不同。
在客户端或服务访问 Microsoft Graph 之前,Microsoft 标识平台必须信任它。
了解详细信息:快速入门:将应用程序注册到 Microsoft 标识平台
创建租户应用注册,以授权 Easy Button 访问 Graph。 BIG-IP 通过推送配置在已发布应用程序的 SAML SP 实例和作为 SAML IdP 的 Microsoft Entra ID 之间建立信任。
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“应用注册”>“新建注册”。
输入应用程序的“名称”。 例如 F5 BIG-IP Easy Button。
指定谁能使用应用程序 >“仅此组织目录中的帐户”。
选择“注册”。
导航到“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 集成”。
选择“Microsoft Entra 应用程序”。
查看配置选项。
选择“下一步”。
使用图形来帮助发布应用程序。
配置属性
“配置属性”选项卡用于创建 BIG-IP 应用程序配置和 SSO 对象。 “Azure 服务帐户详细信息”部分表示你在 Microsoft Entra 租户中注册的客户端(作为应用程序)。 通过这些设置,BIG-IP OAuth 客户端使用 SSO 属性在租户中注册 SAML SP。 Easy Button 针对为 SHA 发布和启用的 BIG-IP 服务执行此操作。
若要减少时间和工作量,请重复使用全局设置来发布其他应用程序。
- 输入配置名称。
- 对于“单一登录 (SSO) 和 HTTP 头”,选择“启用”。
- 对于“租户 ID”、“客户端 ID”和“客户端密码”,请输入在 Easy Button 客户端注册过程中记下的内容。
- 确认 BIG-IP 连接到租户。
- 选择“下一步”。
服务提供程序
对受保护应用程序的 SAML SP 实例的属性使用服务提供程序设置。
对于“主机”,输入应用程序的公共 FQDN。
对于“实体 ID”,输入 Microsoft Entra ID 用于请求令牌的 SAML SP 的标识符。
(可选)在“安全设置”中,选择或清除“启用加密断言”选项。 加密 Microsoft Entra ID 与 BIG-IP APM 之间的断言意味着无法截获内容令牌,也不会损害个人或公司数据。
从“断言解密私钥”列表中,选择“新建”
选择“确定”。
新标签页中此时显示“导入 SSL 证书和密钥”对话框。
选择“PKCS 12 (IIS)”。
导入证书和私钥。
关闭浏览器标签页以返回到主标签页。
选择“启用加密断言”。
如果启用了加密,请从“断言解密私钥”列表中,选择 BIG-IP APM 用于解密 Microsoft Entra 断言的证书私钥。
如果启用了加密,请从“断言解密证书”列表中选择 BIG-IP 上传到 Microsoft Entra ID 用于加密颁发的 SAML 断言的证书。
Microsoft Entra ID
Easy Button 具有适用于 Oracle PeopleSoft、Oracle E-Business Suite、Oracle JD Edwards、SAP ERP 的应用程序模板以及通用 SHA 模板。 以下屏幕截图是 Azure 配置下的 Oracle E-Business Suite 选项。
- 选择 Oracle E-Business Suite。
- 选择“添加”。
Azure 配置
输入 BIG-IP 在 Microsoft Entra 租户中创建的应用的“显示名称”,以及 MyApps 中的图标。
在“登录 URL (可选)”中,输入 EBS 应用程序公共 FQDN。
输入 Oracle EBS 主页的默认路径。
在“签名密钥”和“签名证书”旁边,选择“刷新”图标。
找到导入的证书。
在“签名密钥通行短语”中输入证书密码。
(可选)启用“签名选项”。 此选项可确保 BIG-IP 接受 Microsoft Entra ID 签名的令牌和声明。
对于“用户和用户组”,请添加用于测试的用户或组,否则所有访问都将被拒绝。 将从 Microsoft Entra 租户动态查询用户和用户组,并使用这些用户和用户组授予应用程序访问权限。
用户属性和声明
如果用户进行身份验证,Microsoft Entra ID 会颁发 SAML 令牌,其中包含标识用户的默认声明和属性。 “用户属性和声明”选项卡包含要为新应用程序发布的默认声明。 使用此区域来配置更多声明。 如果需要,请添加 Microsoft Entra 属性,但 Oracle EBS 应用场景需要使用默认属性。
其他用户属性
“其他用户属性”选项卡支持分布式系统,这些系统需要目录中存储的属性,以用于会话增强。 将从 LDAP 源提取的属性作为多个 SSO 标头注入,以根据角色、合作伙伴 ID 等控制访问权限。
启用“高级设置”选项。
选中“LDAP 属性”复选框。
在“选择身份验证服务器”中选择“新建”。
根据设置,选择“使用池”或“直接”服务器连接模式以提供目标 LDAP 服务的服务器地址。 如果使用单个 LDAP 服务器,请选择“直接”。
对于“服务端口”,请输入 3060(默认)、3161(安全)或用于 Oracle LDAP 服务的其他端口。
输入基本搜索 DN。 使用可分辨名称 (DN) 搜索目录中的组。
对于“管理员 DN”,请输入 APM 用于对 LDAP 查询进行身份验证的帐户可分辨名称。
对于“管理员密码”,请输入密码。
保留默认的 LDAP 架构属性。
在“LDAP 查询属性”下,对于“搜索 Dn”,输入用于用户对象搜索的 LDAP 服务器基节点。
对于“必需属性”,输入要从 LDAP 目录返回的用户对象属性名称。 对于 EBS,默认值为 orclguid。
条件访问策略
条件访问策略基于设备、应用程序、位置和风险信号控制访问权限。 在 Microsoft Entra 预身份验证后强制实施策略。 “可用策略”视图包含没有用户操作的条件访问策略。 “选定策略”视图包含针对云应用的策略。 不能取消选中这些策略或将其移动到“可用策略”,因为它们是在租户级别强制实施的。
若要为待发布的应用程序选择策略,请执行以下操作:
在“可用策略”中选择策略。
选择向右键。
将策略移动到“选定策略”。
注意
对于某些策略,已选择“包括”或“排除”选项。 如果同时选中这两个选项,则不会强制执行策略。
注意
选择“条件访问策略”选项卡,随即会显示策略列表。 选择“刷新”,向导将查询租户。 对于已部署的应用程序,将显示“刷新”。
虚拟服务器属性
虚拟服务器是一个 BIG-IP 数据平面对象,由侦听应用程序客户端请求的虚拟 IP 地址表示。 收到的流量都会根据与虚拟服务器关联的 APM 配置文件进行处理和评估。 然后流量会根据策略进行定向。
输入目标地址,它可以是 BIG-IP 用于接收客户端流量的 IPv4 或 IPv6 地址。 确保 DNS 中有与 BIG-IP 发布的应用程序对应的记录,使客户端能够将外部 URL 解析为此 IP。 使用测试计算机 localhost DNS 进行测试。
对于“服务端口”,输入 443,然后选择“HTTPS”。
选择“启用重定向端口”。
对于“重定向端口”,输入 80,然后选择“HTTP”。 此操作会将传入的 HTTP 客户端流量重定向到 HTTPS。
选择创建的客户端 SSL 配置文件,或者保留默认值以进行测试。 客户端 SSL 配置文件为 HTTPS 启用虚拟服务器。 客户端连接通过 TLS 加密。
池属性
“应用程序池”选项卡包含 BIG-IP 背后的服务,即一个池,其中包含一个或多个应用程序服务器。
在“选择池”中,选择“新建”,或选择另一个选项。
对于“负载均衡方法”,选择“循环配置”。
在“池服务器”下,为托管 Oracle EBS 的服务器选择并输入 IP 地址/节点名称和端口。
选择“HTTPS”。
在“访问入口池”下,确认“访问入口子路径”。
对于“池服务器”,为托管 Oracle EBS 的服务器选择并输入 IP 地址/节点名称和端口。
选择“HTTPS”。
单一登录和 HTTP 头
Easy Button 向导针对发布的应用程序支持适用于 SSO 的 Kerberos、OAuth 持有者和 HTTP 授权标头。 Oracle EBS 应用程序需要标头,因此启用 HTTP 头。
在“单一登录和 HTTP 头”上,选择“HTTP 头”。
对于“标头操作”,选择“替换”。
对于“标头名称”,输入 USER_NAME。
对于“标头值”,输入 %{session.sso.token.last.username}。
对于“标头操作”,选择“替换”。
对于“标头名称”,输入 USER_ORCLGUID。
对于“标头值”,输入 %{session.ldap.last.attr.orclguid}。
注意
大括号中的 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 和客户端之间的会话。
请参阅 Microsoft 我的应用
已发布应用程序的 SAML 联合身份验证元数据是从租户导入的。 此操作为 APM 提供了 Microsoft Entra ID 的 SAML 退出登录端点。 然后,SP 发起的退出登录会终止客户端和 Microsoft Entra 会话。 确保 APM 知道用户退出登录的时间。
如果使用 BIG-IP Webtop 门户访问已发布的应用程序,则 APM 将处理退出登录以调用 Microsoft Entra 退出登录端点。 如果不使用 BIG-IP Webtop 门户,用户就无法指示 APM 进行退出登录。如果用户退出登录该应用程序,BIG-IP 也无法获知该操作。 确保 SP 发起的退出登录触发安全会话终止。 将 SLO 函数添加到应用程序的“退出登录”按钮,以将客户端重定向到 Microsoft Entra SAML 或 BIG-IP 退出登录端点。 在“应用注册”>“端点”中可以找到租户的 SAML 退出登录端点 URL。
如果无法更改应用,请让 BIG-IP 侦听应用程序退出登录调用并触发 SLO。
了解详细信息:
- PeopleSoft SLO 注销
- 转到 support.f5.com:
部署
- 选择“部署”以提交设置。
- 验证应用程序是否显示在租户企业应用程序列表中。
测试
- 从浏览器连接到 Oracle EBS 应用程序的外部 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 无法从 Microsoft Entra ID 或其他源获取正确属性的情况下。
了解详细信息:
- 转到 devcentral.f5.com 查看 APM 变量分配示例
- 转到 techdocs.f5.com 查看手动章节:会话变量
验证 APM 服务帐户
使用以下 bash shell 命令验证用于 LDAP 查询的 APM 服务帐户。 该命令对用户对象进行身份验证和查询。
ldapsearch -xLLL -H 'ldap://192.168.0.58' -b "CN=oraclef5,dc=contoso,dc=lds" -s sub -D "CN=f5-apm,CN=partners,DC=contoso,DC=lds" -w 'P@55w0rd!' "(cn=testuser)"
了解详细信息:
- 转到 support.f5.com 查看 K11072:为 AD 配置 LDAP 远程身份验证
- 转到 techdocs.f5.com 查看手动章节:LDAP 查询