教程:配置用于对 Oracle PeopleSoft 进行 SSO 的 F5 BIG-IP Easy Button

本文介绍如何通过 F5 BIG-IP Easy Button 引导式配置 16.1,使用 Microsoft Entra ID 保护 Oracle PeopleSoft (PeopleSoft)。

将 BIG-IP 与 Microsoft Entra ID 集成,可获得许多好处:

了解详细信息:

方案描述

对于此教程,将通过一个使用 HTTP 授权标头的 PeopleSoft 应用程序来管理对受保护内容的访问。

旧版应用程序缺乏支持 Microsoft Entra 集成的新式协议。 现代化成本高昂,需要规划,还会带来潜在的停机风险。 相反,可使用 F5 BIG-IP 应用程序传送控制器 (ADC),通过协议转换来弥补旧版应用程序和新式 ID 控制之间的差距。

通过应用前面的 BIG-IP,可以使用 Microsoft Entra 预身份验证和基于标头的 SSO 来覆盖服务。 此操作可改善应用程序的安全状况。

注意

可以使用 Microsoft Entra 应用程序代理远程访问此类应用程序。
请参阅通过 Microsoft Entra 应用程序代理远程访问本地应用程序

方案体系结构

此教程的安全混合访问 (SHA) 解决方案包含以下组件:

  • PeopleSoft 应用程序 - 由 Microsoft Entra SHA 保护的 BIG-IP 发布的服务
  • Microsoft Entra ID - 安全断言标记语言 (SAML) 标识提供者 (IdP) 验证用户凭据、条件访问和对 BIG-IP 的基于 SAML 的 SSO
    • 通过 SSO,Microsoft Entra ID 为 BIG-IP 提供会话属性
  • BIG-IP - 应用程序的反向代理和 SAML 服务提供商 (SP)。 它将身份验证委托给 SAML IdP,然后对 PeopleSoft 服务执行基于标头的 SSO。

对于此方案,SHA 支持 SP 和 IdP 启动的流。 下图演示了 SP 启动的流。

安全混合访问以及 SP 发起的流的示意图。

  1. 用户连接到应用程序终结点 (BIG-IP)。
  2. BIG-IP APM 访问策略将用户重定向到 Microsoft Entra ID (SAML IdP)。
  3. Microsoft Entra 对用户进行预身份验证,并应用条件访问策略。
  4. 用户被重定向到 BIG-IP (SAML SP),并使用颁发的 SAML 令牌执行 SSO。
  5. BIG-IP 将 Microsoft Entra 特性作为标头注入到应用程序请求
  6. 应用程序授权请求并返回有效负载。

先决条件

BIG-IP 配置

本教程使用具有 Easy Button 模板的引导式配置 16.1。

借助 Easy Button,管理员不需要在 Microsoft Entra ID 和 BIG-IP 之间来回切换以启用 SHA 服务。 APM 引导式配置向导和 Microsoft Graph 处理部署和策略管理。 集成确保应用程序支持联合身份验证、SSO 和条件访问。

注意

将本教程中的示例字符串或值替换为你环境中的字符串或值。

注册 Easy Button

提示

本文中的步骤可能因开始使用的门户而略有不同。

在客户端或服务访问 Microsoft Graph 之前,Microsoft 标识平台必须信任它。

了解详细信息:快速入门:将应用程序注册到 Microsoft 标识平台

以下说明可帮助你创建租户应用注册,以授权 Easy Button 对 Graph 的访问权限。 有了这些权限,BIG-IP 就能推送配置以在已发布应用程序的 SAML SP 实例和作为 SAML IdP 的 Microsoft Entra ID 之间建立信任。

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

  2. 浏览到“标识”>“应用程序”>“应用注册”>“新建注册”。

  3. 输入应用程序名称

  4. 在“仅此组织目录中的帐户”中,指定由谁使用应用程序。

  5. 选择“注册”。

  6. 导航到“API 权限”。

  7. 授权以下 Microsoft Graph 应用程序权限:

    • 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
  8. 向组织授予管理员同意。

  9. 转到“证书和机密”

  10. 生成新的客户端密码并记下它。

  11. 转到“概述”,记下“客户端 ID”和“租户 ID”。

