【问题标题】:How to get AD user for Azure subscription Classic Administrators?如何获取 Azure 订阅经典管理员的 AD 用户?
【发布时间】:2021-01-21 11:01:01
【问题描述】:

我的目标是让已在 Azure 订阅中分配了经典管理员角色的 Azure AD 用户。 我使用 REST api 的 Classic Administrators - List 检索所有经典管理员,但它返回一个不够唯一的电子邮件和一个名为 netId/puid 的 ID,该 ID 在从 Graph API 返回的user 上不存在。

我关注了 Azure 门户的网络,了解它如何为 AAD 获取用户,但它使用我无法使用的内部 API 版本“1.61-internal”查询 Graph API。

有谁知道检索此信息的方法吗?

谢谢

【问题讨论】:

  • 我认为您可以转到 azure 门户 -> 订阅 -> 您的目标子 -> 访问控制 -> 经典管理员以查看所有具有此角色的用户。顺便说一句,您可以使用 fiddler 来捕获 http 请求,以收集网站如何获取这些用户。
  • 就像我在问题中所说的那样,门户网站确实使用了我无法从我的应用程序中使用的 API 版本“1.61-internal”,支持的版本 (1.6) 不返回值我需要:(

标签: azure azure-active-directory microsoft-graph-api azure-ad-graph-api


【解决方案1】:

没有公开的 API 可以将 netId/puid 与用户匹配。

但您可以从访问令牌中获取puid

或者您可以使用Microsoft 365 Powershell cmdlet Get-MsolUser -UserPrincipalName "{upn}" | fl 来获取用户并找到LiveId 属性。

将上面的puidLiveId以及对应的用户信息记录到你的本地配置文件中,并与name属性匹配,以响应Classic Administrators - List

然后就可以获取到对应的经典管理员用户了。

这只是一种解决方法,并且有很多工作负载。我认为这不是一个好方法,但没有其他方法。

【讨论】:

  • 嗯,我希望有一种方法可以根据 puid 本身来解决。通过 UPN 从 m365 获取 LiveId 与通过 UPN 向 Graph 询问主体相同。所以你确定没有办法得到它吗?
  • @Nitmetic 正如您看到的 Graph 用户资源类型,没有名为 netId/puid/liveid 的属性。并且只有内部 API 可以返回该属性。基于它,没有暴露的 API。
  • 谢谢,我想我会希望他们增加这个能力。我开了一个feature request和一个Graph API issue
猜你喜欢
  • 1970-01-01
  • 2018-01-17
  • 2016-09-12
  • 2015-10-13
  • 1970-01-01
  • 2020-02-19
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多