排查发布者验证问题

如果无法完成这个过程,或者在发布者验证过程中遇到意外的行为,则在收到错误或看到意外行为时,应该首先执行以下操作:

  1. 查看 要求,并确保已满足这些要求。
  2. 查看说明以将应用标记为“发布者已验证”,并确保已成功执行所有步骤。
  3. 参阅此常见问题列表。
  4. 使用 Graph 浏览器重现请求,以收集更多信息并排除 UI 中的任何问题。

常见问题

下面介绍在此过程中可能会出现的一些常见问题。

  • 不知道 Cloud Partner Program ID (Partner One ID),或者不知道帐户的主要联系人。

    1. 导航至Cloud Partner Program 注册页
    2. 使用组织的主要 Microsoft Entra 租户中的用户帐户登录。
    3. 如果 Cloud Partner Program 帐户已存在,则会识别到此帐户,并将你添加到该帐户。
    4. 导航到合作伙伴资料页面,该页面会列出 Partner One ID 和帐户的主要联系人。
  • 我不知道谁是我的 Microsoft Entra 全局管理员(也称为公司管理员或租户管理员),如何找到他们? 应用程序管理员或云应用程序管理员的情况又是怎样的呢?

    1. 至少以云应用程序管理员的身份登录到 Microsoft Entra 管理中心
    2. 浏览到“标识”>“角色和管理员”>“角色和管理员”
    3. 选择所需的管理员角色。
    4. 此时会显示分配了该角色的用户列表。
  • 我不知道谁是我 CPP 帐户的管理员 转到 CPP 用户管理页面并筛选用户列表,查看各管理员角色的用户。

  • 收到一个错误,显示 Partner One ID 无效或无权访问。 按照修正指南进行操作。

  • 当我登录到 Microsoft Entra 管理中心时,我看不到任何已注册的应用。 为什么? 应用注册可能是使用此租户中的其他用户帐户(个人帐户/使用者帐户)或其他租户中的用户帐户创建的。 确保在创建应用注册的租户中使用正确的帐户登录。

  • 我收到与多重身份验证相关的错误。 我该做什么? 请确保已启用多重身份验证,并且在此方案中登录的用户必须完成多重身份验证 例如,MFA 可以是:

进行 Microsoft Graph API 调用

如果遇到问题,但无法根据在 UI 中看到的内容理解出现问题的原因,可能有帮助的做法是,使用 Microsoft Graph 调用执行可在应用注册门户中执行的相同操作来进行进一步的故障排除。

要实现这些请求,最简单的方法是使用 Graph 浏览器。 还可以考虑使用其他选项,例如,使用 Postman,或使用 PowerShell 来调用 Web 请求

可以使用 Microsoft Graph 来设置和取消设置应用的已验证发布者,并在执行其中一个操作后查看结果。 在与应用注册相对应的应用程序对象和从该应用实例化的任何服务主体上都可以看到该结果。 有关这些对象之间的关系的详细信息,请参阅:Microsoft Entra ID 中的应用程序对象和服务主体对象

下面是一些有用请求的示例:

设置已验证的发布者

请求

POST /applications/00001111-aaaa-2222-bbbb-3333cccc4444/setVerifiedPublisher 

{ 

    "verifiedPublisherId": "12345678" 

} 

Response

204 No Content 

注意

verifiedPublisherID 就是 Partner One ID。

取消设置已验证的发布者

请求:

POST /applications/00001111-aaaa-2222-bbbb-3333cccc4444/unsetVerifiedPublisher 

响应

204 No Content 

从应用程序获取已验证的发布者

GET https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444 

HTTP/1.1 200 OK 

{ 
    "id": "00001111-aaaa-2222-bbbb-3333cccc4444", 

    ... 

    "verifiedPublisher" : { 
        "displayName": "myexamplePublisher", 
        "verifiedPublisherId": "12345678", 
        "addedDateTime": "2019-12-10T00:00:00" 
    } 
} 

从服务主体获取已验证的发布者

GET https://graph.microsoft.com/v1.0/servicePrincipals/11112222-bbbb-3333-cccc-4444dddd5555

HTTP/1.1 200 OK 

{ 
    "id": "11112222-bbbb-3333-cccc-4444dddd5555", 

    ... 

    "verifiedPublisher" : { 
        "displayName": "myexamplePublisher", 
        "verifiedPublisherId": "12345678", 
        "addedDateTime": "2019-12-10T00:00:00" 
    } 
} 

错误引用

以下是在使用 Microsoft Graph 进行故障排除或在应用注册门户中完成此过程时,可能会收到的潜在错误代码的列表。

MPNAccountNotFoundOrNoAccess

提供的 Partner One ID (MPNID) 不存在,或无权访问。 请提供有效的 Partner One ID,并重试。

最常见的原因是,已登录用户不是合作伙伴中心 CPP 帐户正确角色的成员 - 请查看要求以获取符合条件的角色列表,并查看《常见问题》以获取详细信息。 还可能是由于应用注册到的租户未添加到 CPP 帐户,或者是无效的 Partner One ID。

修正步骤

  1. 转到合作伙伴配置文件并验证:

    • Partner One ID 正确。
    • 未显示错误或“挂起的操作”,并且“法律业务配置文件”和“合作伙伴信息”下的验证状态均显示为“已授权”或“成功”。
  2. 转到 CPP 租户管理页,确认应用所注册的租户和提供登录所用用户帐号的租户位于关联租户列表中。 若要添加其他租户,请按照多租户帐户说明执行操作。 你添加的任何租户的所有全局管理员都会被授予对合作伙伴中心帐户的全局管理员权限。

  3. 转到 CPP 用户管理页,确认登录的用户是全局管理员、MPN 管理员或帐户管理员。若要在合作伙伴中心为用户添加角色,请按照《创建用户帐户和设置权限》中的说明执行操作。

MPNGlobalAccountNotFound

提供的 Partner One ID (MPNID) 无效。 请提供有效的 Partner One ID,并重试。

最常见的原因是,提供的 Partner One ID 对应合作伙伴位置帐户 (PLA)。 仅支持合作伙伴全局帐户。 有关更多详细信息,请参阅合作伙伴中心帐户结构

修正步骤

  1. 导航到“合作伙伴配置文件”>“标识符”边栏选项卡>“Microsoft 云合作伙伴计划”选项卡
  2. 使用类型为 PartnerGlobal 的合作伙伴 ID。

MPNAccountInvalid

提供的 Partner One ID (MPNID) 无效。 请提供有效的 Partner One ID,并重试。

最常见的原因是提供了错误的 Partner One ID。

修正步骤

  1. 导航到“合作伙伴配置文件”>“标识符”边栏选项卡>“Microsoft 云合作伙伴计划”选项卡
  2. 使用类型为 PartnerGlobal 的合作伙伴 ID。

MPNAccountNotVetted

提供的 Partner One ID (MPNID) 未完成审核过程。 请在合作伙伴中心中完成此过程,然后重试。

最常见的原因是 CPP 帐户未完成验证程序。

修正步骤

  1. 导航到“合作伙伴配置文件”并确认没有显示错误或“挂起的操作”,并且“法律业务配置文件”和“合作伙伴信息”下的验证状态均显示为“已授权”或“成功”。
  2. 如果不是,请在合作伙伴中心查看挂起的操作项,并在此处进行故障排除。

NoPublisherIdOnAssociatedMPNAccount

提供的 Partner One ID (MPNID) 无效。 请提供有效的 Partner One ID,并重试。

最常见的原因是提供了错误的 Partner One ID。

修正步骤

  1. 导航到“合作伙伴配置文件”>“标识符”边栏选项卡>“Microsoft 云合作伙伴计划”选项卡
  2. 使用类型为 PartnerGlobal 的合作伙伴 ID。

MPNIdDoesNotMatchAssociatedMPNAccount

提供的 Partner One ID (MPNID) 无效。 请提供有效的 Partner One ID,并重试。

最常见的原因是提供了错误的 Partner One ID。

修正步骤

  1. 导航到“合作伙伴配置文件”>“标识符”边栏选项卡>“Microsoft 云合作伙伴计划”选项卡
  2. 使用类型为 PartnerGlobal 的合作伙伴 ID。

ApplicationNotFound

找不到目标应用程序 (AppId)。 提供有效的应用程序 ID,然后重试。

最常见的原因是通过图形 API 执行验证,而提供的应用程序的 ID 不正确。

修正步骤

  1. 必须提供应用程序的 ID 而不是 AppId/ClientId。 请参阅此处的应用程序属性列表中的 ID
  2. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  3. 浏览到“标识”>“应用程序”>“应用程序注册”。
  4. 查找应用的注册以查看对象 ID。

ApplicationObjectisInvalid

目标应用程序的对象 ID 无效。 请提供有效的 ID,然后重试。

最常见的原因是通过图形 API 执行验证,而提供的应用程序的 ID 不存在。

修正步骤

  1. 必须提供应用程序的 ID 而不是 AppId/ClientId。 请参阅此处的应用程序属性列表中的 ID
  2. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  3. 浏览到“标识”>“应用程序”>“应用程序注册”。
  4. 查找应用的注册以查看对象 ID。

B2CTenantNotAllowed

Azure AD B2C 租户不支持此功能。

EmailVerifiedTenantNotAllowed

通过电子邮件验证的租户不支持此功能。

NoPublisherDomainOnApplication

目标应用程序 (AppId) 必须具有发布者域集。 设置发布者域,然后重试。

如果未在应用上配置发布者域,则会发生此错误。

修正步骤:按照此处的说明设置发布服务器域。

PublisherDomainMismatch

目标应用程序的发布者域 (publisherDomain) 与用于在合作伙伴中心内执行电子邮件验证的域 (pcDomain) 不一致或未验证。 确保这些域匹配并已验证,然后重试。

当应用的发布者域和添加到 Microsoft Entra 租户的自定义域之一都与用于在合作伙伴中心执行电子邮件验证的域不匹配或未验证时,将发生此错误。

有关允许的域或子域匹配项列表,请参见要求

修正步骤

  1. 导航到“合作伙伴配置文件”,并查看列为主要联系人的电子邮件
  2. 用于在合作伙伴中心执行电子邮件验证的域是主要联系人电子邮件中“@”后面的部分
  3. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  4. 浏览到“标识”>“应用程序”>“应用程序注册”>“品牌和属性”。
  5. 选择“更新发布者域”并按照说明验证新域
  6. 将用于在合作伙伴中心执行电子邮件验证的域添加为新域。

NotAuthorizedToVerifyPublisher

你无权设置此应用程序 (<AppId) 的已验证发布者属性。

最常见的原因是,已登录用户不是 Microsoft Entra ID 中 CPP 帐户正确角色的成员 - 请查看要求以获取符合条件的角色的列表,并查看常见问题以获取详细信息。

修正步骤

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“角色和管理员”>“角色和管理员”
  3. 选择所需的管理员角色,如果有足够的权限,请选择“添加分配”。
  4. 如果没有足够的权限,请与管理员角色联系以获取帮助。

MPNIdWasNotProvided

请求正文未提供 Partnet One ID,或者请求内容类型不是“application/json”。

最常见的原因是通过 Graph API 执行验证,而请求中未提供 Partner One ID。

修正步骤

  1. 导航到“合作伙伴配置文件”>“标识符”边栏选项卡>“Microsoft 云合作伙伴计划”选项卡
  2. 在请求中使用类型为 PartnerGlobal 的合作伙伴 ID。

MSANotSupported

Microsoft 使用者帐户不支持此功能。 仅支持 Microsoft Entra 用户在 Microsoft Entra ID 中注册的应用程序。

在使用者帐户用于应用注册(Hotmail、Messenger、OneDrive、MSN、Xbox Live 或 Microsoft 365)时发生。

InteractionRequired

如果未启用和执行多重身份验证 (MFA) 就尝试将已验证的发布者添加到应用,就会发生此错误。 有关详细信息,请参阅常见问题。 注意:尝试添加已验证的发布者时,必须在同一会话中执行 MFA。 如果 MFA 已启用但不需要在会话中执行,则请求会失败。

显示的错误消息将是:“由于管理员进行了配置更改,或者你已移到新位置,你必须使用多重身份验证才能继续操作。”

修正步骤

  1. 请确保已启用多重身份验证,并且在此方案中登录的用户必须完成多重身份验证
  2. 重试发布者验证

UserUnableToAddPublisher

错误:“你无法向此应用程序添加已验证的发布者。 如需帮助,请联系你的管理员。”

当你请求添加已验证的发布者时,系统会根据多个信号进行安全风险评估。 如果用户风险状态确定为‘AtRisk’,将返回上述错误。 请调查用户风险,并采取适当的步骤修正风险(指导如下):

修正步骤

调查风险

修正风险/取消阻止用户

自动修正指南

自助式密码重置 (SSPR):如果组织允许 SSPR,请使用 aka.ms/sspr 重置密码以进行修正。 请选择强密码;选择弱密码可能不会重置风险状态。

注意

请在修正后等待一段时间以更新风险状态,然后重试。

UnableToAddPublisher

错误:“无法将已验证的发布者添加到此应用程序。 请联系你的管理员以获取帮助。”

当你请求添加已验证的发布者时,系统会根据多个信号进行安全风险评估。 如果系统确定请求有风险,则会返回上述错误。 出于安全原因,Microsoft 不会公开用于确定请求是否带有风险的具体标准。

修正步骤

如果你认为“有风险”评估不正确,请尝试在第二天重新提交验证请求。 风险状态可能需要一些时间才会更新。

后续步骤

如果已查看之前的所有信息,但仍然收到来自 Microsoft Graph 的错误信息,请尽可能多地收集以下与故障请求相关的信息,并联系 Microsoft 支持部门

  • 时间戳
  • CorrelationId
  • 登录用户的 ObjectID 或 UserPrincipalName
  • 目标应用程序的 ObjectId
  • 目标应用程序的 AppId
  • 注册应用的 TenantId
  • Partner One ID
  • 进行 REST 请求
  • 返回错误代码和消息