如何使用 Microsoft Graph 获取目标应用程序的所有角色分配?

问题描述 投票:0回答:1

我正在使用具有应用程序角色的应用程序注册,然后可以将其分配给客户端应用程序。

我可以使用以下命令来获取分配给给定客户端应用程序的所有角色:

var graphClient = new GraphServiceClient(new DefaultAzureCredential());
var assignments = graphClient.ServicePrincipals[<client-application-id>].AppRoleAssignments.GetAsync().Result;

除了迭代所有服务主体并按目标资源过滤其角色分配之外,是否有一种方法可以获取给定目标应用程序的所有角色分配?

azure-active-directory microsoft-graph-api azure-ad-graph-api microsoft-graph-sdks
1个回答
0
投票

您应该能够使用资源服务主体中的 appRoleAssignedTo 关系: https://learn.microsoft.com/en-us/graph/api/serviceprincipal-list-approleassignedto?view=graph-rest-1.0&tabs= csharp.

检索用户、组或客户端的 appRoleAssignment 列表 已为给定的资源服务授予服务主体 校长。

例如,如果资源服务主体是服务 Microsoft Graph API 的主体,这将返回所有服务 已被授予任何仅限应用程序权限的主体 微软图表。

文档示例:

// Code snippets are only available for the latest version. Current version is 5.x

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.ServicePrincipals["{servicePrincipal-id}"].AppRoleAssignedTo.GetAsync();
© www.soinside.com 2019 - 2024. All rights reserved.