Compartilhar via

Microsoft Entra UserPrincipalName 配置

本文介绍如何在 Microsoft Entra ID 中填充 UserPrincipalName 属性。 UserPrincipalName 属性值是用户帐户的Microsoft Entra用户名。

UPN 术语

本文使用了以下术语:

术语 说明
初始域 Microsoft Entra租户中的默认域(partner.onmschina.cn)。 例如,“contoso.partner.onmschina.cn”。
Microsoft 联机电子邮件路由地址 (MOERA) Microsoft Entra ID 从 Microsoft Entra 的 MailNickName 属性和初始域计算 MOERA,格式为 “<MailNickName>@<initial domain>”。
本地部署 mailNickName 属性 Active Directory中的属性,该值表示 Exchange 组织中的用户的别名。
本地邮件属性 Active Directory中的属性,其值表示用户的电子邮件地址
主要 SMTP 地址 Exchange 收件人对象的主要电子邮件地址。 例如,“SMTP:user@contoso.com”。
备用登录 ID 一个除 UserPrincipalName 之外的本地属性(例如 mail 属性)被用于登录。

什么是 UserPrincipalName?

UserPrincipalName 是基于 Internet 标准 RFC 822 的属性,表示某个用户的 Internet 样式登录名。

UPN 格式

UPN 由 UPN 前缀(用户帐户名)和 UPN 后缀(DNS 域名)组成。 前缀与后缀以“@”符号相联接。 例如“someone@example.com”。 UPN 必须在目录林内的所有安全主体对象中保持唯一性。

Microsoft Entra ID中的 UPN

MICROSOFT ENTRA ID使用 UPN 允许用户登录。 用户可以使用的 UPN 取决于域是否经过验证。 如果该域已验证,则允许具有该后缀的用户登录到 Microsoft Entra ID。

该属性由 Microsoft Entra Connect 同步。 在安装期间,可以查看已验证和未验证的域。

未验证的域

备用登录 ID

在一些环境中,最终用户可能仅知道自己的电子邮件地址,但不知道自己的 UPN。 使用电子邮件地址的原因可能是公司策略或本地业务线应用程序依赖项。

备用登录 ID 允许配置登录体验,用户可以使用其 UPN 以外的属性(如邮件)登录。

若要使用 Microsoft Entra ID 启用备用登录 ID,在使用 Microsoft Entra Connect 时无需执行额外的配置步骤。 可以直接通过向导配置备用 ID。 请参阅“同步”部分下的用户的Microsoft Entra登录配置。在 User Principal Name 下拉列表下,选择备用登录 ID 的属性。

突出显示“用户主体名称”列表的屏幕截图,你在其中选择了“备用登录 ID”属性。

有关详细信息,请参阅 配置备用登录 IDMicrosoft Entra 登录配置

未验证的 UPN 后缀

