为使用安全断言标记语言(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 > Enterprise 应用程序 ,然后选择“ 新建应用程序”。
输入新应用程序的显示名称。 选择“集成未在库中找到的其他任何应用程序”,然后选择“创建”。
在应用的 “概述 ”页上,选择 “单一登录”。
选择 SAML 作为单一登录方法。
首先在企业网络上设置 SAML SSO 以正常工作,请参阅 “配置基于 SAML 的单一登录 ”的基本 SAML 配置部分,为应用程序配置基于 SAML 的身份验证。
将至少一个用户添加到应用程序,并确保测试帐户有权访问应用程序。 连接到企业网络时,请使用测试帐户查看应用程序是否具有单一登录。
注释
设置应用程序代理后,将返回并更新 SAML 回复 URL。
使用应用程序代理发布本地应用程序
在为本地应用程序提供 SSO 之前,请启用应用程序代理并安装连接器。 详细了解 如何准备本地环境、安装和注册连接器以及测试连接器。 设置连接器后,请按照以下步骤使用应用程序代理发布新应用程序。
当应用程序仍在Microsoft Entra 管理中心中打开时,请选择 应用程序代理。 请提供应用程序的内部 URL。 如果使用自定义域,则还需要为应用程序上传传输层安全性(TLS)证书。
注释
最佳做法是尽可能为优化的用户体验使用自定义域。 详细了解如何在 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。
- 使用分配给应用的测试帐户登录。 您应该能够加载应用程序并使用 SSO 直接登录。