Microsoft Entra B2B 协作故障排除

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

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

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

B2B 直连用户无法访问共享频道(错误 AADSTS90071)

当 B2B 直连在尝试访问另一组织的 Teams 共享频道时看到以下错误消息时,外部组织尚未配置多重身份验证信任设置:

你尝试访问的组织需要更新其设置才能让你登录。

AADSTS90071:<组织>的管理员必须更新其访问设置以接受入站多重身份验证。

托管 Teams 共享频道的组织必须启用多重身份验证的信任设置,以允许 B2B 直连用户访问。 信任设置在组织的跨租户访问设置中可配置。

配置跨租户访问设置时,出现类似于“由于对象限制,导致策略更新失败”的错误

配置跨租户访问设置时,如果收到显示“由于对象限制,未能更新策略”的错误,则你已达到策略对象的限制 25 KB。 我们正在努力提高此限制。 如果需要能够计算当前策略与此限制的接近值,请执行下列操作:

  1. 打开 Microsoft Graph 浏览器,然后执行以下操作:

    GET https://graph.microsoft.com/beta/policies/crosstenantaccesspolicy

  2. 复制整个 JSON 响应并将其另存为 txt 文件,例如 policyobject.txt

  3. 打开 PowerShell 并运行以下脚本,使用文本文件替换第一行中的文件位置:

$policy = Get-Content “C:\policyobject.txt”
$maxSize = 1024*25 
$size = [System.Text.Encoding]::UTF8.GetByteCount($policy) 
write-host "Remaining Bytes available in policy object" 
$maxSize - $size 
write-host "Is current policy within limits?" 
if ($size -le $maxSize) { return “valid” }; else { return “invalid” } 

用户无法再读取使用 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 相同的受邀电子邮件地址时,就会发生这种情况。 若要解决此冲突,请从用户对象中删除电子邮件,并删除关联的联系人对象,然后再次尝试邀请此电子邮件。

来宾用户对象没有 proxyAddress

有时,邀请的外部来宾用户会与现有的联系人对象冲突。 在出现这种情况时,就会创建没有 proxyAddress 的来宾用户。 这意味着用户将无法使用实时兑换电子邮件一次性密码身份验证来兑换此帐户。 此外,如果从本地 AD 同步的联系人对象与现有来宾用户冲突,则会从现有来宾用户中删除有冲突的 proxyAddress。

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

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

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

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

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

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

注意

  • 对于中国世纪互联运营的 Azure 服务,发送方地址是 Invites@oe.21vianet.com。
  • 对于 Microsoft Entra 政府云,发送方地址为 invites@azuread.us。

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

为遵守隐私法规,在以下情况下,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 用户帐户,是已被放弃的或非托管的病毒性租户。 此外,租户中没有任何管理员。

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

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

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

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

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读有关弃用的更新。 在此日期之后,对这些模块的支持仅限于到 Microsoft Graph PowerShell SDK 的迁移帮助和安全性修复。 弃用的模块将持续运行至 2025 年 3 月 30 日。

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 有关常见迁移问题,请参阅迁移常见问题解答注意:2024 年 6 月 30 日之后,MSOnline 版本 1.0.x 可能会遇到中断。

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

在 Azure 美国政府租户中,我无法邀请 B2B 协作来宾用户

在 Azure 美国政府云中,可在 Azure 美国政府云中且支持 B2B 协作的租户之间进行 B2B 协作。 如果你邀请的用户所属的租户尚不支持 B2B 协作,则会出现错误。 有关详细信息和限制,请参阅 Microsoft Entra ID P1 和 P2 变体

如果需要与 Azure 美国政府云外部的 Microsoft Entra 组织协作,可使用 Microsoft 云设置来实现 B2B 协作。

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

尝试邀请 B2B 协作用户时,可能会看到以下错误消息:“此邀请被跨租户访问设置阻止。 你的组织和受邀用户的组织中的管理员都必须配置跨租户访问设置以允许此邀请。”如果 B2B 协作受支持但却被跨租户访问设置阻止,则会出现此错误消息。 请检查跨租户访问设置,确保设置允许与用户进行 B2B 协作。 尝试与单独的 Microsoft 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
--                                   ---------------
d4142c52-179b-4d31-b5b9-08940873507b 8/30/2021 7:37:37 AM
  1. 运行 PowerShell 命令 Restore-MgDirectoryDeletedItem -DirectoryObjectId {id}。 将此命令的 {id} 部分替换为之前步骤中的 DirectoryObjectId

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

已成功邀请来宾用户,但电子邮件属性未填充

假设你无意中邀请了一位电子邮件地址与目录中已有的用户对象匹配的来宾用户。 系统将创建来宾用户对象,但电子邮件地址将添加到 otherMail 属性,而不是添加到 mailproxyAddresses 属性。 若要避免此问题,可以使用以下 PowerShell 步骤在 Microsoft Entra 目录中搜索存在冲突的用户对象:

  1. 打开 Microsoft Graph PowerShell 模块并运行 Connect-MgGraph
  2. 以要在其中检查重复联系人对象的 Microsoft Entra 租户的全局管理员身份登录。
  3. 运行 PowerShell 命令 Get-MgContact -All | ? {$_.Mail -match 'user@domain.com'}

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

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

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

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

下一步