获取 appRoleAssignment
命名空间:microsoft.graph
读取 appRoleAssignment 对象的属性和关系。
此 API 可用于以下国家级云部署。
全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
权限
下表显示了对每种受支持的资源类型调用此 API 所需的最低特权权限。 请遵循 最佳做法 来请求最低特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
支持的资源 | 委派(工作或学校帐户) | 委派(个人 Microsoft 帐户) | 应用程序 |
---|---|---|---|
组 | Group.Read.All | 不支持。 | Group.Read.All |
servicePrincipal | Application.Read.All | 不支持。 | Application.Read.All |
用户 | User.Read | 不支持。 | Directory.Read.All |
重要
在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 此操作支持以下最低特权角色:
- 来宾邀请者 - 仅读取用户的应用角色分配
- 目录读取器
- 目录同步帐户 - 用于 Microsoft Entra Connect 和 Microsoft Entra Cloud Sync 服务
- 目录写入程序
- 混合标识管理员
- 标识治理管理员
- 特权角色管理员
- 用户管理员
- 应用程序管理员
- 云 应用程序管理员
其他支持的权限
每个资源都支持以下更高特权权限:
- 组:
- 委托和应用程序权限:Directory.Read.All、AppRoleAssignment.ReadWrite.All、Directory.ReadWrite.All
- 用户:
- 委托的权限:User.ReadBasic.All、Directory.Read.All、AppRoleAssignment.ReadWrite.All
- 应用程序权限:Directory.Read.All、AppRoleAssignment.ReadWrite.All
- 服务主体:
- 委派的权限:Directory.Read.All、Application.ReadWrite.All、Directory.ReadWrite.All
- 应用程序权限:Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.ReadWrite.All
HTTP 请求
若要获取授予服务主体的 appRole 的详细信息,请执行以下操作:
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
若要获取为给定资源服务主体授予用户、组或客户端服务主体的 appRole 的详细信息,请执行以下操作:
GET /servicePrincipals(appId='{resource-servicePrincipal-appId}')/appRoleAssignedTo/{appRoleAssignment-id}
GET /servicePrincipals/{resource-serviceprincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
若要获取授予组的 appRole 的详细信息,请执行以下操作:
GET /groups/{group-id}/appRoleAssignments/{appRoleAssignment-id}
若要获取授予用户的 appRole 的详细信息,请执行以下操作:
GET /users/{user-id}/appRoleAssignments/{appRoleAssignment-id}
GET /me/appRoleAssignments/{appRoleAssignment-id}
可选的查询参数
此方法支持 $select
OData 查询参数来帮助自定义响应。 若要了解一般信息,请参阅 OData 查询参数。
请求标头
名称 | 说明 |
---|---|
Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此运营商将在响应正文中返回 200 OK
响应代码和 appRoleAssignment 对象。
示例
示例 1:获取为给定资源服务主体授予用户、组或客户端服务主体的应用角色的详细信息
请求
以下请求查询资源服务主体,以获取它已授予客户端的应用角色的详细信息,该客户端可以是租户中的用户、组或客户端服务主体。
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/appRoleAssignedTo/ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA
响应
以下示例显示了相应的响应。 它显示了名为 Postman 的客户端服务主体已被授予 ID 为 df021288-bdef-4463-88db-98f22de89214(即 User.Read.All 应用程序权限)的应用角色,该角色是名为 Microsoft Graph 的资源服务主体的 User.Read.All 应用程序权限。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('00000003-0000-0000-c000-000000000000')/appRoleAssignedTo/$entity",
"id": "ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA",
"deletedDateTime": null,
"appRoleId": "df021288-bdef-4463-88db-98f22de89214",
"createdDateTime": "2023-02-24T17:01:47.0988029Z",
"principalDisplayName": "Postman",
"principalId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7",
"principalType": "ServicePrincipal",
"resourceDisplayName": "Microsoft Graph",
"resourceId": "7408235b-7540-4850-82fe-a5f15ed019e2"
}
示例 2:获取授予服务主体的应用角色的详细信息
请求
以下请求查询客户端服务主体以获取向其授予的应用角色的详细信息。 在此实例中,应用角色表示应用程序权限。
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='ceb96a54-de95-49a0-b38c-c55263fcf421')/appRoleAssignments/ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA
响应
以下示例显示了相应的响应。 它显示了名为 Postman 的客户端服务主体已被授予 ID 为 df021288-bdef-4463-88db-98f22de89214(即 User.Read.All 应用程序权限)的应用角色,该角色是名为 Microsoft Graph 的资源服务主体的 User.Read.All 应用程序权限。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('ceb96a54-de95-49a0-b38c-c55263fcf421')/appRoleAssignments/$entity",
"id": "ep6PKgGvOkGVksMuwOXBpxV3dkHvwM1ElSjMUzZtaIA",
"deletedDateTime": null,
"appRoleId": "df021288-bdef-4463-88db-98f22de89214",
"createdDateTime": "2023-02-24T17:01:47.0988029Z",
"principalDisplayName": "Postman",
"principalId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7",
"principalType": "ServicePrincipal",
"resourceDisplayName": "Microsoft Graph",
"resourceId": "7408235b-7540-4850-82fe-a5f15ed019e2"
}
示例 3:获取授予已登录用户的应用角色的详细信息
请求
以下请求查询已登录用户的 appRoleAssignments。
GET https://graph.microsoft.com/v1.0/me/appRoleAssignments/Lo6gEKI-4EyAy9X91LBepo6Aq0Rt6QxBjWRl76txk8I
响应
以下示例显示了相应的响应。 它显示已登录用户具有名为 Postman 的资源服务主体的默认应用角色。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6')/appRoleAssignments/$entity",
"id": "Lo6gEKI-4EyAy9X91LBepo6Aq0Rt6QxBjWRl76txk8I",
"deletedDateTime": null,
"appRoleId": "00000000-0000-0000-0000-000000000000",
"createdDateTime": "2022-09-08T17:43:57.8423817Z",
"principalDisplayName": "MOD Administrator",
"principalId": "10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6",
"principalType": "User",
"resourceDisplayName": "Postman",
"resourceId": "2a8f9e7a-af01-413a-9592-c32ec0e5c1a7"
}