配置 Easy Button

  1. 启动 APM 引导式配置。
  2. 启动 Easy Button 模板。
  3. 导航到“访问”>“引导式配置”。
  4. 选择“Microsoft Integration”。
  5. 选择“Microsoft Entra 应用程序”。
  6. 查看配置顺序。
  7. 选择“下一步”
  8. 遵循配置顺序。

“Microsoft Entra 应用程序配置”下的配置顺序的屏幕截图。

Configuration Properties

使用“配置属性”选项卡创建新的应用程序配置和 SSO 对象。 “Azure 服务帐户详细信息”部分表示你在 Microsoft Entra 租户中注册的客户端(作为应用程序)。 使用 BIG-IP OAuth 客户端的设置,通过 SSO 属性在租户中注册 SAML SP。 Easy Button 针对为 SHA 发布和启用的 BIG-IP 服务执行此操作。

注意

以下某些设置是全局设置。 可以重复使用它们来发布更多应用程序。

  1. 输入配置名称。 唯一名称有助于区分配置。
  2. 对于“单一登录 (SSO) 和 HTTP 标头”,选择“启用”
  3. 输入你记下的“租户 ID”、“客户端 ID”和“客户端密码”。
  4. 确认 BIG-IP 连接到租户。
  5. 选择“下一步”。

“配置属性”选项和选择的屏幕截图。

服务提供商

使用“服务提供程序”设置定义表示受 SHA 保护的应用程序的 APM 实例 SAML SP 属性。

  1. 对于“主机”,输入受保护的应用程序的公共 FQDN。
  2. 对于“实体 ID”,输入 Microsoft Entra ID 用于标识请求令牌的 SAML SP 的标识符。

“服务提供程序”选项和选择的屏幕截图。

  1. (可选)对于“安全设置”,指定 Microsoft Entra ID 加密颁发的 SAML 断言。 此选项可提高内容令牌不会被截获或数据不会泄露的保证。

  2. 从“断言解密私钥”列表中,选择“新建”。

“断言解密私钥”列表中的“新建”的屏幕截图。

  1. 选择“确定”。
  2. 新标签页中此时显示“导入 SSL 证书和密钥”对话框。
  3. 对于“导入类型”,请选择“PKCS 12 (IIS)”。 此选项会导入证书和私钥。
  4. 关闭浏览器标签页以返回到主标签页。

“SSL 证书和密钥源”的选项和选择的屏幕截图

  1. 选中“启用加密断言”框。
  2. 如果启用了加密,请从“断言解密私钥”列表中选择你的证书。 这是 BIG-IP APM 用于解密 Microsoft Entra 断言的证书的私钥。
  3. 如果启用了加密,请从“断言解密证书”列表中选择你的证书。 BIG-IP 将此证书上传到 Microsoft Entra ID,以加密颁发的 SAML 断言。

“安全设置”选项和选择的屏幕截图。

Microsoft Entra ID

Easy Button 具有适用于 Oracle PeopleSoft、Oracle E-Business Suite、Oracle JD Edwards、SAP ERP 的模板以及通用 SHA 模板。

  1. 选择“Oracle PeopleSoft”。
  2. 选择添加

Azure 配置

  1. 输入 BIG-IP 在租户中创建的应用的“显示名称”。 名称显示在我的应用中的图标上。

  2. (可选)对于“登录 URL”,输入 PeopleSoft 应用程序公共 FQDN。

  3. 在“签名密钥”和“签名证书”旁边,选择“刷新”。 此操作将查找你导入的证书。

  4. 对于“签名密钥通行短语”,输入证书密码。

  5. (可选)对于“签名选项”,请选择一个选项。 该选择可确保 BIG-IP 接受 Microsoft Entra ID 签名的令牌和声明。

“SAML 签名证书”下的“签名密钥”、“签名证书”和“签名密钥通行短语”选项的屏幕截图。

  1. 将从 Microsoft Entra 租户动态查询“用户和用户组”。
  2. 添加用于测试的用户或组,否则访问将被拒绝。

“用户和用户组”下的“添加”选项的屏幕截图。

用户属性和声明

如果用户进行身份验证,Microsoft Entra ID 会颁发 SAML 令牌,其中包含标识用户的默认声明和属性。 “用户属性和声明”选项卡包含要为新应用程序发布的默认声明。 使用该令牌来配置更多声明。 Easy Button 模板具有 PeopleSoft 所需的员工 ID 声明。

“用户属性和声明”的选项和选择的屏幕截图。

如果需要,请包括其他 Microsoft Entra 属性。 示例 PeopleSoft 应用程序需要预定义的属性。

其他用户属性

“其他用户属性”选项卡支持分布式系统,这些系统要求将属性存储在其他目录中,以增强会话。 来自 LDAP 源的属性作为其他 SSO 标头注入,以根据角色、合作伙伴 ID 等控制访问权限。

注意

此功能与 Microsoft Entra ID 无关,它是另一个属性源。

条件性访问策略

条件访问策略在 Microsoft Entra 预身份验证后强制实施,以控制基于设备、应用程序、位置和风险信号的访问。 “可用策略”视图包含没有用户操作的条件访问策略。 “选定策略”视图中有针对云应用的策略。 不能取消选中这些策略或将其移动到“可用策略”列表,因为它们是在租户级别强制实施的。

为应用程序选择策略。

  1. 在“可用策略”列表中选择策略。
  2. 选择向右箭头,将策略移动到“选定策略”。

选定策略会选中“包括”或“排除”选项。 如果同时选中这两个选项,则不会强制执行策略。

“条件访问策略”选项卡上“选定策略”下的已排除策略的屏幕截图。

注意

选择选项卡时,策略列表会出现一次。对向导使用“刷新”以查询租户。 部署应用程序后会显示此选项。

虚拟服务器属性

虚拟服务器是一个 BIG-IP 数据平面对象,由虚拟 IP 地址表示。 服务器侦听客户端对应用程序的请求。 系统会根据虚拟服务器 APM 配置文件处理和评估收到的流量。 然后流量会根据策略进行定向。

  1. 对于“目标地址”,请输入 BIG-IP 用于接收客户端流量的 IPv4 或 IPv6 地址。 DNS 中会显示相应的记录,使客户端能够将已发布应用程序的外部 URL 解析为 IP。 使用测试计算机 localhost DNS 进行测试。
  2. 对于“服务端口”,输入“443”,然后选择“HTTPS”。
  3. 选中“启用重定向端口”框。
  4. 对于“重定向端口”,输入“80”,然后选择“HTTP”。 此选项会将传入 HTTP 客户端流量重定向到 HTTPS。
  5. 对于“客户端 SSL 配置文件”,选择“使用现有项”。
  6. 在“通用”下,选择你创建的选项。 在测试时,请保留默认值。 利用客户端 SSL 配置文件,可为 HTTPS 启用虚拟服务器,以便通过 TLS 加密客户端连接。

“虚拟服务器属性”选项和选择的屏幕截图。

池属性

“应用程序池”选项卡显示了 BIG-IP 背后的服务,表示为包含应用程序服务器的池。

  1. 对于“选择池”,选择“新建”,或选择另一个池。
  2. 对于“负载均衡方法”,选择“轮循机制”。
  3. 对于“池服务器”,在“IP 地址/节点名称”中选择一个节点,或输入承载 PeopleSoft 应用程序的服务器的 IP 和端口。

“池属性”上的“IP 地址/节点名称”和“端口”选项的屏幕截图。

单一登录和 HTTP 标头

Easy Button 向导针对发布的应用程序支持适用于 SSO 的 Kerberos、OAuth 持有者和 HTTP 授权标头。 PeopleSoft 应用程序需要标头。

  1. 选中“HTTP 标头”框。
  2. 对于“标头操作”,选择“替换”。
  3. 对于“标头名称”,输入“PS_SSO_UID”。
  4. 对于“标头值”,输入 %{session.sso.token.last.username}。

“单一登录和 HTTP 标头”下的“标头操作”、“标头名称”和“标头值”条目的屏幕截图。

注意

大括号中的 APM 会话变量区分大小写。 例如,如果输入 OrclGUID 且属性名称为 orclguid,则属性映射会失败。

会话管理

