Azure 我可以通过Graph或PowerShell查询可用的服务原则API吗?

Azure 我可以通过Graph或PowerShell查询可用的服务原则API吗?,azure,azure-active-directory,azure-api-management,azure-api-apps,service-principal,Azure,Azure Active Directory,Azure Api Management,Azure Api Apps,Service Principal,我正在自动请求AAD服务主体/应用程序,或者更具体地说是API,并尝试使用Graph或PowerShell从门户获取所有可用API的列表 具体地说,如果您进入一个应用程序并单击“API权限”选项卡,您将得到一个API集合列表,然后深入到“委托或应用程序权限”,最后是API。任何以编程方式遍历此树的方法都将非常棒 我并不希望这份名单被曝光,但我希望有人能帮我 提前感谢,, Andy当然,您可以从MS Graph API查询服务主体,并获取所需内容: 这将为您提供所有服务主体的列表: 您还可以使用A

我正在自动请求AAD服务主体/应用程序,或者更具体地说是API,并尝试使用Graph或PowerShell从门户获取所有可用API的列表

具体地说,如果您进入一个应用程序并单击“API权限”选项卡,您将得到一个API集合列表,然后深入到“委托或应用程序权限”,最后是API。任何以编程方式遍历此树的方法都将非常棒

我并不希望这份名单被曝光,但我希望有人能帮我

提前感谢,,
Andy

当然,您可以从MS Graph API查询服务主体,并获取所需内容:

这将为您提供所有服务主体的列表:

您还可以使用AzureAD PowerShell模块的cmdlet
Get-AzureADServicePrincipal
获取此数据

不管怎样你都能得到数据, 您可以在oauth2Permissions属性下找到委派的权限

关联应用程序公开的OAuth 2.0权限。有关更多信息,请参阅应用程序实体上的oauth2Permissions属性定义。不可为空

应用程序权限位于Approvles属性中

关联应用程序公开的应用程序角色。有关详细信息,请参见应用程序实体上的appRoles属性定义。不可为空

但是,并非所有批准都是应用程序权限。 appRole具有allowedMemberTypes属性:

指定是否可以通过设置为“用户”将此应用程序角色定义分配给用户和组,或通过设置为“应用程序”将此应用程序角色定义分配给其他应用程序(在守护程序服务场景中访问此应用程序),或同时分配给这两个应用程序

因此,您希望检查允许成员类型为“Application”的Approvles,
这些是应用程序权限。

对不起,我可能不太清楚。我可以很好地查询SP。我正在尝试以编程方式获取所有可用API的列表,无论它们是Azure、InTune。。。申请或授权。。。。我想获取完整的列表,以便现在就可以在服务中构建一个请求表单,允许用户请求SP和他们需要的API。然后,我将审查/批准,为他们创建SP,以及API(如有必要,批准)。由于API总是在变化,我希望能够以编程方式查询它们,以便定期更新列表。希望这有助于澄清。