本文使用 Microsoft Entra 管理中心为依赖于信赖方安全令牌服务(STS)的企业应用程序启用单一登录(SSO)。 信赖方 STS 支持安全断言标记语言 (SAML),并且可以作为企业应用程序与 Microsoft Entra 集成。 配置 SSO 后,用户可以使用其Microsoft Entra 凭据登录到应用程序。
如果应用程序将直接与 Microsoft Entra 集成以实现单一登录,并且不需要信赖方安全令牌服务(STS),请参阅文章 “为企业应用程序启用单一登录”。
建议在生产租户中配置应用程序之前,使用非生产环境测试本文中的步骤。
先决条件
若要配置 SSO,需要满足以下条件:
- 包含 HTTPS 终结点的信赖方 STS,例如 Active Directory 联合身份验证服务(AD FS)或 PingFederate
- 需要信赖方 STS 的实体标识符(实体 ID)。 在 Microsoft Entra 租户中配置的所有信赖方 STS 和应用程序中,此项必须是唯一的。 单个Microsoft Entra 租户中不能有两个具有相同实体标识符的应用程序。 例如,如果 Active Directory 联合身份验证服务(AD FS)是信赖方 STS,则标识符可能是表单
http://{hostname.domain}/adfs/services/trust的 URL。 - 还需要信赖方 STS 的断言使用者服务 URL 或回复 URL。 此 URL 必须是一个
HTTPSURL,用于将 SAML 令牌从 Microsoft Entra 安全传输到信赖方 STS,作为单一登录应用程序的一部分。 例如,如果 AD FS 是信赖方 STS,则 URL 可能采用格式https://{hostname.domain}/adfs/ls/。
- 需要信赖方 STS 的实体标识符(实体 ID)。 在 Microsoft Entra 租户中配置的所有信赖方 STS 和应用程序中,此项必须是唯一的。 单个Microsoft Entra 租户中不能有两个具有相同实体标识符的应用程序。 例如,如果 Active Directory 联合身份验证服务(AD FS)是信赖方 STS,则标识符可能是表单
- 已与信赖方 STS 集成的应用程序
- Microsoft Entra 中的以下角色之一:云应用程序管理员、应用程序管理员
- Microsoft Entra 中可以登录应用程序的测试用户
注释
本教程假定有一个Microsoft Entra 租户、一个信赖方 STS 和一个连接到信赖方 STS 的应用程序。 本教程演示如何将 Microsoft Entra 配置为使用信赖方 STS 提供的实体标识符来确定相应的企业应用程序,以在响应中发送 SAML 令牌。 如果有多个应用程序连接到单个信赖方 STS,则Microsoft Entra 在颁发 SAML 令牌时无法区分这两个应用程序。 配置不同的实体标识符超出了本教程的范围。
在 Microsoft Entra 中创建应用程序
首先,在 Microsoft Entra 中创建企业应用程序,使 Microsoft Entra 可以为信赖方 STS 生成 SAML 令牌,以便向应用程序提供这些令牌。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 请导航到 Entra ID>企业应用程序>所有应用程序。
- 如果已配置表示信赖方 STS 的应用程序,请在搜索框中输入现有应用程序的名称,从搜索结果中选择该应用程序,然后在下一部分继续。
- 选择“新建应用程序”。
- 选择“创建自己的应用程序”。
- 在“输入名称”框中键入新应用程序的名称,选择“集成其他在图库中找不到的应用程序(非图库)”,然后选择“创建”。
在应用程序中配置单一登录
在左侧菜单的“管理”部分中,选择“单一登录”,打开“单一登录”窗格进行编辑。
选择“SAML”以打开“SSO 配置”页面。
在 “基本 SAML 配置 ”框中,选择“ 编辑”。 必须先设置标识符和回复 URL,然后才能进行进一步的 SAML 配置更改。
在“基本 SAML 配置”页的 “标识符”(实体 ID)下,如果没有列出的标识符,请选择“ 添加标识符”。 键入信赖方 STS 提供的应用程序的标识符。 例如,标识符可以是格式为
http://{hostname.domain}/adfs/services/trust的 URL。在“基本 SAML 配置”页中,在 “回复 URL”(断言使用者服务 URL) 下,选择 “添加回复 URL”。 键入信赖方 STS 断言使用者服务的 HTTPS URL。 例如,URL 可能是形式
https://{hostname.domain}/adfs/ls/。(可选)配置信赖方 STS 所需的 登录、 中继状态或 注销 URL。
选择“保存”。
从 Microsoft Entra 下载元数据和证书
信赖方 STS 可能需要来自 Microsoft Entra 的联合元数据作为标识提供者才能完成配置。 联合元数据和关联的证书在“基本 SAML 配置”页的“SAML 证书”部分中提供。 有关详细信息,请参阅 联合元数据。
- 如果信赖方 STS 可以从 Internet 终结点下载联合元数据,则复制 应用联合元数据 URL 旁边的值。
- 如果信赖方 STS 需要包含联合元数据的本地 XML 文件,请选择“联合元数据 XML”旁边的“下载”。
- 如果您的信赖方 STS 需要标识提供者的证书,请在证书(Base64)或证书(Raw)旁边选择下载。
- 如果信赖方 STS 不支持联合元数据,请复制 登录 URL 和 Microsoft Entra 标识符 以配置信赖方 STS。
配置由 Microsoft Entra 颁发的声明书
默认情况下,Microsoft Entra 仅有少数属性包含在其发送至信赖方 STS 的 SAML 令牌中。 可以添加应用程序需要的其他声明,并更改 SAML 名称标识符中提供的属性。 有关标准声明的详细信息,请参阅 SAML 令牌声明参考。
- 在 “属性和声明 ”框中,选择“ 编辑”。
- 若要更改被作为名称标识符值发送的 Entra ID 属性,请选择行唯一用户标识符 (Name ID)。 可以将源属性更改为另一Microsoft Entra 内置属性或扩展属性。 然后,选择“保存”。
- 若要更改作为已配置的声明的值发送的 Entra ID 属性,请选择 “其他声明 ”部分中的行。
- 若要添加新声明,请选择“ 添加新声明”。
- 完成后,选择 基于 SAML 的登录 以关闭此屏幕。
配置谁可以登录到应用程序
测试配置时,应将指定的测试用户分配到 Microsoft Entra 中的应用程序,以验证用户是否能够通过 Microsoft Entra 和信赖方 STS 登录到应用程序。
- 在左侧菜单的“管理”部分中,选择“属性” 。
- 确保 为用户登录启用 的值设置为 “是”。
- 确保 所需的工作分配 值设置为 “是”。
- 如果进行了任何更改,请选择“保存”。
- 在左侧菜单的“ 管理 ”部分中,选择“ 用户和组”。
- 选择“添加用户/组”。
- 选择“无选择项”。
- 在搜索框中,键入测试用户的名称,然后选择该用户并点击选择。
- 选择“ 分配 ”以将用户分配到应用程序的默认 用户 角色。
- 在左侧菜单的 “安全性 ”部分中,选择 “条件访问”。
- 选择“What if”。
- 选择 “未选择用户或服务主体”,选择 “未选择用户”,然后选择以前分配给该应用程序的用户。
- 选择 “任何云应用”,然后选择企业应用程序。
- 选择“What if”。 验证将应用的任何策略是否允许用户登录到应用程序。
在你的信赖方 STS 中,将 Microsoft Entra 配置为身份提供者。
接下来,将联合元数据导入到您的信赖方 STS 中。 以下步骤以 AD FS 为例,但可以改用其他信赖方 STS。
- 在您的信赖方 STS 的声明提供者信任列表中,选择“添加声明提供者信任”,然后选择“开始”。
- 根据是否从 Microsoft Entra 下载了联合身份验证元数据,请选择 导入联机发布或本地网络上的声明提供程序的数据,或者 从文件中导入声明提供程序的数据。
- 可能还需要向信赖方 STS 提供Microsoft Entra 证书。
- 当你将 Microsoft Entra 完全配置为标识提供者后,请确认:
- 声明提供程序标识符是格式为
https://sts.chinacloudapi.cn/{tenantid}的 URI。 - 如果使用 Microsoft Entra ID 全局服务,则 SAML 单一登录的端点是格式
https://login.partner.microsoftonline.cn/{tenantid}/saml2的 URI。 有关国家云,请参阅 Microsoft Entra 身份验证和国家云。 - 信赖方 STS 可识别Microsoft Entra 证书。
- 未配置加密。
- 在 Microsoft Entra 中配置的声明被列为在您的信赖方 STS 中用于声明规则映射的可用选项。 如果随后添加了额外的声明,则可能需要将这些声明添加到信赖方 STS 中的标识提供者配置中。
- 声明提供程序标识符是格式为
在信赖方 STS 中配置声明规则
一旦 Microsoft Entra 作为标识提供者将声明发送给信赖方 STS,并且这些声明被认知,你需要将这些声明映射或转换成应用程序所需的声明。 以下步骤使用 AD FS 显示,但可以改用另一个信赖方 STS。
- 在信赖方 STS 的声明提供程序信任列表中,选择Microsoft Entra 的声明提供程序信任,然后选择“编辑声明规则”。
- 对于Microsoft Entra 提供的每个声明,以及应用程序所需的每个声明,请选择“ 添加规则”。 在每个规则中,选择 “传递或筛选传入声明”,或根据应用程序的要求 转换传入声明。
测试应用程序的单一登录
在 Microsoft Entra 和信赖方 STS 中配置应用程序后,用户可以通过对 Microsoft Entra 进行身份验证,并使用信赖方 STS 将 Microsoft Entra 提供的令牌转换为应用程序所需的格式和声明,从而登录。
本教程演示如何使用基于 Web 的应用程序测试登录流,该应用程序实现了信赖方发起的单一登录模式。 有关详细信息,请参阅 单一登录 SAML 协议。
- 在 Web 浏览器专用浏览会话中,连接到应用程序并启动登录过程。 应用程序将 Web 浏览器重定向到信赖方 STS,信赖方 STS 确定可以提供适当声明的标识提供者。
- 在信赖方 STS 中,如果出现提示,请选择Microsoft Entra 标识提供者。 如果使用 Microsoft Entra ID 全局服务,
https://login.partner.microsoftonline.cn信赖方 STS 会将 Web 浏览器重定向到 Microsoft Entra 登录终结点。 - 使用测试用户的标识登录到 Microsoft Entra,此前在步骤中配置 了谁可以登录到应用程序。 Microsoft Entra 然后根据实体标识符找到企业应用程序,并将 Web 浏览器重定向到信赖方 STS 回复 URL 终结点,并使用 Web 浏览器传输 SAML 令牌。
- 信赖方 STS 验证 SAML 令牌是否已由 Microsoft Entra 颁发,然后从 SAML 令牌中提取和转换声明,并将 Web 浏览器重定向到应用程序。 请确认您的应用程序通过此过程从 Microsoft Entra 收到了必需的声明。
完成配置
- 测试初始登录配置后,需要确保信赖方 STS 在将新证书添加到 Microsoft Entra 时保持最新状态。 某些依赖方 STS 可能拥有一个内置的过程,用于监视身份提供者的联合体元数据。
- 本教程演示了如何配置单一登录。 您的依赖方 STS 还可能支持 SAML 单点注销。有关该功能的更多信息,请参阅 单点注销 SAML 协议。
- 可以删除测试用户对应用程序的分配。 可以使用其他功能(如动态组或权利管理)将用户分配到应用程序。 有关详细信息,请参阅 快速入门:创建和分配用户帐户。