使用 Microsoft Entra 应用程序代理的本地应用的基于标头的单一登录 (SSO)

Microsoft Entra 应用程序代理原生支持对使用标头进行身份验证的应用程序进行单一登录(SSO)访问。 在 Microsoft Entra ID 中配置应用程序所需的标头值。 标头值通过应用程序代理发送到应用程序。 通过应用程序代理使用基于标头的身份验证的本机支持的好处包括:

  • 简化对本地应用的远程访问 - 应用程序代理简化了现有的远程访问体系结构。 替换对这些应用的虚拟专用网络(VPN)访问权限。 删除用于身份验证的本地标识解决方案的依赖项。 你简化了用户的体验,当他们使用公司应用程序时,他们不会注意到任何不同之处。 用户可以从任何设备上的任意位置工作。

  • 不会对应用进行额外的软件或更改 - 使用现有的专用网络连接器。 不需要其他软件。

  • 广泛的属性和转换列表可用 - 所有可用的标头值均基于 Microsoft Entra ID 发出的标准声明。 可用于 配置安全断言标记语言(SAML)或 OpenID Connect(OIDC)应用程序声明 的所有属性和转换也可用作标头值。

先决条件

启用应用程序代理并安装对应用程序具有直接网络访问权限的连接器。 若要了解详细信息,请参阅 添加本地应用程序,以便通过应用程序代理进行远程访问

支持的功能

下表列出了基于标头的身份验证应用程序所需的常见功能。

要求 DESCRIPTION
联合 SSO 在预身份验证模式下,所有应用程序都受到Microsoft Entra 身份验证的保护,并且用户具有单一登录。
远程访问 应用程序代理提供对应用的远程访问。 用户通过任意网络浏览器使用外部统一资源定位符(URL)通过互联网访问应用程序。 应用程序代理不适用于常规公司访问。 如需常规公司访问,请参阅 Microsoft Entra Private Access
基于标头的集成 应用程序代理处理与 Microsoft Entra ID 的 SSO 集成,然后将标识或其他应用程序数据作为 HTTP 标头传递给应用程序。
应用程序授权 根据所访问的应用程序、用户的组成员身份和其他策略指定通用策略。 在 Microsoft Entra ID 中,策略是通过条件访问实现的。 应用程序授权策略仅适用于初始身份验证请求。
升级身份验证 策略定义为强制添加的身份验证,例如,获取对敏感资源的访问权限。
精细授权 提供 URL 级别的访问控制。 根据所访问的 URL,可以强制执行已添加的策略。 为应用配置的内部 URL 定义应用策略所应用到的应用的范围。 强制执行为最精细路径配置的策略。

注释

本文介绍基于标头的身份验证应用程序与使用应用程序代理Microsoft Entra ID 之间的连接,这是推荐的模式。 另一种集成模式是使用具有 Microsoft Entra ID 的 PingAccess 来实现基于请求头的身份验证。 有关详细信息,请参阅 使用应用程序代理和 PingAccess 进行单一登录的基于标头的身份验证

工作原理

基于标头的单一登录如何与应用程序代理配合使用。

  1. 管理员自定义 Microsoft Entra 管理中心应用程序所需的属性映射。
  2. 应用程序代理可确保使用 Microsoft Entra ID 对用户进行身份验证。
  3. 应用程序代理云服务知道所需的属性。 因此,该服务将从身份验证期间接收的 ID 令牌中获取相应的声明。 然后,服务会将这些值转换为所需的 HTTP 标头,作为向连接器请求的一部分。
  4. 然后,请求将传递到连接器,然后传递给后端应用程序。
  5. 应用程序接收标头,并可根据需要使用这些标头。

使用应用程序代理发布应用程序

  1. 根据 使用应用程序代理发布应用程序中所述的说明发布应用程序。

    • 内部 URL 值确定应用程序的范围。 在应用程序的根路径处配置内部 URL 值,根目录下的所有子路径都会收到相同的标头和应用程序配置。
    • 创建一个新的应用程序,为比已配置的应用程序更精细的路径设置不同的标头配置或用户分配。 在新应用程序中,使用所需的特定路径配置内部 URL,然后配置此 URL 所需的特定标头。 应用程序代理始终将配置设置与应用程序最精细的路径集匹配。
  2. 选择“Microsoft Entra ID”作为预身份验证方法。

  3. 通过导航到“用户和组”并分配适当的用户和组来分配测试用户。

  4. 打开浏览器,然后从应用程序代理设置导航到 外部 URL

  5. 验证是否可以连接到应用程序。 即使可以连接,也无法访问该应用,因为尚未配置标头。

配置单一登录

在开始使用基于标头的应用程序的单一登录之前,请安装专用网络连接器。 连接器必须能够访问目标应用程序。 若要了解详细信息,请参阅 教程:Microsoft Entra 应用程序代理

  1. 应用程序显示在企业应用程序列表中之后,选择该应用程序并选择“单一登录”。
  2. 将单一登录模式设置为“基于标头”。
  3. “基本配置”中,选择Microsoft Entra ID 作为默认值。
  4. 选择编辑工具,在标头配置中设置要发送到应用程序的标头。
  5. 选择“添加新标头”。 提供标头的名称,并选择 “属性 ”或“ 转换 ”,并从下拉列表中选择应用程序所需的标头。
  6. 选择“保存”

测试你的应用

应用程序现在正在运行且可用。 测试应用:

  1. 通过打开新的浏览器或专用浏览器窗口清除以前缓存的标头。
  2. 导航到外部网站网址。 可以在应用程序代理设置中找到作为 外部 URL 列出的此设置。
  3. 使用分配给应用的测试帐户登录。
  4. 确认您可以使用 SSO 加载并登录应用程序。

注意事项

  • 应用程序代理提供对本地或私有云上的应用的远程访问。 不建议在与预期应用程序位于同一网络的情况下使用应用程序代理来处理内部流量。
  • 对基于标头的身份验证应用程序的访问应仅限于来自连接器或其他允许的基于标头的身份验证解决方案的流量。 访问限制通常使用应用程序服务器上的防火墙或 IP 限制来执行。

后续步骤