Microsoft Entra 外部 ID 中的 B2B 协作用户声明映射

借助 Microsoft Entra 外部 ID,可以为 B2B 协作用户自定义在 SAML 令牌中颁发的声明。 当用户向应用程序进行身份验证时,Microsoft Entra ID 会将一个 SAML 令牌颁发给应用,其中包含用于唯一标识用户的用户相关信息(或声明)。 默认情况下,此声明包括用户的用户名、电子邮件地址、名字和姓氏。

Microsoft Entra 管理中心中,可以查看或编辑在 SAML 令牌中发送到应用程序的声明。 若要访问设置,请浏览到“标识”>“应用程序”>“企业应用程序”>>配置了单一登录的应用程序“单一登录”。 在“用户属性”部分中查看 SAML 令牌设置。

UI 中 SAML 令牌属性的屏幕截图。

有两个可能的原因导致你可能需要编辑在 SAML 令牌中颁发的声明:

  1. 应用程序需要一组不同的声明 URI 或声明值。

  2. 应用程序要求 NameIdentifier 声明是存储在 Microsoft Entra ID 中的用户主体名称 (UPN) 以外的其他内容。

有关如何添加和编辑声明的信息,请参阅在 Microsoft Entra ID 中为企业应用程序自定义在 SAML 令牌中颁发的声明

B2B 用户的 UPN 声明行为

如果需要将 UPN 值作为应用程序令牌声明颁发,则 B2B 用户的实际映射声明行为可能会有所不同。 如果 B2B 用户使用外部 Microsoft Entra 标识进行身份验证,并且你颁发 user.userprincipalname 作为源属性,则 Microsoft Entra ID 会从主租户为此用户颁发 UPN 属性。

颁发 user.userprincipalname 作为声明时,所有其他外部标识类型(例如 SAML/WS-Fed、Google、Email OTP)都会颁发 UPN 值而不是电子邮件值。 如果希望在所有 B2B 用户的令牌声明中颁发实际的 UPN,则可以改为将 user.localuserprincipalname 设置为源属性。

注意

对于纯云 B2B 用户和已邀请/已转换为 B2B 协作的同步用户,本节中提到的行为也适用于他们。

后续步骤