排查 Microsoft Entra B2B 协作的常见问题

适用于:带白色勾号的绿色圆圈。 员工租户 带灰色 X 号的白色圆圈。 外部租户(了解详细信息

以下是 Microsoft Entra B2B 协作的常见问题的一些补救措施。

来宾登录失败并出现错误代码 AADSTS50020

如果标识提供者 (IdP) 的来宾用户无法登录到 Microsoft Entra ID 中的资源租户并收到错误代码 AADSTS50020,有几个可能的原因。 请参阅“故障排除”一文以了解错误 AADSTS50020

用户无法再读取使用 Microsoft Rights Management Service (OME) 加密的电子邮件

配置跨租户访问设置时,如果默认阻止访问所有应用,用户将无法读取使用 Microsoft Rights Management 服务(也称为 OME)加密的电子邮件。 若要避免此问题,建议配置出站设置以允许用户访问此应用 ID:00000012-0000-0000-c000-000000000000。 如果这是唯一允许的应用程序,则默认情况下将阻止对所有其他应用的访问。

我已添加外部用户,但在全局通讯簿或人员选取器中看不到这些用户

在外部用户未填充到列表中的情况下,可能需要几分钟复制对象。

B2B 来宾用户没有显示在 SharePoint Online/OneDrive 人员选取器中

默认情况下,搜索现有来宾用户的功能在 SharePoint Online (SPO) 人员选取器中处于“关闭”状态以匹配旧行为。

可使用“ShowPeoplePickerSuggestionsForGuestUsers”设置在租户和网站集级别启用此功能。 可使用 Set-SPOTenant 和 Set-SPOSite cmdlet 设置此功能,这将允许用户搜索目录中的所有现有来宾用户。 租户范围中的更改不会影响已经预配的 SPO 站点。

SharePoint Online/OneDrive 未遵守我的来宾邀请设置和域限制

默认情况下,SharePoint Online 和 OneDrive 有自己的外部用户选项集,而不使用 Microsoft Entra ID 的设置。 需要启用 SharePoint 和 OneDrive 与 Microsoft Entra B2B 的集成,以确保选项在那些应用程序中一致。

已对目录禁用邀请

如果收到无权邀请用户的通知,请在“Microsoft Entra ID”>“用户”>“用户设置”>“外部用户”>“管理外部协作设置”下验证你的用户帐户是否有权邀请外部用户:

显示“外部用户”设置的屏幕截图。

如果最近修改了这些设置或为用户分配了“来宾邀请者”角色,可能有 15-60 分钟的延迟更改才生效。

我邀请的用户在兑换过程中遇到错误

常见错误包括:

当发生以下情况时,被邀请者的管理员禁止在其租户中创建电子邮件验证的用户

受邀用户所在组织正在使用 Microsoft Entra ID,但其中不存在特定用户帐户(例如,用户不存在于 Microsoft Entra contoso.com 中)。 contoso.com 的管理员可能会设置一个策略以阻止创建用户。 用户必须向其管理员进行核实以确定是否允许外部用户。 外部用户的管理员可能需要在其域中允许电子邮件验证的用户(请参阅有关允许电子邮件验证的用户的此文章)。

屏幕截图:错误说明租户不允许经电子邮件验证的用户。

外部用户尚未存在于联合域中

如果使用联合身份验证,并且用户在 Microsoft Entra ID 中不存在,则无法邀请该用户。

要解决此问题,外部用户的管理员必须将该用户的帐户同步到 Microsoft Entra ID。

外部用户拥有的 proxyAddress 与现有本地用户的 proxyAddress 存在冲突

当我们检查用户能否受邀加入你的租户时,我们检查的其中一项便是 proxyAddress 是否存在冲突。 其中包括用户在其主租户中的任何 proxyAddresses,以及你的租户中本地用户的任何 proxyAddress。 对于外部用户,我们会将电子邮件添加到现有 B2B 用户的 proxyAddress。 对于本地用户,可以要求他们使用其既有帐户进行登录。

由于 proxyAddresses 中的冲突,无法邀请电子邮件地址

当目录中的其他对象具有与它的某个 proxyAddresses 相同的受邀电子邮件地址时,就会发生这种情况。 另一个冲突对象可能是用户、组或Microsoft 365 联系人。

在来宾用户对象上,未填充 proxyAddresses 或 email 属性

当使用与目录中现有的联系人对象匹配的电子邮件添加或邀请访客时,来宾用户对象上的 proxyAddresses 属性不会填充。 此外,从本地 AD 同步联系人对象时,如果来宾用户具有匹配的 proxyAddresses 属性,则会从现有来宾用户中删除冲突的 proxyAddresses 属性。

邀请兑换过程已更新,因此这种情况不再导致即时兑换问题或电子邮件一次性密码身份验证问题。 以前,外部 ID 仅搜索 proxyAddresses 属性,因此当无法找到匹配项时,使用直接链接或一次性密码进行兑换会失败。 现在,外部 ID 搜索 proxyAddresses 和受邀的电子邮件属性。

若要识别目录中存在冲突的用户对象,请使用以下 PowerShell 步骤:

  1. 打开 Microsoft Graph PowerShell 模块并运行 Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID'
  2. 至少以要在其中检查重复联系人对象的 Microsoft Entra 租户的目录读取者身份登录。
  3. 运行 PowerShell 命令 Get-MgContact -All | ? {$_.Mail -match 'user@domain.com'}

“#”(这通常不是有效字符)如何与 Microsoft Entra ID 进行同步?

由于受邀帐户 user@contoso.com 变为 user_contoso.com#EXT#@fabrikam.partner.onmschina.cn,“#”是 Microsoft Entra B2B 协作或外部用户的 UPN 中的保留字符。 因此,不允许来自本地的 UPN 中的 # 登录到 Microsoft Entra 管理中心。

我将外部用户添加到同步组时,收到错误

外部用户只能添加到“已分配”或“安全”组,而不能分配到在本地控制的组。

我的外部用户未收到用于兑换的电子邮件

被邀请者应该向其 ISP 或垃圾邮件筛选器查询,以确保允许以下地址:invites@oe.21vianet.com

注意

  • 对于中国世纪互联运营的 Azure 服务,发送方地址是 Invites@oe.21vianet.com。

我发现邀请消息有时不包含自定义消息

为遵守隐私法规,在以下情况下,API 不会在电子邮件邀请中包含自定义邮件:

  • 邀请方在邀请租户中没有电子邮件地址
  • 应用服务主体发送邀请

如果此方案非常重要,则可取消 API 邀请电子邮件,并通过所选的电子邮件机制发送邮件。 请咨询所属组织的法律顾问,确保通过这种方式发送的任何电子邮件均符合隐私法规。

尝试登录到 Azure 资源时收到“AADSTS65005”错误

具有来宾帐户的某个用户无法登录,并收到以下错误消息:

    AADSTS65005: Using application 'AppName' is currently not supported for your organization contoso.com because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of contoso.com before the application AppName can be provisioned.

该用户具有 Azure 用户帐户,是已被放弃的或非托管的病毒性租户。 此外,租户中没有任何管理员。

若要解决此问题,你必须接管被放弃的租户。 你还必须访问相关域后缀的面向 Internet 的 DNS,以便提供直接证据来证明你控制着该命名空间。 在租户返回到托管状态后,请与客户讨论保留用户和经验证的域名是否是其组织的最佳选择。

具有实时或“病毒性”租户的来宾用户无法重置其密码

如果标识租户是实时 (JIT) 或病毒性租户(独立的不受管 Azure 租户),则只有来宾用户可以重置其密码。 有时,组织将接管在员工使用其工作电子邮件地址注册服务时创建的病毒性租户的管理。 组织接管病毒性租户后,只有该组织中的管理员可以重置用户密码或启用 SSPR。 如果需要,作为邀请方组织,你可以从目录中删除来宾用户帐户并重新发送邀请。

来宾用户无法使用 Azure AD PowerShell V1 模块

注意

我们计划在 2024 年 3 月 30 日弃用 Azure AD PowerShell。 若要了解详细信息,请阅读有关弃用的更新

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 Microsoft Graph PowerShell 在 PowerShell 7 上提供,支持访问所有 Microsoft Graph API。 有关常见迁移查询的解答,请参阅迁移常见问题解答

从 2019 年 11 月 18 日开始,你的目录中的来宾用户(所定义的其 userType 属性为 Guest 的用户帐户)被系统阻止使用 Azure AD PowerShell V1 模块。 之后,用户需要成为成员用户(userType 为 Member)或使用 Azure AD PowerShell V2 模块。

由于跨租户访问策略,邀请被阻止

尝试邀请 B2B 协作用户时,可能会看到以下错误消息:“此邀请被跨租户访问设置阻止。 你的组织和受邀用户的组织中的管理员都必须配置跨租户访问设置以允许此邀请。”如果 B2B 协作受支持但却被跨租户访问设置阻止,则会出现此错误消息。 请检查跨租户访问设置,确保设置允许与用户进行 B2B 协作。 尝试与单独的 Azure 云中的另一个 Microsoft Entra 组织协作时,可以使用 Microsoft 云设置启用 Microsoft Entra B2B 协作。

由于禁用了 Microsoft B2B 跨云辅助角色应用程序,邀请被阻止

在极少情况下,你可能会看到此消息:“无法完成此操作,因为已在受邀用户的租户中禁用 Microsoft B2B 跨云辅助角色应用程序。 请让受邀用户的管理员重新启用它,然后重试。” 此错误意味着已在 B2B 协作用户的主租户中禁用 Microsoft B2B 跨云辅助角色应用程序。 此应用一般处于已启用状态,但用户主租户中的管理员可能通过 PowerShell 或 Microsoft Entra 管理中心禁用了此应用(请参阅禁用用户登录方式)。 用户的主租户中的管理员可以通过 PowerShell 或 Microsoft Entra 管理中心重新启用该应用。 在管理中心中,搜索 “Microsoft B2B 跨云辅助角色” 以查找该应用,选择它,然后选择重新启用它。

我收到一个错误,Microsoft Entra ID 在我的租户中找不到 aad-extensions-app

在你使用自助服务注册功能(如自定义用户属性或用户流)时,系统会自动创建一个名为 aad-extensions-app. Do not modify. Used by AAD for storing user data. 的应用。 Microsoft Entra 外部 ID 使用它来存储有关注册的用户和收集的自定义属性的信息。

如果将 aad-extensions-app 意外删除,则你有 30 天的时间可以恢复它。 可以使用 Microsoft Graph PowerShell 模块还原应用。

  1. 启动 Microsoft Graph PowerShell 模块并运行 Connect-MgGraph
  2. 至少以要为其还原已删除应用的 Microsoft Entra 租户的应用程序管理员身份登录。
  3. 运行 PowerShell 命令 Get-MgDirectoryDeletedItem -DirectoryObjectId {id}。 示例:
Get-MgDirectoryDeletedItem -DirectoryObjectId '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
Id                                   DeletedDateTime
--                                   ---------------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee 8/30/2021 7:37:37 AM
  1. 运行 PowerShell 命令 Restore-MgDirectoryDeletedItem -DirectoryObjectId {id}。 将此命令的 {id} 部分替换为之前步骤中的 DirectoryObjectId

你现在应该会在 Microsoft Entra 管理中心中看到恢复的应用。

登录屏幕上出现“策略阻止了外部访问”错误

尝试登录租户时,你可能会看到以下错误消息:“你的网络管理员已限制可以访问哪些组织。 请联系你的 IT 部门以取消阻止访问”。此错误与租户限制设置相关。 若要解决此问题,请让 IT 团队按照本文中的说明进行操作。

由于缺少跨租户访问设置,邀请被阻止

你可能会看到以下消息:“此邀请被组织中的跨租户访问设置阻止。 管理员必须配置跨租户访问设置以允许此邀请。”在这种情况下,请让管理员检查跨租户访问设置。

下一步