使用Graph API绕过多租户Azure应用的MFA,以访问合作伙伴租户

时间:2020-03-13 01:29:44

标签: azure-active-directory microsoft-graph-api msal msal.js

我们是管理客户Office 365租约的MSP。

我们有一个门户,可以使用Microsoft身份验证库(MSAL.js)登录该门户,并成功收到针对该应用程序进行身份验证的令牌。

由于我们与其他客户的租约建立了“关系”,因此我们可以使用自己的凭据(委托权限)以全局管理员权限管理它们。 结构是这样的:

  1. 我们的租约
    1. 客户1
    2. 客户2

登录门户后,我们将为客户1和客户2提供一系列租户ID。 我们使用相同的MSAL.js连接到他们的租期,以指定应用程序ID和https://login.microsoftonline.com/{tenantId}

的权限

身份验证成功,我们可以使用Graph API收集数据,即https://graph.microsoft.com/v1.0/organization

在登录门户网站时,我们可以无限制地运行此操作,它将递归地遍历每个租户并成功检索数据。

退出门户并重新登录后,会出现以下错误:

AADSTS50076:由于您的管理员对配置进行了更改, 或者因为您搬到了新位置,所以必须使用多因素 身份验证以访问'00000003-0000-0000-c000-000000000000'。

对于每个客户,手机上都会弹出多因素提示,一旦再次获得授权,我就可以不断使用API​​,但是下次注销/登录时,也会发生同样的问题。

我用多个站点的IP指定了命名位置,我还排除了MFA的这些特定IP,这些IP仅在登录https://portal.office.com时有效,而我们没有收到MFA请求。

Office 365技术人员与我一起审查了此问题,但无法使其正常运行,而是将我定向到需要进一步订阅的Azure支持。

有人知道使用API​​连接到租户时可以用来绕过MFA的方法吗?

编辑:

我们概述了获取令牌的方法:https://docs.microsoft.com/en-us/graph/auth-cloudsolutionprovider

0 个答案:

没有答案