通过 Microsoft Entra 应用程序代理对本地应用使用基于标头的单一登录 (SSO)
Microsoft Entra 应用程序代理原生支持对使用标头进行身份验证的应用程序进行单一登录 (SSO) 访问。 在 Microsoft Entra ID 中配置你的应用程序所需的标头值。 标头值会通过应用程序代理发送到应用程序。 使用原生支持对应用程序代理进行基于标头的身份验证的好处包括:
简化对本地应用的远程访问 - 应用程序代理简化了现有的远程访问体系结构。 替换对这些应用的虚拟专用网 (VPN) 访问。 消除身份验证中对本地标识解决方案的依赖。 简化用户的体验,让他们在使用公司应用程序时不会注意到任何不同之处。 用户可以在任何地方通过任何设备工作。
无需额外的软件或对应用进行更改 - 使用现有的专用网络连接器。 不需要其他软件。
广泛的属性和转换列表可用 - 所有可用的标头值均基于 Microsoft Entra ID 发出的标准声明。 可用于配置安全断言标记语言 (SAML) 或 OpenID Connect (OIDC) 应用程序的声明的所有属性和转换也可用作标头值。
先决条件
启用应用程序代理并安装对你的应用程序具有直接网络访问权限的连接器。 若要了解更多,请参阅添加本地应用程序以通过应用程序代理进行远程访问。
支持的功能
下表列出了基于标头的身份验证应用程序所需的常见功能。
要求 | 说明 |
---|---|
联合 SSO | 在预身份验证模式下,所有应用程序均受到 Microsoft Entra 身份验证的保护,且用户能够进行单一登录。 |
远程访问 | 应用程序代理提供对应用的远程访问。 用户使用外部统一资源定位器 (URL) 从 Internet 访问应用程序。 应用程序代理不适用于常规公司访问。 如需常规公司访问,请参阅 Microsoft Entra Private Access。 |
基于标头的集成 | 应用程序代理处理与 Microsoft Entra ID 的 SSO 集成,然后将标识或其他应用程序数据作为 HTTP 标头传递给应用程序。 |
应用程序授权 | 根据所访问的应用程序、用户的组成员身份和其他策略指定常用策略。 在 Microsoft Entra ID 中,策略是通过条件访问实现的。 应用程序授权策略仅适用于初始身份验证请求。 |
升级身份验证 | 定义策略以强制执行已添加的身份验证,例如获取对敏感资源的访问权限。 |
精细授权 | 提供 URL 级别的访问控制。 根据所访问的 URL,可以强制执行已添加的策略。 为应用配置的内部 URL 定义了策略所应用到的应用的范围。 强制执行为最精细路径配置的策略。 |
注意
本文介绍使用应用程序代理的基于标头的身份验证应用程序和 Microsoft Entra ID 之间的连接,这是推荐的模式。 另外还有一种替代的集成模式,该模式使用 PingAccess 和 Microsoft Entra ID 来启用基于标头的身份验证。 有关更多信息,请参阅使用应用程序代理和 PingAccess 通过基于标头的身份验证进行单一登录。
工作原理
- 管理员自定义 Microsoft Entra 管理中心应用程序所需的属性映射。
- 应用程序代理确保用户使用 Microsoft Entra ID 进行身份验证。
- 应用程序代理云服务识别所需的属性。 因此,该服务将从身份验证期间接收的 ID 令牌中获取相应的声明。 然后,该服务会将值转换为所需的 HTTP 标头,作为对连接器的请求的一部分。
- 然后将该请求传递到连接器,连接器随后将该请求传递给后端应用程序。
- 应用程序接收标头,并可根据需要使用这些标头。
使用应用程序代理发布应用程序
根据使用应用程序代理发布应用程序中的说明发布应用程序。
- 内部 URL 值决定了应用程序的范围。 在应用程序的根路径处配置内部 URL 值,根下的所有子路径都会收到相同的标头和应用程序配置。
- 创建一个新的应用程序,为比已配置的应用程序更精细的路径设置不同的标头配置或用户分配。 在新应用程序中,使用所需的特定路径配置内部 URL,然后配置此 URL 所需的特定标头。 应用程序代理始终会将你的配置设置与为应用程序设置的最精细路径相匹配。
选择“Microsoft Entra ID”作为预身份验证方法。
通过导航到“用户和组”并分配适当的用户和组来分配测试用户。
打开浏览器并从应用程序代理设置导航到“外部 URL”。
验证是否可以连接到应用程序。 即使可以连接,也无法访问该应用,因为尚未配置标头。
配置单一登录
在开始对基于标头的应用程序使用单一登录之前,请安装专用网络连接器。 连接器必须能够访问目标应用程序。 若要了解详细信息,请参阅教程:Microsoft Entra 应用程序代理。
- 应用程序显示在企业应用程序列表中之后,选择该应用程序并选择“单一登录”。
- 将单一登录模式设置为“基于标头”。
- 在“基本配置”中,默认选择“Microsoft Entra ID”。
- 在“标头”中选择编辑铅笔,以配置要发送到应用程序的标头。
- 选择“添加新标头”。 为标头提供名称,选择“属性”或“转换”,然后从下拉列表中选择应用程序需要的标头。
- 若要详细了解可用的属性列表,请参阅声明自定义 - 属性。
- 若要详细了解可用的转换列表,请参阅声明自定义 - 声明转换。
- 可以添加“组标头”。 若要详细了解如何将组配置为值,请参阅:为应用程序配置组声明。
- 选择“保存”。
测试应用
应用程序现已运行且可用。 测试应用:
- 打开新的浏览器或专用浏览器窗口以清除以前缓存的标头。
- 导航到外部 URL。 可以在应用程序代理设置中找到作为“外部 URL”列出的此设置。
- 使用分配给应用的测试帐户登录。
- 确认可以使用 SSO 加载并登录到应用程序。
注意事项
- 应用程序代理提供对本地或私有云上的应用的远程访问。 不建议将应用程序代理用于与预期应用程序源自同一网络内的流量。
- 对基于标头的身份验证应用程序的访问应仅限于来自连接器或其他允许的基于标头的身份验证解决方案的流量。 通常会使用应用程序服务器上的防火墙或 IP 限制来执行访问限制。