使用应用程序代理对本地应用程序进行安全断言标记语言 (SAML) 单一登录 (SSO)
向使用安全断言标记语言 (SAML) 身份验证保护的本地应用程序提供单一登录 (SSO)。 通过应用程序代理提供对基于 SAML 的 SSO 应用程序的远程访问。 使用 SAML 单一登录时,Microsoft Entra 会使用用户的 Microsoft Entra 帐户向应用程序进行身份验证。 Microsoft Entra ID 通过连接协议将登录信息传送给应用程序。 你还可以根据在 SAML 声明中定义的规则将用户映射到特定的应用程序角色。 通过启用除 SAML SSO 之外的应用程序代理,用户可以对应用程序和无缝 SSO 体验进行外部访问。
应用程序必须能够使用 Microsoft Entra ID 颁发的 SAML 令牌。 此配置不适用于使用本地标识提供者的应用程序。 对于这些情况,建议查看用于将应用程序迁移到 Microsoft Entra ID 的资源。
使用应用程序代理的 SAML SSO 还适用于 SAML 令牌加密功能。 有关详细信息,请参阅配置 Microsoft Entra SAML 令牌加密。
协议关系图描述了服务提供者启动的(SP 启动的)流以及标识提供者启动的(IdP 启动的)流的单一登录顺序。 应用程序代理通过在本地应用程序中缓存 SAML 请求和响应来与 SAML SSO 配合使用。
创建应用程序并设置 SAML SSO
在 Microsoft Entra 管理中心,选择“Microsoft Entra ID”>“企业应用程序”,然后选择“新建应用程序”。
输入新应用程序的显示名称,选择“集成库中未发现的任何其他应用程序”,然后选择“创建” 。
在应用的“概述”页上,选择“单一登录” 。
选择“SAML”作为单一登录方法。
首先设置 SAML SSO 以在公司网络上运行,若要为应用程序配置基于 SAML 的身份验证,请参阅配置基于 SAML 的单一登录的基本 SAML 配置部分。
至少将一个用户添加到应用程序,并确保测试帐户有权访问应用程序。 连接到公司网络时,使用测试帐户查看是否可以单一登录到应用程序。
注意
设置应用程序代理后,返回并更新 SAML“回复 URL”。
使用应用程序代理发布本地应用程序
在为本地应用程序提供 SSO 之前,启用应用程序代理并安装连接器。 详细了解如何准备本地环境、安装和注册连接器以及测试连接器。 设置连接器后,请按照以下步骤使用应用程序代理发布新应用程序。
在应用程序仍在 Microsoft Entra 管理中心中打开的情况下,选择“应用程序代理”。 提供应用程序的内部 URL。 如果使用的是自定义域,则还需要为应用程序上传 TLS/SSL 证书。
注意
最佳做法是尽可能使用自定义域来获取优化的用户体验。 详细了解如何在 Microsoft Entra 应用程序代理中使用自定义域。
选择“Microsoft Entra ID”作为应用程序的预身份验证方法。
复制应用程序的“外部 URL”。 需要此 URL 来完成 SAML 配置。
通过使用测试帐户,尝试使用“外部 URL”打开应用程序以验证是否正确设置了应用程序代理。 如果出现问题,请参阅应用程序代理问题和错误消息故障排除。
更新 SAML 配置
在应用程序仍在 Microsoft Entra 管理中心中打开的情况下,选择“单一登录”。
在“设置 SAML 单一登录”页上,转到“基本 SAML 配置”标题并选择其“编辑”图标(铅笔)。 确保在“标识符”、“回复 URL”和“注销 URL”字段中填充了在应用程序代理中配置的“外部 URL”。 为使应用程序代理正常工作,这些 URL 是必需的。
编辑前面配置的“回复 URL”,使其域可通过应用程序代理在 Internet 上访问。 例如,如果“外部 URL”为
https://contosotravel-f128.msappproxy.net
,原始“回复 URL”为https://contosotravel.com/acs
,则需要将原始“回复 URL”更新为https://contosotravel-f128.msappproxy.net/acs
。选中已更新的“回复 URL”旁边的复选框以将其标记为默认值。
将所需的“回复 URL”标记为默认值后,还可以删除以前配置的使用内部 URL 的“回复 URL” 。
对于 SP 启动的流,请确保后端应用程序指定正确的“回复 URL”或断言使用者服务 URL 以接收身份验证令牌。
注意
如果后端应用程序需要“回复 URL”作为内部 URL,则需要使用自定义域来匹配内部和外部 URL,或在用户的设备上安装“我的应用”安全登录扩展。 此扩展将自动重定向到相应的应用程序代理服务。 若要安装该扩展,请参阅“我的应用”安全登录扩展。
测试应用
应用已启动并运行。 测试应用:
- 打开浏览器并导航到发布应用时创建的外部 URL。
- 使用分配给应用的测试帐户登录。 应能够加载应用程序并单一登录到应用程序。