使用 BIG-IP 会话管理设置定义用户会话终止或继续的条件。 设置对用户和 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 门户访问已发布的应用程序时,APM 会处理退出登录以调用 Microsoft Entra 退出登录终结点。 如果不使用 BIG-IP Webtop 门户,用户就无法指示 APM 进行退出登录。如果用户退出登录应用程序,BIG-IP 将无法获知。 SP 发起的退出登录需要安全会话终止。 将 SLO 函数添加到应用程序的“退出登录”按钮,以将客户端重定向到 Microsoft Entra SAML 或 BIG-IP 退出登录终结点。 在“应用注册 > 终结点”中可以找到租户的 SAML 退出登录终结点 URL。

如果无法更改应用,请考虑让 BIG-IP 侦听应用程序退出登录调用,然后触发 SLO。 有关详细信息,请参阅以下部分中的“PeopleSoft 单一退出登录”。

部署

  1. 选择“部署”。
  2. 验证企业应用程序的租户列表中的应用程序。
  3. 应用程序可通过 SHA 发布和访问。

配置 PeopleSoft

使用 Oracle Access Manager 进行 PeopleSoft 应用程序标识和访问管理。

若要了解详细信息,请转到 docs.oracle.com 了解 Oracle Access Manger 集成指南(集成 PeopleSoft)

配置 Oracle Access Manager SSO

将 Oracle Access Manager 配置为接受来自 BIG-IP 的 SSO。

  1. 使用管理员权限登录到 Oracle 控制台。

Oracle 控制台的屏幕截图。

  1. 导航到“PeopleTools”>“安全性”。
  2. 选择“用户配置文件”。
  3. 选择“用户配置文件”。
  4. 创建新用户配置文件。
  5. 对于“用户 ID”,输入“OAMPSFT”
  6. 对于“用户角色”,输入“PeopleSoft 用户”。
  7. 选择“保存” 。

“角色”选项卡的“用户配置文件”上的“用户 ID”的屏幕截图。

  1. 导航到“PeopleTools”>“Web 配置文件”。
  2. 选择 Web 配置文件。
  3. 在“安全性”选项卡上的“公共用户”中,选择“允许公共访问”。
  4. 对于“用户 ID”,输入“OAMPSFT”。
  5. 输入密码

“公共用户”的选项和选择的屏幕截图。

  1. 离开 Peoplesoft 控制台。
  2. 启动 PeopleTools 应用程序设计器。
  3. 右键单击“LDAPAUTH”字段。
  4. 选择“查看 PeopleCode”。

应用程序设计器下的“LDAPAUTH”选项的屏幕截图。

  1. “LDAPAUTH”代码窗口随即打开。

  2. 找到“OAMSSO_AUTHENTICATION”函数。

  3. 将“&defaultUserId”值替换为“OAMPSFT”

    “函数”下默认用户 ID 值等于 OAMPSFT 的屏幕截图。

  4. 保存该记录。

  5. 导航到“PeopleTools”>“安全性”。

  6. 选择“安全对象”。

  7. 选择“登录 PeopleCode”。

  8. 启用“OAMSSO_AUTHENTICATION”。

PeopleSoft 单一注销

在从我的应用退出登录时会启动 PeopleSoft SLO,而这又会调用 BIG-IP SLO 终结点。 需要指示 BIG-IP 代表应用程序执行 SLO。 让 BIG-IP 侦听用户向 PeopleSoft 发出的退出登录请求,然后触发 SLO。

为 PeopleSoft 用户添加 SLO 支持。

  1. 获取 PeopleSoft 门户注销 URL。
  2. 使用 Web 浏览器打开门户。
  3. 启用调试工具。
  4. 找到 ID 为 PT_LOGOUT_MENU 的元素。
  5. 使用查询参数保存 URL 路径。 在本示例中:/psp/ps/?cmd=logout

PeopleSoft 注销 URL 的屏幕截图。

创建 BIG-IP iRule 以将用户重定向到 SAML SP 退出登录终结点:/my.logout.php3

  1. 导航到“本地流量”>“iRule 列表”。
  2. 选择“创建” 。
  3. 输入规则“名称”。
  4. 输入以下命令行。

