Microsoft Entra 租户可以直接与使用 SAML 或 WS-Fed 标识提供者 (IdP) 的外部组织联合。 然后,外部组织中的用户可以使用自己的 IdP 托管帐户在邀请兑换期间登录到应用或资源,而无需创建新的Microsoft Entra 凭据。 注册或登录应用时,用户将被重定向到其 IdP,然后在用户成功登录后返回到 Microsoft Entra。
先决条件
- 查看 SAML/WS-Fed 标识提供者中的配置注意事项。
- 工作人员租户。
如何配置 SAML/WS-Fed IdP 联合身份验证
步骤 1:确定合作伙伴是否需要更新其 DNS 文本记录
使用以下步骤来确定合作伙伴是否需要更新其 DNS 记录以启用与您的联合功能。
检查合作伙伴的 IdP 被动身份验证 URL,以查看域是否与目标域或目标域中的主机匹配。 换言之,为
fabrikam.com
设置联合时:- 如果被动身份验证终结点是
https://fabrikam.com
或https://sts.fabrikam.com/adfs
(同一域中的主机),则不需要更改 DNS。 - 如果被动身份验证终结点为
https://fabrikamconglomerate.com/adfs
或https://fabrikam.co.uk/adfs
,则域与 fabrikam.com 域不匹配,因此,合作伙伴需要为其 DNS 配置添加身份验证 URL 的文本记录。
- 如果被动身份验证终结点是
如果根据上一步需要进行 DNS 更改,则要求合作伙伴向其域的 DNS 记录中添加 TXT 记录,如下例所示:
fabrikam.com. IN TXT DirectFedAuthUrl=https://fabrikamconglomerate.com/adfs
步骤 2:配置合作伙伴组织的 IdP
接下来,合作伙伴组织需要使用所需的声明和信赖方信任配置其 IdP。 为了确保联合正常运行,Microsoft Entra 外部 ID 要求外部 IdP 发送某些属性和声明,这些属性和声明必须在外部 IdP 中进行配置。
注意
为了说明如何为联合身份验证配置 SAML/WS-Fed IdP,我们使用 Active Directory 联合身份验证服务(AD FS)作为示例。 请参阅文章使用 AD FS 配置 SAML/WS-Fed IdP 联合,其中提供了有关如何将 AD FS 配置为 SAML 2.0 或 WS-Fed IdP 以准备联合的示例。
配置 SAML 2.0 标识提供者
Microsoft Entra 外部 ID 需要来自外部 IdP 的 SAML 2.0 响应才能包含特定属性和声明。 可以通过以下任一方法在外部 IdP 上配置必要的属性和声明:
- 链接到联机安全令牌服务 XML 文件,或
- 手动输入值
有关所需值,请参阅下表。
注意
请确保该值与要设置外部联合的云匹配。
表 1. 来自 IdP 的 SAML 2.0 响应的必需属性。
特征 | 员工租户的值 |
---|---|
AssertionConsumerService | https://login.partner.microsoftonline.cn/login.srf |
受众 |
https://login.partner.microsoftonline.cn/<tenant ID>/ (建议)将 <tenant ID> 替换为要设置联合的 Microsoft Entra 租户的租户 ID。在 Microsoft Entra ID 发送的联合身份验证 SAML 请求中,证书颁发者 URL 是租户终结点,例如 https://login.partner.microsoftonline.cn/<tenant ID>/ 。 对于任何新联合,建议所有合作伙伴将基于 SAML 或 WS-联合 IdP 的受众设置为租户终结点。 使用全局终结点配置的任何现有联合(例如 urn:federation:partner.microsoftonline.cn )会继续工作,但是如果外部 IdP 需要 Microsoft Entra ID 发送的 SAML 请求中的全局证书颁发者 URL,则新的联合会停止运行。 |
颁发者 | 合作伙伴 IdP 的颁发者 URI,例如 http://www.example.com/exk10l6w90DHM0yi... |
表 2. IdP 颁发的 SAML 2.0 令牌的必需声明。
属性名称 | 值 |
---|---|
NameID 格式 | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
用户的电子邮件地址 |
配置 WS-Fed 标识提供者
Microsoft Entra 外部 ID 要求来自外部 IdP 的 WS-Fed 消息包含特定属性和声明。 可以通过以下任一方法在外部 IdP 上配置必要的属性和声明:
- 链接到联机安全令牌服务 XML 文件,或
- 手动输入值
注意
目前,已测试与 Microsoft Entra ID 兼容性的两个 WS-Fed 提供程序是 AD FS 和 Shibboleth。
WS-Fed 的必需属性和声明
下表显示了必须在第三方 WS-Fed IdP 中配置的特定属性和声明的要求。 若要建立联合,必须从 IdP 的 WS-Fed 消息中接收以下属性。 可以通过链接到联机安全令牌服务 XML 文件或手动输入来配置这些属性。
有关所需值,请参阅下表。
注意
请确保该值与要设置外部联合的云匹配。
表 3. 来自 IdP 的 WS-Fed 消息中的必需属性。
特征 | 员工租户的值 |
---|---|
PassiveRequestorEndpoint(被动请求者端点) | https://login.partner.microsoftonline.cn/login.srf |
受众 |
https://login.partner.microsoftonline.cn/<tenant ID>/ (建议)将 <tenant ID> 替换为要设置联合的 Microsoft Entra 租户的租户 ID。在 Microsoft Entra ID 发送的联合身份验证 SAML 请求中,证书颁发者 URL 是租户终结点,例如 https://login.partner.microsoftonline.cn/<tenant ID>/ 。 对于任何新联合,建议所有合作伙伴将基于 SAML 或 WS-联合 IdP 的受众设置为租户终结点。 使用全局终结点配置的任何现有联合(例如 urn:federation:partner.microsoftonline.cn )会继续工作,但是如果外部 IdP 需要 Microsoft Entra ID 发送的 SAML 请求中的全局证书颁发者 URL,则新的联合会停止运行。 |
颁发者 | 合作伙伴 IdP 的颁发者 URI,例如 http://www.example.com/exk10l6w90DHM0yi... |
表 4. IdP 颁发的 WS-Fed 令牌的必需声明。
特征 | 值 |
---|---|
不可变ID | http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID |
电子邮件地址 | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
步骤 3:在 Microsoft Entra 外部 ID 中配置 SAML/WS-Fed IdP 联合身份验证
接下来,配置与 Microsoft Entra 外部 ID 中的步骤 1 中配置的 IdP 的联合。 可以使用 Microsoft Entra 管理中心或 Microsoft 图形 API。 联合策略生效之前可能需要 5-10 分钟。 在此期间,不要尝试兑换联合域的邀请。 需要以下属性:
- 合作伙伴 IdP 的颁发者 URI
- 合作伙伴 IdP 的被动身份验证终结点(仅支持 https)
- 证书
在 Microsoft Entra 管理中心将 IdP 添加到租户
至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心。
如果有权访问多个租户,请使用顶部菜单中的 “设置” 图标
,然后从“ 目录” 菜单切换到租户。
浏览到标识>外部标识>所有标识提供者。
选择“自定义”选项卡,然后选择新增>SAML/WS-Fed。
在“新建 SAML/WS-Fed IdP”页上,输入以下内容:
- 显示名称 - 输入一个名称来帮助标识合作伙伴的 IdP。
- 标识提供者协议 - 选择 SAML 或 WS-Fed。
- 联合 IdP 的域名 - 输入合作伙伴的 IdP 目标域名以进行联合。 在此初始配置期间,只需输入一个域名。 以后你可以添加更多域。
选择用于填充元数据的方法。 如果你有包含元数据的文件,可通过选择“分析元数据文件”并浏览文件来自动填充字段。 或者,可以选择“手动输入元数据”并输入以下信息:
- 合作伙伴 SAML IdP 的颁发者 URI,或合作伙伴 WS-Fed IdP 的实体 ID。
- 合作伙伴 SAML IdP 的被动身份验证终结点,或合作伙伴 WS-Fed IdP 的被动请求者终结点。
- 证书 - 签名证书 ID。
- 元数据 URL - IdP 元数据的位置,用于自动续签签名证书。
注意
元数据 URL 是可选的。 但是,我们强烈建议使用它。 如果提供元数据 URL,Microsoft Entra ID 可以在签名证书过期时自动续订该证书。 如果在过期时间之前出于任何原因或未提供元数据 URL 而轮换证书,Microsoft Entra ID 无法续订。 在这种情况下,你需要手动更新签名证书。
选择“保存”。 标识提供者已添加到“SAML/WS-Fed 标识提供者”列表中。
(可选)若要将更多域名添加到此联合标识提供者,请执行以下操作:
使用 Microsoft Graph API 配置联合
可以使用 Microsoft Graph API samlOrWsFedExternalDomainFederation 资源类型来设置与支持 SAML 或 WS-Fed 协议的标识提供者的联合。
步骤 4:配置兑换顺序(员工租户中的 B2B 协作)
如果要在员工租户中配置联合,以便与经过验证的域进行 B2B 协作,请确保在邀请兑换期间首先使用联合 IdP。 在跨租户访问设置中为入站 B2B 协作配置兑换订单设置。 将 SAML/WS-Fed 标识提供者移动到“主要标识提供者”列表的顶部,以优先使用联合 IdP 兑换。
可以通过邀请新的 B2B 来宾用户来测试您的联盟设置。 有关详细信息,请参阅在 Microsoft Entra 管理中心中添加 Microsoft Entra B2B 协作用户。
注意
可以使用 Microsoft Graph REST API (beta 版本)配置邀请兑换订单。 请参阅示例 2:更新 Microsoft Graph 参考文档中的默认邀请兑换配置。
如何更新证书或配置详细信息
在“ 所有标识提供者 ”页上,可以查看配置的 SAML/WS-Fed 标识提供者及其证书到期日期的列表。 在此列表中,可以续签证书和修改其他配置详细信息。
至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心。
浏览到标识>外部标识>所有标识提供者。
选择自定义选项卡。
滚动到列表中的标识提供者或使用搜索框。
若要更新证书或修改配置详细信息:
- 在标识提供者的“配置”列中,选择“编辑”链接。
- 在配置页上,修改以下任何详细信息:
- 显示名称 - 合作伙伴组织的显示名称。
- 标识提供者协议 - 选择 SAML 或 WS-Fed。
- 被动身份验证终结点 - 合作伙伴 IdP 的被动请求方终结点。
- 证书 - 签名证书 ID。 若要续签,请输入新的证书 ID。
- 元数据 URL - 包含合作伙伴元数据的 URL,用于自动续签签名证书。
- 选择“保存”。
若要编辑与合作伙伴关联的域,请选择“域”列中的链接。 在域详细信息窗格中:
- 若要添加域,请在“联合 IdP 的域名”旁边键入域名,然后选择“添加”。 针对你要添加的每个域重复上述操作。
- 若要删除某个域,请选择该域旁边的删除图标。
- 完成后,选择“完成”。
如何删除联合
可以删除联合配置。 如果这样做,已兑换其邀请的联合来宾用户无法再登录。 但可以通过重置这些用户的兑换状态,让这些用户能够再次访问你的资源。 要在 Microsoft Entra 管理中心中移除 IdP 的配置,请执行以下操作:
至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心。
浏览到标识>外部标识>所有标识提供者。
选择“自定义”选项卡,然后滚动到列表中的标识提供者或使用搜索框。
选择“域”列中的链接以查看 IdP 的域详细信息。
仅保留“域名”列表中的一个域,并删除其他所有域。
选择“删除配置”,然后选择“完成”。
选择“确定”以确认删除。
还可以使用 Microsoft Graph API samlOrWsFedExternalDomainFederation 资源类型删除联合。
后续步骤
- 员工租户:详细了解外部用户使用各种标识提供者登录时的邀请兑换体验。