我的组织使用 Azure,我们有一个基于 Microsoft Entra 的身份验证方案。 我拥有一个配置了许多应用程序的应用程序,我们将这些应用程序作为 requiredResourceAccess 分配给其他应用程序。
使用 Microsoft Graph API (REST),我可以通过以下方式查看我的应用程序拥有的应用程序列表: v1.0/applications(appId='')/appRoles 我可以通过以下方式查看特定(和已知)应用程序已将哪些应用程序分配给它: v1.0/applications(appId='')/requiredResourceAccess
出于支持和审核目的,我需要能够获得已分配给我的应用程序的某个应用程序的应用程序列表。 我知道我的应用程序的 ID 和我所有应用程序的 ID。 如何获取作业列表(最好通过 Microsoft Graph API)?
您可以列出为服务主体授予的 appRoleAssignments
GET /v1.0/servicePrincipals(appId='{appId}')/appRoleAssignedTo
这将返回已被授予应用程序任何仅限应用程序权限的所有服务主体。带有
appId
的 Graph API 示例00000003-0000-0000-c000-000000000000
GET /v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/approleAssignedTo
回应
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('00000003-0000-0000-c000-000000000000')/appRoleAssignedTo",
"value": [
{
"id": "xxx",
"deletedDateTime": null,
"appRoleId": "9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30",
"createdDateTime": "2024-09-17T06:38:12.2673319Z",
"principalDisplayName": "contosoapp",
"principalId": "25abdecb-1234-85bd-2468-12344321795c",
"principalType": "ServicePrincipal",
"resourceDisplayName": "Microsoft Graph",
"resourceId": "3c4020a9-f9ce-4790-ba8f-4f85b0ff62d5"
}
]
}
principalId
是被授予应用程序角色的服务主体的 ID。
appRoleId
是分配给服务主体的应用程序角色的 ID。