如果本地 UserPrincipalName 属性/备用登录 ID 后缀未通过 Microsoft Entra 租户验证,则 Microsoft Entra UserPrincipalName 属性值不能使用此域后缀。 Microsoft Entra ID 基于 Microsoft Entra MailNickName 属性值作为前缀计算新的 UPN,并将 Microsoft Entra 初始域作为域后缀 (<MailNickName>@<初始域>.

已验证的 UPN 后缀

如果使用 Microsoft Entra 租户验证本地 UserPrincipalName 属性/备用登录 ID 后缀,则 Microsoft Entra UserPrincipalName 属性值将与本地 UserPrincipalName 属性/备用登录 ID 值相同。

警告

本地 UserPrincipalName 中存在的任何无效字符(例如空格、换行符等)都使同步的 UPN 值失效。 在这种情况下,Microsoft Entra ID 会计算一个新的 UPN,这类似于在 Microsoft Entra 租户中未验证域后缀的情况。

Microsoft Entra MailNickName 属性值计算

由于 Microsoft Entra 的 UserPrincipalName 属性值可以重新计算为<MailNickName>@<initial domain>,因此必须了解如何计算 Microsoft Entra 的 MailNickName 属性值,该值将成为 UPN 的前缀。

当用户对象首次同步到Microsoft Entra租户时,Microsoft Entra ID按给定顺序检查以下项,并将 MailNickName 属性值设置为第一个现有项:

  • 本地部署 mailNickName 属性
  • 主要 SMTP 地址的前缀
  • 本地部署环境邮件属性的前缀
  • 本地部署的 userPrincipalName 属性/备用登录 ID 的前缀
  • 次要 SMTP 地址的前缀

当用户对象的更新被同步到 Microsoft Entra 租户时,只有在本地“mailNickName”属性值更新的情况下,Microsoft Entra 身份验证才会更新“MailNickName”属性值。

重要

Microsoft Entra ID 仅在本地 UserPrincipalName 属性/备用登录 ID 值的更新同步到 Microsoft Entra 租户时,才重新计算 UserPrincipalName 属性值。

每当 Microsoft Entra ID 重新计算用户主体名称属性,并且用户被分配了 Exchange 许可证时,新的用户主体名称值也会被添加为辅助 SMTP 代理地址。

对于已验证的域更改作(例如,添加新的已验证域或删除现有域),Microsoft Entra ID还会重新计算租户上所有用户的 UserPrincipalName 属性。 有关详细信息,请参阅疑难解答:针对已验证的域更改审核数据

UPN 场景

下面是根据给定场景来计算 UPN 的示例方案。

应用场景 1:未验证的 UPN 后缀 - 初始同步

方案 1

本地用户对象:

  • mailNickName:<未设置>

  • proxyAddresses:{SMTP:user1@contoso.com}

  • mail:user2@contoso.com

  • userPrincipalName:user3@contoso.com

首次将用户对象同步到 Microsoft Entra 租户

  • 将 Microsoft Entra MailNickName 属性设置为主 SMTP 地址前缀。
  • 将 MOERA 设置为 <MailNickName>@<初始域>。
  • 将 Microsoft Entra UserPrincipalName 属性设置为 MOERA。

Microsoft Entra 租户用户对象:

  • MailNickName: user1

  • UserPrincipalName:user1@contoso.partner.onmschina.cn

应用场景 2:未验证的 UPN 后缀 - 设置本地 mailNickName 属性

方案 2

本地用户对象:

  • mailNickName:user4

  • proxyAddresses:{SMTP:user1@contoso.com}

  • mail:user2@contoso.com

  • userPrincipalName:user3@contoso.com

将本地的 mailNickName 属性更新同步到 Microsoft Entra 租户

  • 将本地 mailNickName 属性更新为 Microsoft Entra MailNickName 属性。
  • 由于本地 userPrincipalName 属性没有更新,因此不会更改 Microsoft Entra UserPrincipalName 属性。

Microsoft Entra租户用户对象:

  • MailNickName:user4

  • UserPrincipalName:user1@contoso.partner.onmschina.cn

应用场景 3:未验证的 UPN 后缀 - 更新本地 userPrincipalName 属性

方案 3

本地用户对象:

  • mailNickName:user4

  • proxyAddresses:{SMTP:user1@contoso.com}

  • mail:user2@contoso.com

  • userPrincipalName:user5@contoso.com

将本地 userPrincipalName 属性的更新同步到 Microsoft Entra 租户

  • 更新本地 userPrincipalName 属性会触发 MOERA 和 Microsoft Entra UserPrincipalName 属性的重新计算。
  • 将 MOERA 设置为 <MailNickName>@<初始域>。
  • 将 Microsoft Entra UserPrincipalName 属性设置为 MOERA。

Microsoft Entra 租户用户对象:

  • MailNickName:user4

  • UserPrincipalName:user4@contoso.partner.onmschina.cn

应用场景 4:未验证的 UPN 后缀 - 更新主要 SMTP 地址和本地 mail 属性

方案 4

本地用户对象:

  • mailNickName:user4

  • proxyAddresses:{SMTP:user6@contoso.com}

  • mail:user7@contoso.com

  • userPrincipalName:user5@contoso.com

将本地邮件属性以及主 SMTP 地址的更新同步到 Microsoft Entra 租户。

  • 在用户对象的初始同步后,更新本地邮件属性和主 SMTP 地址不会影响 Microsoft Entra MailNickName 或 UserPrincipalName 属性。

Microsoft Entra 的租户用户对象:

  • MailNickName:user4

  • UserPrincipalName:user4@contoso.partner.onmschina.cn

方案 5:已验证的 UPN 后缀 - 更新本地 userPrincipalName 属性后缀

应用场景 5

本地用户对象:

  • mailNickName:user4

  • proxyAddresses:{SMTP:user6@contoso.com}

  • mail:user7@contoso.com

  • userPrincipalName:user5@verified.contoso.com

将对本地 userPrincipalName 属性所做的更新同步到 Microsoft Entra 租户

  • 更新本地 userPrincipalName 属性会触发重新计算 Microsoft Entra UserPrincipalName 属性。
  • 将 Microsoft Entra UserPrincipalName 属性设置为本地 userPrincipalName 属性,因为其 UPN 后缀已通过 Microsoft Entra 租户验证。

Microsoft Entra 租户用户对象:

  • MailNickName:user4

  • UserPrincipalName:user5@verified.contoso.com

后续步骤