如何使用 Graph(或另一个 MS API)检索 Azure 企业应用程序对象 ID
How to use Graph (or another MS API) to retrieve an Azure Enterprise App Object ID
目前正在使用 Python 和 REST 调用编写 Azure 函数,这将:
- 获取服务主体(作为参数传递)
- 为所述服务主体生成一个新机密
- 获取密钥库(作为参数传递)
- 将访问策略添加到 kevault 以允许存储新机密
- 使用适当的名称(作为参数提供)在密钥库中设置机密
我已经完成了第 4 步。对于第 4 步,我使用了以下 API:
https://docs.microsoft.com/en-us/rest/api/keyvault/vaults/updateaccesspolicy
REST payload 正在请求一个 objectID,它变成了 ENTERPRISE APP 的 objectID,而不是应用程序注册。我已经能够使用它和测试代码成功地设置秘密。
我的问题是 - 您如何检索企业应用程序的对象 ID?我一直在查看图表 API,但我能找到的唯一端点是这个:
https://docs.microsoft.com/en-us/graph/api/application-get?view=graph-rest-1.0&tabs=http
此端点检索应用程序注册对象,而不是企业应用程序对象。如何获取企业应用程序对象 ID?
企业应用是 Microsoft Graph 中的服务主体。
使用 List servicePrincipals 和 filter
查询参数来获取它。
GET https://graph.microsoft.com/v1.0/serviceprincipals?$filter=appId eq '{client id of your application registration}'
目前正在使用 Python 和 REST 调用编写 Azure 函数,这将:
- 获取服务主体(作为参数传递)
- 为所述服务主体生成一个新机密
- 获取密钥库(作为参数传递)
- 将访问策略添加到 kevault 以允许存储新机密
- 使用适当的名称(作为参数提供)在密钥库中设置机密
我已经完成了第 4 步。对于第 4 步,我使用了以下 API: https://docs.microsoft.com/en-us/rest/api/keyvault/vaults/updateaccesspolicy
REST payload 正在请求一个 objectID,它变成了 ENTERPRISE APP 的 objectID,而不是应用程序注册。我已经能够使用它和测试代码成功地设置秘密。
我的问题是 - 您如何检索企业应用程序的对象 ID?我一直在查看图表 API,但我能找到的唯一端点是这个: https://docs.microsoft.com/en-us/graph/api/application-get?view=graph-rest-1.0&tabs=http
此端点检索应用程序注册对象,而不是企业应用程序对象。如何获取企业应用程序对象 ID?
企业应用是 Microsoft Graph 中的服务主体。
使用 List servicePrincipals 和 filter
查询参数来获取它。
GET https://graph.microsoft.com/v1.0/serviceprincipals?$filter=appId eq '{client id of your application registration}'