共用方式為

添加与 SAML/WS-Fed 标识提供者的联合

Microsoft Entra 租户可以直接与使用 SAML 或 WS-Fed 标识提供者 (IdP) 的外部组织联合。 然后,外部组织中的用户可以使用自己的 IdP 托管帐户在邀请兑换期间登录到应用或资源,而无需创建新的Microsoft Entra 凭据。 注册或登录应用时,用户将被重定向到其 IdP,然后在用户成功登录后返回到 Microsoft Entra。

先决条件

如何配置 SAML/WS-Fed IdP 联合身份验证

步骤 1:确定合作伙伴是否需要更新其 DNS 文本记录

使用以下步骤来确定合作伙伴是否需要更新其 DNS 记录以启用与您的联合功能。

  1. 检查合作伙伴的 IdP 被动身份验证 URL,以查看域是否与目标域或目标域中的主机匹配。 换言之,为 fabrikam.com 设置联合时:

    • 如果被动身份验证终结点是 https://fabrikam.comhttps://sts.fabrikam.com/adfs(同一域中的主机),则不需要更改 DNS。
    • 如果被动身份验证终结点为 https://fabrikamconglomerate.com/adfshttps://fabrikam.co.uk/adfs,则域与 fabrikam.com 域不匹配,因此,合作伙伴需要为其 DNS 配置添加身份验证 URL 的文本记录。
  2. 如果根据上一步需要进行 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 添加到租户

  1. 至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心

  2. 如果有权访问多个租户,请使用顶部菜单中的 “设置” 图标 ,然后从“ 目录” 菜单切换到租户。

  3. 浏览到标识>外部标识>所有标识提供者

  4. 选择“自定义”选项卡,然后选择新增>SAML/WS-Fed

    显示用于添加新 SAML 或 WS-Fed IdP 的按钮的屏幕截图。

  5. 在“新建 SAML/WS-Fed IdP”页上,输入以下内容:

    • 显示名称 - 输入一个名称来帮助标识合作伙伴的 IdP。
    • 标识提供者协议 - 选择 SAMLWS-Fed
    • 联合 IdP 的域名 - 输入合作伙伴的 IdP 目标域名以进行联合。 在此初始配置期间,只需输入一个域名。 以后你可以添加更多域。

    显示新的 SAML 或 WS-Fed IdP 页的屏幕截图。

  6. 选择用于填充元数据的方法。 如果你有包含元数据的文件,可通过选择“分析元数据文件”并浏览文件来自动填充字段。 或者,可以选择“手动输入元数据”并输入以下信息

    • 合作伙伴 SAML IdP 的颁发者 URI,或合作伙伴 WS-Fed IdP 的实体 ID
    • 合作伙伴 SAML IdP 的被动身份验证终结点,或合作伙伴 WS-Fed IdP 的被动请求者终结点
    • 证书 - 签名证书 ID。
    • 元数据 URL - IdP 元数据的位置,用于自动续签签名证书。

    显示元数据字段的屏幕截图。

    注意

    元数据 URL 是可选的。 但是,我们强烈建议使用它。 如果提供元数据 URL,Microsoft Entra ID 可以在签名证书过期时自动续订该证书。 如果在过期时间之前出于任何原因或未提供元数据 URL 而轮换证书,Microsoft Entra ID 无法续订。 在这种情况下,你需要手动更新签名证书。

  7. 选择“保存”。 标识提供者已添加到“SAML/WS-Fed 标识提供者”列表中。

    显示包含新条目的 SAML/WS-Fed 标识提供者列表的屏幕截图。

  8. (可选)若要将更多域名添加到此联合标识提供者,请执行以下操作:

    1. 选择“域”列中的链接。

      显示用于将域添加到 SAML/WS-Fed 标识提供者的链接的屏幕截图。

    2. 在“联合 IdP 的域名”旁边键入域名,然后选择“添加”。 针对你要添加的每个域重复上述操作。 完成后,选择“完成”

      显示域详细信息窗格中的“添加”按钮的屏幕截图。

使用 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 标识提供者及其证书到期日期的列表。 在此列表中,可以续签证书和修改其他配置详细信息。

  1. 至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到标识>外部标识>所有标识提供者

  3. 选择自定义选项卡。

  4. 滚动到列表中的标识提供者或使用搜索框。

  5. 若要更新证书或修改配置详细信息:

    • 在标识提供者的“配置”列中,选择“编辑”链接。
    • 在配置页上,修改以下任何详细信息:
      • 显示名称 - 合作伙伴组织的显示名称。
      • 标识提供者协议 - 选择 SAMLWS-Fed
      • 被动身份验证终结点 - 合作伙伴 IdP 的被动请求方终结点。
      • 证书 - 签名证书 ID。 若要续签,请输入新的证书 ID。
      • 元数据 URL - 包含合作伙伴元数据的 URL,用于自动续签签名证书。
    • 选择“保存”

    IDP 配置详细信息的屏幕截图。

  6. 若要编辑与合作伙伴关联的域,请选择“域”列中的链接。 在域详细信息窗格中:

    • 若要添加域,请在“联合 IdP 的域名”旁边键入域名,然后选择“添加”。 针对你要添加的每个域重复上述操作。
    • 若要删除某个域,请选择该域旁边的删除图标。
    • 完成后,选择“完成”

    域配置页的屏幕截图。

    注意

    若要删除与合作伙伴的联合,请首先删除所有域,只保留一个,然后按照下一部分 中的步骤进行操作。

如何删除联合

可以删除联合配置。 如果这样做,已兑换其邀请的联合来宾用户无法再登录。 但可以通过重置这些用户的兑换状态,让这些用户能够再次访问你的资源。 要在 Microsoft Entra 管理中心中移除 IdP 的配置,请执行以下操作:

  1. 至少以外部标识提供者管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到标识>外部标识>所有标识提供者

  3. 选择“自定义”选项卡,然后滚动到列表中的标识提供者或使用搜索框

  4. 选择“域”列中的链接以查看 IdP 的域详细信息。

  5. 仅保留“域名”列表中的一个域,并删除其他所有域。

  6. 选择“删除配置”,然后选择“完成”

    删除配置的屏幕截图。

  7. 选择“确定”以确认删除。

还可以使用 Microsoft Graph API samlOrWsFedExternalDomainFederation 资源类型删除联合。

后续步骤

  • 员工租户:详细了解外部用户使用各种标识提供者登录时的邀请兑换体验