教程:为 Kerberos 单一登录配置 F5 BIG-IP Easy Button

通过 F5 BIG-IP Easy Button 引导式配置 16.1,了解如何使用 Microsoft Entra ID 保护基于 Kerberos 的应用程序。

将 BIG-IP 与 Microsoft Entra ID 集成可提供许多好处,具体包括:

若要详细了解其中的优势,请参阅文章 F5 BIG-IP 和 Microsoft Entra 集成

方案描述

此方案是使用 Kerberos 身份验证(也称为集成 Windows 身份验证 (IWA))来限制访问受保护内容的经典旧式应用程序。

由于该应用程序是旧式应用程序,因此它缺少新式协议来支持与 Microsoft Entra ID 的直接集成。 可将该应用程序现代化,但成本高昂、需要规划,并带来潜在的停机风险。 而 F5 BIG-IP 应用程序传送控制器 (ADC) 能通过协议转换来弥补旧式应用程序和新式 ID 控制平面之间的差距。

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

注意

组织可以使用 Microsoft Entra 应用程序代理远程访问此类应用程序

方案体系结构

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

  • 应用程序: - BIG-IP 发布的服务由 Microsoft Entra SHA 保护。 应用程序主机已加入域,因此与 Active Directory (AD) 集成。
  • Microsoft Entra ID:安全断言标记语言 (SAML) 标识提供者 (IdP),验证用户凭据、条件访问和对 BIG-IP 的基于 SAML 的 SSO。 通过 SSO,Microsoft Entra ID 为 BIG-IP 提供了所需的会话属性。
  • KDC:域控制器 (DC) 上的密钥发行中心 (KDC) 角色,颁发 Kerberos 票证
  • BIG-IP:应用程序的反向代理和 SAML 服务提供程序 (SP),在向后端应用程序执行基于 Kerberos 的 SSO 之前将身份验证委托给 SAML IdP。

此场景的 SHA 支持 SP 和 IdP 启动的流。 下图展示了 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. 应用程序授权请求并返回有效负载

先决条件

以前的 BIG-IP 体验不是必需的,但你需要:

  • 一个 Azure 免费帐户或更高层
  • 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 应用程序,或转到 active-directory-wp.com 了解如何在 Windows 上使用 IIS 配置 SSO

BIG-IP 配置方法

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

注意

将本文中的示例字符串或值替换为适用于你的环境的字符串或值。

注册 Easy Button

提示

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

客户端或服务必须先得到 Microsoft 标识平台的信任,然后才能访问 Microsoft Graph。 此操作创建租户应用注册以授权 Easy Button 访问 Graph。 有了这些权限,BIG-IP 就能推送配置以在已发布应用程序的 SAML SP 实例和作为 SAML IdP 的 Microsoft Entra ID 之间建立信任。

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

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

  3. 输入应用程序的显示名称。 例如 F5 BIG-IP Easy Button。

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

  5. 选择“注册”。

  6. 导航到“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
  7. 向组织授予管理员同意。

  8. 在“证书和机密”上,生成新的客户端密码。 记下此密码。

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

配置 Easy Button

启动 APM 引导式配置,以启动 Easy Button 模板。

  1. 导航到“访问”>“引导式配置”>“Microsoft 集成”,然后选择“Microsoft Entra 应用程序”。

  2. 查看配置步骤,然后选择“下一步”

  3. 要发布应用程序,请执行后续步骤。

    “引导式配置”上的配置流的屏幕截图。

Configuration Properties

“配置属性”选项卡用于创建 BIG-IP 应用程序配置和 SSO 对象。 “Azure 服务帐户详细信息”部分可表示你之前在 Microsoft Entra 租户中注册的客户端(作为应用程序)。 将这些设置与你手动配置的 SSO 属性结合,BIG-IP 的 OAuth 客户端可以在租户中单独注册 SAML SP。 Easy Button 会为每个为 SHA 发布和启用的 BIG-IP 服务执行此操作。

一些设置是全局设置,可以重复使用这些设置来发布更多应用程序,从而减少部署所花费的时间和精力。

  1. 提供唯一配置名称。

  2. 启用“单一登录 (SSO) 和 HTTP 标头”

  3. 输入在租户中注册 Easy Button 客户端时记下的租户 ID、客户端 ID 和客户端机密。

    “配置名称”、“SSO 和 HTTP 标头”以及“Azure 服务帐户详细信息”条目的屏幕截图。

  4. 确认 BIG-IP 连接到租户。

  5. 选择“下一步” 。

服务提供商

“服务提供程序”设置是通过 SHA 保护的应用程序的 SAML SP 实例的属性。

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

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

    “服务提供商”上的“主机”和“实体 ID”条目的屏幕截图。

可选的“安全设置”指定 Microsoft Entra ID 是否加密颁发的 SAML 断言。 加密 Microsoft Entra ID 与 BIG-IP APM 之间的断言可进一步确保内容令牌无法被截获,个人或公司数据也不会受到损害。

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

“安全设置”上的“新建”选项的屏幕截图。

  1. 选择“确定”。 此时将显示“导入 SSL 证书和密钥”对话框。
  2. 选择“PKCS 12 (IIS)”以导入证书和私钥。
  3. 预配后,关闭该浏览器标签页,返回到主标签页。

“导入类型”、“证书和密钥名称”、“证书和密钥源”以及“密码”条目的屏幕截图

  1. 选中“启用加密断言”。
  2. 如果启用了加密,请从“断言解密私钥”列表中选择证书。 这是 BIG-IP APM 用于解密 Microsoft Entra 断言的证书的私钥。
  3. 如果启用了加密,请从“断言解密证书”列表中选择证书。 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 模板。

对于此方案,请选择“F5 BIG-IP APM Microsoft Entra ID 集成”>“添加”

Azure 配置

  1. 输入 BIG-IP 在你的 Microsoft Entra 租户中创建的应用的“显示名称”,以及 MyApps 门户中的图标。

  2. 将“登录 URL (可选)”留空,以启用 IdP 启动的登录。

  3. 选择“签名密钥”和“签名证书”旁边的“刷新”图标以找到导入的证书。

  4. 在“签名密钥通行短语”中输入证书密码。

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

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

  6. 将从 Microsoft Entra 租户动态查询用户和用户组,并使用这些用户和用户组授予应用程序访问权限。 添加用于测试的用户或组,否则所有访问都将被拒绝。

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

用户属性和声明

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

基础结构基于内部和外部使用的 .com 域后缀。 无需其他属性即可实现功能 Kerberos 约束委派单一登录 (KCD SSO) 实施。 请参阅高级教程,了解使用备用后缀的多个域或用户登录。

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

其他用户属性

“其他用户属性”选项卡支持多种分布式系统,这些系统需要其他目录中存储的属性,以用于会话增强。 可以将从轻型目录访问协议 (LDAP) 源提取的属性作为 SSO 标头注入,这样有助于根据角色、合作伙伴 ID 等信息控制访问权限。

注意

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

条件性访问策略

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

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

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

选择应用于要发布的应用程序的策略:

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

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

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

注意

切换到此选项卡后,策略列表将显示一次。可以使用“刷新”按钮手动强制向导查询租户,但此按钮会在部署应用程序后显示。

虚拟服务器属性

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

  1. 输入“目标地址”,这是可供 BIG-IP 用于接收客户端流量的 IPv4/IPv6 地址。 在域名服务器 (DNS) 中存在对应的记录,使客户端能够将 BIG-IP 发布的应用程序的外部 URL 解析为此 IP,而非该应用程序。 可以使用测试电脑 localhost DNS 进行测试。

  2. 对于“服务端口”,输入 HTTPS 443。

  3. 选中“启用重定向端口”,然后输入“重定向端口”,这会将传入的 HTTP 客户端流量重定向到 HTTPS。

  4. 利用客户端 SSL 配置文件,可为 HTTPS 启用虚拟服务器,以便通过传输层安全性 (TLS) 加密客户端连接。 选择作为先决条件创建的客户端 SSL 配置文件,或者在测试时保留默认值。

    虚拟服务器属性上的目标地址、服务端口和常见条目的屏幕截图。

池属性

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

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

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

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

    池属性上的 IP 地址/节点名称和端口条目的屏幕截图。

后端应用程序在 HTTP 端口 80 上运行。 如果应用程序在 HTTPS 上运行,可以将端口切换到 443。

单一登录和 HTTP 标头

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

启用“Kerberos”和“显示高级设置”以输入以下内容:

  • 用户名源:要为 SSO 缓存的首选用户名。 可以提供会话变量作为用户 ID 的源,但 session.saml.last.identity 往往效果最佳,因为它持有包含已登录用户 ID 的 Microsoft Entra 声明。

  • 用户领域源:如果用户域与 BIG-IP 的 Kerberos 领域不同,则此为必填项。 在这种情况下,APM 会话变量包含已登录用户域。 例如 session.saml.last.attr.name.domain

    单一登录和 HTTP 标头上“用户名源”条目的屏幕截图。

  • KDC:域控制器 IP(如果 DNS 已配置且高效,则为 FQDN)

  • UPN 支持:启用此选项以使 APM 能够将通用主体名称 (UPN) 用于 Kerberos 票务

  • SPN 模式:使用 HTTP/%h 通知 APM 使用客户端请求的主机头,并生成它为其请求 Kerberos 令牌的服务主体名称 (SPN)

  • 发送授权:对于协商身份验证而不是在第一个请求中接收 Kerberos 令牌的应用程序,禁用此选项。 例如 Tomcat。

    SSO 方法配置的条目的屏幕截图

会话管理

BIG-IP 会话管理设置定义要终止用户会话或允许会话继续的条件、用户和 IP 地址的限制,以及相应的用户信息。 请参阅 AskF5 文章 K18390492:安全 | BIG-IP APM 操作指南,了解设置详细信息。

此处未介绍单一退出登录 (SLO) 功能,该功能可确保 IdP、BIG-IP 和用户代理之间的会话在用户退出登录后终止。Easy Button 在 Microsoft Entra 租户中实例化 SAML 应用程序时,还会使用 APM SLO 终结点来填充退出登录 URL。 IdP 从 Microsoft Entra“我的应用”门户发起的退出登录可终止 BIG-IP 和客户端之间的会话。

已发布的应用程序的 SAML 联合元数据会从租户导入,为 Microsoft Entra ID 的 SAML 退出登录终结点提供 APM。 此操作可确保 SP 发起的退出登录能终止客户端与 Microsoft Entra ID 之间的会话。 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。 请参阅 Oracle PeopleSoft SLO 指南了解 BIG-IP iRules。 有关使用 BIG-IP iRules 的详细信息,请参阅:

摘要

本部分对配置进行细分。

选择“部署”以提交所有设置,并验证应用程序是否在企业应用程序的租户列表中。

Active Directory KCD 配置

若要使 BIG-IP APM 代表用户对后端应用程序执行 SSO,必须在目标 Active Directory (AD) 域中配置 KCD。 委托身份验证要求使用域服务帐户预配 BIG-IP APM。

如果 APM 服务帐户和委派已设置,请跳过本部分。 否则,使用管理员帐户登录域控制器。

对于这种情况,应用程序托管在服务器 APP-VM-01 上,并在名为 web_svc_account 的服务帐户(而不是计算机标识)的上下文中运行。 分配给 APM 的委托服务帐户是 F5-BIG-IP。

创建 BIG-IP APM 委派帐户

由于 BIG-IP 不支持组托管服务帐户 (gMSA),因此请创建一个标准用户帐户以用作 APM 服务帐户。

  1. 输入以下 PowerShell 命令。 将 UserPrincipalName 和 SamAccountName 值替换为你的环境值。 为了提高安全性,请使用与应用程序的主机头匹配的专用 SPN。

    New-ADUser -Name "F5 BIG-IP Delegation Account" UserPrincipalName $HOST_SPN SamAccountName "f5-big-ip" -PasswordNeverExpires $true Enabled $true -AccountPassword (Read-Host -AsSecureString "Account Password")

    HOST_SPN = host/f5-big-ip.contoso.com@contoso.com

    注意

    使用主机时,主机上运行的任何应用程序都将委托帐户,而使用 HTTPS 时,将仅允许与 HTTP 协议相关的操作。

  2. 为 APM 服务帐户创建一个服务主体名称 (SPN),以便在委派到 Web 应用程序服务帐户期间使用:

    Set-AdUser -Identity f5-big-ip -ServicePrincipalNames @{ Add="host/f5-big-ip.contoso.com" }

    注意

    必须以 UserPrincipleName (host/name.domain@domain) 或 ServicePrincipleName (host/name.domain) 格式包含主机/部件。

  3. 在指定目标 SPN 之前,请查看其 SPN 配置。 确保 SPN 针对 APM 服务帐户显示。 Web 应用程序的 APM 服务帐户委托:

    • 确认 Web 应用程序在计算机上下文或专用服务帐户中运行。

    • 对于计算机上下文,请使用以下命令在 Active Directory 中查询帐户对象以查看其定义的 SPN。 将 name_of_account 替换为环境的帐户<>。

      Get-ADComputer -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      例如:Get-ADUser -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

    • 对于专用服务帐户,请使用以下命令查询 Active Directory 中的帐户对象以查看其定义的 SPN。 将 name_of_account 替换为环境的帐户<>。

      Get-ADUser -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      例如:

      Get-ADComputer -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

  4. 如果应用在计算机上下文中运行,请将 SPN 添加到 Active Directory 中计算机帐户的对象:

    Set-ADComputer -Identity APP-VM-01 -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }

定义 SPN 后,请为委派给该服务的 APM 服务帐户建立信任。 配置将因 BIG-IP 实例和应用程序服务器的拓扑而异。

在同一域中配置 BIG-IP 和目标应用程序

  1. 为 APM 服务帐户设置信任以委托身份验证:

    Get-ADUser -Identity f5-big-ip | Set-ADAccountControl -TrustedToAuthForDelegation $true

  2. APM 服务帐户需要知道要委派给哪个受信任的目标 SPN。 将目标 SPN 设置为运行 Web 应用程序的服务帐户:

    Set-ADUser -Identity f5-big-ip -Add @{ 'msDS-AllowedToDelegateTo'=@('HTTP/myexpenses.contoso.com') }

    注意

    可以通过域控制器上的 Active Directory 用户和计算机、Microsoft 管理控制台 (MMC) 管理单元完成这些任务。

不同域中的 BIG-IP 和应用程序

在 Windows Server 2012 版本及更高版本中,跨域 KCD 使用基于资源的约束委派 (RCD)。 服务的约束从域管理员转移到了服务管理员。 该委派使后端服务管理员可以允许或拒绝 SSO。 这种情况在配置委派中创建了一种不同的方法,当使用 PowerShell 或 Active Directory 服务接口编辑器 (ADSI Edit) 时便可实现该方法。

可以使用应用程序服务帐户(计算机或专用服务帐户)的 PrincipalsAllowedToDelegateToAccount 属性授予来自 BIG-IP 的委派。 对于此场景,请在与应用程序相同的域中的域控制器(Windows Server 2012 R2 或更高版本)上使用以下 PowerShell 命令。

使用针对 Web 应用程序服务帐户定义的 SPN。 为了提高安全性,请使用与应用程序的主机头匹配的专用 SPN。 例如,由于此示例中的 Web 应用程序主机头是 myexpenses.contoso.com,因此请将 HTTP/myexpenses.contoso.com 添加到 Active Directory (AD) 中的应用程序服务帐户对象:

Set-AdUser -Identity web_svc_account -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }

对于以下命令,请注意上下文。

如果 web_svc_account 服务在用户帐户的上下文中运行,请使用以下命令:

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com

``Set-ADUser -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount`

$big-ip Get-ADUser web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

如果 web_svc_account 服务在用户帐户的上下文中运行,请使用以下命令:

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com

Set-ADComputer -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount

$big-ip Get-ADComputer web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

有关详细信息,请参阅跨域的 Kerberos 约束委派

应用视图

从浏览器连接到应用程序的外部 URL,或在 Microsoft MyApps 门户中选择应用程序图标。 向 Microsoft Entra ID 进行身份验证后,你将被重定向到应用程序的 BIG-IP 虚拟服务器,并通过 SSO 登录。

应用程序的外部 URL 的屏幕截图

为提高安全性,使用此模式的组织可以阻止对应用程序的直接访问,从而强制要求使用严格的路径通过 BIG-IP 进行访问。

Microsoft Entra B2B 来宾访问

此方案支持 Microsoft Entra B2B 来宾访问,其中来宾标识从你的 Microsoft Entra 租户向下传送到应用程序用于授权的目录。 如果没有 AD 中的来宾对象的本地表示形式,BIG-IP 将无法收到后端应用程序的 KCD SSO 的 Kerberos 票证。

高级部署

引导式配置模板可能缺乏实现某些要求的灵活性。 有关这些情况,请参阅基于 Kerberos 的 SSO 的高级配置

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

可以导航到“访问”>“引导式配置”,并选择应用程序配置行最右侧的小挂锁图标。

挂锁选项的屏幕截图。

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

注意

重新启用严格模式和部署配置会覆盖在引导式配置 UI 之外执行的设置。 因此建议对生产服务使用高级配置方法。

故障排除

在排查 Kerberos SSO 问题时,请注意以下概念。

  • Kerberos 是区分时间的,因此要求将服务器和客户端设置为正确的时间,并要尽可能地与可靠的时间源同步
  • 确保域控制器和 Web 应用程序的主机名可在 DNS 中解析
  • 确保 AD 环境中没有重复的 SPN:在域电脑上的命令行中执行以下查询:setspn -q HTTP/my_target_SPN

可以参考我们的应用程序代理指南来验证 IIS 应用程序是否已针对 KCD 进行了配置。 另请参阅 AskF5 文章 Kerberos 单一登录方法

日志分析:增加详细程度

使用 BIG-IP 日志记录隔离连接性、SSO、策略冲突或错误配置的变量映射的问题。 通过增加记录详细程度开始进行故障排除。

  1. 导航到“访问策略”>“概述”>“事件日志”>“设置”。
  2. 选择已发布的应用程序所在的行,然后选择“编辑”>“访问系统日志”。
  3. 从 SSO 列表中选择“调试”,然后选择“确定”。

重现问题并检查日志。 完成后,还原该功能,因为详细模式会生成大量数据。

BIG-IP 错误页

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

  1. 导航到“访问”>“概述”>“访问报告”。
  2. 若要查看日志以获取线索,请运行过去一小时的报告。
  3. 使用“查看会话变量”链接以帮助了解 APM 是否从 Microsoft Entra ID 接收了预期的声明。

后端请求

如果未显示 BIG-IP 错误页,则问题有可能与从 BIG-IP 向应用程序发出的后端请求或执行的 SSO 有关。

  1. 导航到“访问策略”>“概述”>“活动会话”。
  2. 选择活动会话的链接。 此位置的“查看变量”链接也有助于确定 KCD 问题的根本原因,尤其是在 BIG-IP APM 无法从会话变量获取正确的用户和域标识符的情况下。

有关详细信息,请参阅: