如何使用图(或其他MS API)检索Azure企业应用程序对象ID

时间:2020-09-03 18:10:02

标签: azure azure-ad-graph-api azure-rest-api

当前正在使用Python和REST调用编写Azure函数,该函数将:

  1. 获取服务主体(作为参数传递)
  2. 为所述服务负责人生成新的秘密
  3. 获取密钥库(作为参数传递)
  4. 向kevault添加访问策略以允许存储新秘密
  5. 使用适当的名称(作为参数提供)在密钥库中设置机密

我已经完成了第4步的工作。对于第4步,我正在使用以下API: https://docs.microsoft.com/en-us/rest/api/keyvault/vaults/updateaccesspolicy

REST有效负载正在请求一个objectID,该ID变成了ENTERPRISE APP的objectID,而不是应用程序注册。我已经能够使用带有测试代码的密码成功设置密码。

我的问题是-您如何检索企业应用程序的对象ID?我一直在研究Graph API,但是我能找到的唯一端点是: https://docs.microsoft.com/en-us/graph/api/application-get?view=graph-rest-1.0&tabs=http

此端点检索应用程序注册对象,而不是企业应用程序对象。如何获取企业应用程序对象ID?

1 个答案:

答案 0 :(得分:0)

企业应用是Microsoft Graph中的服务主体。

使用List servicePrincipalsfilter查询参数来获取它。

GET https://graph.microsoft.com/v1.0/serviceprincipals?$filter=appId eq '{client id of your  application registration}'