【问题标题】:How to Find AppId of Schema Extention App in Azure AD如何在 Azure AD 中查找架构扩展应用程序的应用程序 ID
【发布时间】:2019-03-10 13:16:38
【问题描述】:

我尝试使用 Microsoft 图形在 Active Directory 中创建自定义属性。我可以在 Microsoft Graph 中使用此查询按名称获取属性

https://graph.microsoft.com/v1.0/me?$select=Department

但我无法使用 microsoft graph 获得一些默认情况下不是它们的属性(这些属性是自定义创建的)。例如,如果我输入“employeeId”,则相同的查询返回

{"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(employeeId)/$entity"}

有趣的是,我可以使用现在很老的 Azure AD 图来获取employeeId。 (以下查询)

https://graph.windows.net/me/employeeId

上面的查询返回给我以下 Jason

{
"odata.metadata": "https://graph.windows.net/myorganization/$metadata#Edm.String",
"value": "38XXX"}

经过一番谷歌搜索,我发现有一些扩展属性是使用 Azure AD connect 创建的,这将在 Azure 中创建一个 Schema Extension App,我们可以使用它们来获取它们

extension_{appID}_employeeId

我在 Azure 门户中找不到任何架构扩展应用程序,我也尝试了一些 Powershell 命令。我们的组织不使用 Azure B2C AD。我需要的是

  1. 在 Azure 中查找 Schema Extension App 的 AppId 的方法
  2. 或者获取这些自定义属性的替代方法

【问题讨论】:

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


    【解决方案1】:

    在 Azure 中查找 Schema Extension App 的 AppId 的方法

    如果你想找到Schema Extension App的AppId,你可以使用下面的MS graph api。

    GET https://graph.microsoft.com/beta/applications?$filter=displayName eq 'Tenant Schema Extension App'
    

    有关所需权限等的更多详细信息,请参阅similar issue

    【讨论】:

    • 感谢您的帮助。但我已经尝试过了,但没有运气,因为我似乎在 Azure 中没有架构扩展应用程序(我们的租户不是 B2C 的)
    • @NiroshSns 我的租户也不是 B2C 租户。如果通过 Azure AD Connect 同步自定义属性,则会对 Azure AD 进行架构扩展,并且在 Azure AD 中创建一个关联的应用程序,其 DisplayName 为“Tenant Schema Extension App”。
    • @NiroshSns 你也可以看到这个link,它可能会有所帮助。
    【解决方案2】:

    最终,我发现在 Microsoft Graph Explorer 中的查询下方运行的租户架构扩展 AppID 购买

    注意:Graph API 版本使用 Beta 版

    https://graph.microsoft.com/beta/me

    返回给我一个冗长的 Json,输出如下

    "userPrincipalName": "example@abc.com",
    "externalUserState": null,
    "externalUserStateChangeDateTime": null,
    "userType": "Member",
    "extension_{appid}_extensionAttribute3": "XXX",
    "extension_{appid}_extensionAttribute2": "XXX",
    "extension_{appid}_extensionAttribute1": "XXX",
    "extension_{appid}_employeeID": "XXXXXX",
    

    此外,即使没有 appid,以下查询也会返回扩展属性(您应该使用 beta 版本)

    https://graph.microsoft.com/beta/me?$select=UserPrincipalName,onPremisesExtensionAttributes

    返回下面的 Json

    {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(userPrincipalName,onPremisesExtensionAttributes)/$entity",
    "userPrincipalName": "xxxx@xxx.com",
    "onPremisesExtensionAttributes": {
        "extensionAttribute1": "XXX",
        "extensionAttribute2": "XXX",
        "extensionAttribute3": "XXX",
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute12": null,
        "extensionAttribute13": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2021-12-25
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      相关资源
      最近更新 更多