when HTTP_REQUEST {switch -glob -- [HTTP::uri] { "/psp/ps/?cmd=logout" {HTTP::redirect "/my.logout.php3" }}}

  1. 选择“完成”。

将 iRule 分配给 BIG-IP 虚拟服务器。

  1. 导航到“访问”>“引导式配置”。
  2. 选择 PeopleSoft 应用程序配置链接。

PeopleSoft 应用程序配置链接的屏幕截图。

  1. 在顶部导航栏中,选择“虚拟服务器”。
  2. 对于“高级设置”,选择“开”。

“虚拟服务器属性”的“高级设置”的屏幕截图。

  1. 滚动到底部。
  2. 在“通用”下,添加创建的 iRule。

“虚拟服务器配置”的“通用”下的 irule 的屏幕截图。

  1. 选择“保存”。
  2. 选择“下一步” 。
  3. 继续配置设置。

若要了解详细信息,请转到 support.f5.com:

默认为 PeopleSoft 登陆页

将用户请求从根(“/”)重定向到通常位于以下位置的外部 PeopleSoft 门户:“/psc/ps/EXTERNAL/HRMS/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL”

  1. 导航到“本地流量”>“iRule”。
  2. 选择“iRule_PeopleSoft”。
  3. 添加以下命令行。

when HTTP_REQUEST {switch -glob -- [HTTP::uri] {"/" {HTTP::redirect "/psc/ps/EXTERNAL/HRMS/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GB"/psp/ps/?cmd=logout" {HTTP::redirect "/my.logout.php3"} } }

  1. 将 iRule 分配给 BIG-IP 虚拟服务器。

确认配置

  1. 通过浏览器进入 PeopleSoft 应用程序外部 URL,或在我的应用中选择应用程序图标。

  2. 对 Microsoft Entra ID 进行身份验证。

  3. 将重定向到 BIG-IP 虚拟服务器,并通过 SSO 登录。

    注意

    你可以阻止对应用程序的直接访问,从而通过 BIG-IP 强制执行路径。

高级部署

引导式配置模板有时缺乏灵活性。

了解详细信息:教程:为基于标头的 SSO 配置 F5 BIG-IP 访问策略管理器

此外,可在 BIG-IP 中禁用引导式配置严格管理模式。 可以手动更改配置,虽然大多数配置都是使用向导模板自动执行的。

  1. 导航到“访问”>“引导式配置”。
  2. 在行末尾,选择挂锁。

挂锁选项的屏幕截图。

不能通过向导 UI 进行更改,但是与应用程序发布的实例关联的 BIG-IP 对象会解除锁定,以便进行管理。

注意

当重新启用严格模式并部署配置时,在引导式配置之外执行的设置将被覆盖。 建议对生产服务使用高级配置。

故障排除

使用 BIG-IP 日志记录隔离连接性、SSO、策略冲突或错误配置的变量映射的问题。

日志详细程度

  1. 导航到“访问策略”>“概述”。
  2. 选择“事件日志”。
  3. 选择“设置”。
  4. 选择已发布应用程序所在的行。
  5. 选择“编辑”。
  6. 选择“访问系统日志”
  7. 从 SSO 列表中,选择“调试”。
  8. 选择“确定”。
  9. 重现遇到的问题。
  10. 检查日志。

完成后,还原此功能,因为详细模式会生成大量数据。

BIG-IP 错误消息

如果在 Microsoft Entra 预身份验证后出现 BIG-IP 错误,则问题可能与从 Microsoft Entra ID 到 BIG-IP 的 SSO 有关。

  1. 导航到“访问”>“概述”。
  2. 选择“访问报告”。
  3. 运行过去一小时的报告。
  4. 查看日志以获取线索。

使用会话的“查看会话”链接确认 APM 收到预期的 Microsoft Entra 声明。

无 BIG-IP 错误消息

如果未显示 BIG-IP 错误消息,则问题可能与后端请求或 BIG-IP 到应用程序的 SSO 有关。

  1. 导航到“访问策略”>“概述”。
  2. 选择“活动会话”。
  3. 选择活动会话链接。

使用“查看变量”链接确定 SSO 问题,特别是当 BIG-IP APM 从会话变量获取不正确的属性时。

了解详细信息: