教程:配置适用于 SSO to SAP ERP 的 F5 BIG-IP Easy Button

本文介绍如何通过 F5 BIG-IP Easy Button 引导式配置 16.1,使用 Microsoft Entra ID 保护 SAP ERP。 将 BIG-IP 与 Microsoft Entra ID 集成具有许多好处:

了解详细信息:

方案描述

此方案介绍使用 Kerberos 身份验证来管理对受保护内容的访问的 SAP ERP 应用程序。

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

应用程序前面的 BIG-IP 支持使用 Microsoft Entra 预身份验证和基于标头的 SSO 来叠加服务。 此配置可改善应用程序的整体安全状况。

方案体系结构

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

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

SHA 支持 SP 和 IdP 发起的流。 下图演示了 SP 发起的流。

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

  1. 用户连接到应用程序终结点 (BIG-IP)
  2. BIG-IP APM 访问策略将用户重定向到 Microsoft Entra ID (SAML IdP)
  3. Microsoft Entra ID 对用户进行预身份验证,并应用强制实施的条件访问策略
  4. 用户被重定向到 BIG-IP (SAML SP),并使用颁发的 SAML 令牌执行 SSO
  5. BIG-IP 从 KDC 请求 Kerberos 票证
  6. BIG-IP 将请求连同 SSO 的 Kerberos 票证一起发送到后端应用程序
  7. 应用程序授权请求并返回有效负载

先决条件

  • Microsoft Entra ID 免费帐户或更高版本
  • BIG-IP,或者 Azure 中的 BIG-IP Virtual Edition (VE)
  • 以下任意 F5 BIG-IP 许可证:
    • F5 BIG-IP® Best 捆绑包
    • F5 BIG-IP APM 独立许可证
    • 现有的 BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM) 上的 F5 BIG-IP® APM 加载项许可证
    • 90 天的 BIG-IP 完整功能试用版许可证
  • 从本地目录同步到 Microsoft Entra ID 的用户标识,或在 Microsoft Entra ID 中创建并流回到本地目录的用户标识
  • 以下角色之一:云应用程序管理员或应用程序管理员。
  • 用于通过 HTTPS 发布服务的 SSL Web 证书,或者使用默认 BIG-IP 证书进行测试
  • 为 Kerberos 身份验证配置的 SAP ERP 环境

BIG-IP 配置方法

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

注意

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

注册 Easy Button

提示

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

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

请参阅快速入门:将应用程序注册到 Microsoft 标识平台

在 Microsoft Entra ID 中注册 Easy Button 客户端,然后该客户端才能在 BIG-IP 发布的应用程序的 SAML SP 实例与作为 SAML IdP 的 Microsoft Entra ID 之间建立信任。

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

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

  3. 输入新应用程序的名称

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

  5. 选择“注册”。

  6. 导航到“API 权限”。

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

  9. 在“证书和机密”上,生成新的客户端密码

  10. 记下稍后要使用的机密。

  11. 记下“概述”中的“客户端 ID”和“租户 ID”。

配置 Easy Button

  1. 启动 APM 引导式配置。
  2. 启动 Easy Button 模板。
  3. 通过浏览器登录到 F5 BIG-IP 管理控制台。
  4. 导航到“访问”>“引导式配置”>“Microsoft 集成”。
  5. 选择“Microsoft Entra 应用程序”。
  6. 查看配置列表。
  7. 选择下一步
  8. 遵循“Microsoft Entra 应用程序配置”下的配置顺序。

配置顺序的屏幕截图。

Configuration Properties

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

注意

某些设置是全局设置,可以重新用于发布更多应用程序。

  1. 输入配置名称。 可以使用唯一名称区分 Easy Button 配置。

  2. 对于“单一登录 (SSO) 和 HTTP 标头”,选择“启用”

  3. 对于“租户 ID”、“客户端 ID”和“客户端密码”,请输入在租户注册期间记录的租户 ID、客户端 ID 和客户端密码。

  4. 选择“测试连接”。 此操作确认 BIG-IP 已连接到租户。

  5. 选择“下一步”。

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

服务提供商

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

  1. 对于“主机”,请输入要保护的应用程序的公共完全限定的域名 (FQDN)。

  2. 对于“实体 ID”,输入 Microsoft Entra ID 用于标识请求令牌的 SAML SP 的标识符。

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

  3. (可选)使用“安全设置”指定 Microsoft Entra ID 加密颁发的 SAML 断言。 Microsoft Entra ID 和 BIG-IP APM 之间加密的断言可以增加内容令牌不会被截获、也不会泄露数据的保障。

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

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

  5. 选择“确定”。

  6. 新标签页中此时显示“导入 SSL 证书和密钥”对话框。

  7. 若要导入证书和私钥,请选择“PKCS 12 (IIS)”。

  8. 关闭浏览器标签页以返回到主标签页。

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

  9. 选中“启用加密断言”框。

  10. 如果启用了加密,请从“断言解密私钥”列表中,选择 BIG-IP APM 用于解密 Microsoft Entra 断言的证书私钥。

  11. 如果启用了加密,请从“断言解密证书”列表中选择 BIG-IP 上传到 Microsoft Entra ID 用于加密颁发的 SAML 断言的证书。

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

Microsoft Entra ID

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

  1. 若要启动 Azure 配置,请选择“SAP ERP Central Component”>“添加”。

    “Azure 配置”上的“SAP ERP Central Component”选项和“添加”按钮的屏幕截图。

    注意

    在 Microsoft Entra 租户中手动配置新的 BIG-IP SAML 应用程序时,可以使用以下部分的信息。

Azure 配置

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

  2. (可选)将“登录 URL (可选)”留空。

    “显示名称”和“登录 URL”条目的屏幕截图。

  3. 选择“签名密钥”旁的“刷新”。

  4. 选择“签名证书”。 此操作将查找输入的证书。

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

  6. (可选)启用“签名选项”。 此选项可确保 BIG-IP 接受 Microsoft Entra ID 签名的令牌和声明

    “签名密钥”、“签名证书”和“签名密钥通行短语”条目的屏幕截图。

  7. 将从 Microsoft Entra 租户动态查询“用户和用户组”。 用户组用于授权应用程序访问。

  8. 添加用于测试的用户或组,否则访问将被拒绝。

    “用户和用户组”上的“添加”按钮的屏幕截图。

用户属性和声明

如果用户向 Microsoft Entra ID 进行身份验证,则它会颁发 SAML 令牌,其中包含标识用户的默认声明和属性。 “用户属性和声明”选项卡显示要为新应用程序发布的默认声明。 使用该令牌来配置更多声明。

本教程基于内部和外部使用的 .com 域后缀。 无需其他属性即可实现功能 Kerberos 约束委派 (KCD) SSO 实施。

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

可以包含更多 Microsoft Entra 属性。 在本教程中,SAP ERP 需要默认属性。

了解更多:教程:针对 Kerberos 身份验证配置 F5 BIG-IP 访问策略管理器。 请参阅有关多个域或用户使用备用后缀登录的说明。

其他用户属性

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

注意

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

条件性访问策略

在 Microsoft Entra 预身份验证后强制实施条件访问策略。 此操作基于设备、应用程序、位置和风险信号控制访问权限。

“可用策略”视图列出了没有基于用户的操作的条件访问策略。

“选定策略”视图列出了针对云应用的策略。 不能取消选中这些策略或将其移动到“可用策略”列表,因为它们是在租户级别强制实施的。

若要为待发布的应用程序选择策略,请执行以下操作:

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

“选定策略”选中“包括”或“排除”选项。 如果两个选项都处于选中状态,则不会强制实施所选策略。

“选定策略”中排除的策略的屏幕截图。

注意

最初选择此选项卡时,会显示策略列表。使用“刷新”按钮查询租户。 部署应用程序时会显示“刷新”。

虚拟服务器属性

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

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

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

池属性

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

  1. 对于“选择池”,选择“新建”,或选择一个池。

  2. 对于“负载均衡方法”,选择“轮循机制”。

  3. 对于“池服务器”,请选择服务器节点,或为托管基于标头的应用程序的后端节点输入 IP 和端口。

    “应用程序池”的选项和选择的屏幕截图。

单一登录和 HTTP 标头

使用 SSO,用户无需输入凭据即可访问 BIG-IP 发布的服务。 Easy Button 向导支持适用于 SSO 的 Kerberos、OAuth 持有者和 HTTP 授权标头。 对于以下说明,需要使用创建的 Kerberos 委派帐户。

  1. 在“单一登录和 HTTP 标头”上,对于“高级设置”,请选择“开”

  2. 对于“选定单一登录类型”,请选择“Kerberos”。

  3. 对于“用户名来源”,请输入会话变量作为用户 ID 源。 session.saml.last.identity 包含登录用户 ID 的 Microsoft Entra 声明。

  4. 如果用户域与 BIG-IP 的 Kerberos 领域不同,则“用户领域源”为必填项。 因此,APM 会话变量包含已登录用户域。 例如 session.saml.last.attr.name.domain

    “单一登录和 HTTP 标头”的选项和选择的屏幕截图。

  5. 对于“KDC”,请输入域控制器 IP 或 FQDN(如果已配置 DNS)。

  6. 选中“UPN 支持”框。 APM 使用 UPN 进行 Kerberos 票证。

  7. 对于“SPN 模式”,请输入“HTTP/%h”。 此操作通知 APM 使用客户端请求主机标头,并生成它为其请求 Kerberos 令牌的 SPN。

  8. 对于“发送授权”,请禁用协商身份验证的应用程序的选项。 例如 Tomcat。

    “SSO 方法配置”的选项和选择的屏幕截图。

会话管理

使用 BIG-IP 会话管理设置定义用户会话终止或继续的条件。 条件包括对用户和 IP 地址的限制,以及相应的用户信息。

若要了解详细信息,请转到 my.f5.com 查看 K18390492:安全性 | BIG-IP APM 操作指南

操作指南不包含单一退出登录 (SLO)。 此功能可确保 IdP、BIG-IP 和用户代理之间的会话在用户退出登录时终止。Easy Button 将 SAML 应用程序部署到 Microsoft Entra 租户。 它使用 APM SLO 终结点填充注销 URL。 IdP 从我的应用门户发起的退出登录可终止 BIG-IP 和客户端会话。

部署期间,已发布应用程序的 SAML 联合元数据是从租户导入的。 此操作为 APM 提供 Microsoft Entra ID 的 SAML 退出登录终结点,并帮助 SP 发起的退出登录终止客户端和 Microsoft Entra 会话。

部署

  1. 选择“部署”。
  2. 验证应用程序是否显示在租户“企业应用程序”列表中。
  3. 使用浏览器连接到应用程序外部 URL,或在我的应用中选择应用程序图标。
  4. 对 Microsoft Entra ID 进行身份验证。
  5. 将重定向到 BIG-IP 虚拟服务器,并通过 SSO 登录。

为了提高安全性,可以阻止对应用程序的直接访问,从而强制执行通过 BIG-IP 的路径。

高级部署

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

了解更多:教程:针对 Kerberos 身份验证配置 F5 BIG-IP 访问策略管理器

禁用严格管理模式

此外,在 BIG-IP 中,可以禁用引导式配置严格管理模式。 虽然大部分配置都是使用向导模板自动完成的,但你可以手动更改配置。

  1. 导航到“访问”>“引导式配置”。

  2. 在应用程序配置的行尾,选择“挂锁”。

  3. 与已发布的应用程序关联的 BIG-IP 对象都将解除锁定,以便进行管理。 无法再通过向导 UI 进行更改。

    挂锁选项的屏幕截图。

    注意

    要重新启用严格模式并部署配置以覆盖引导式配置 UI 之外的设置,建议对生产服务使用高级配置方法。

疑难解答

如果无法访问受 SHA 保护的应用程序,请参阅以下故障排除指南。

  • Kerberos 区分时间。 确保将服务器和客户端设置为正确的时间,并同步到可靠的时间源。
  • 确保在 DNS 中解析域控制器和 Web 应用主机名。
  • 确认环境中没有重复的 SPN。
    • 在域计算机上的命令行中,使用查询:setspn -q HTTP/my_target_SPN

若要验证 IIS 应用程序 KCD 配置,请参阅排查应用程序代理的 KCD 配置问题

转到 techdocs.f5.com 查看 Kerberos 单一登录方法

日志分析

日志详细程度

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. 选择当前会话的链接。
  4. 使用“查看变量”链接确定 KCD 问题,特别是当 BIG-IP APM 未从会话变量获取正确的用户和域标识符时。

了解详细信息: