向用户授予 appRoleAssignment

命名空间:microsoft.graph

使用此 API 将应用角色分配给用户。 若要向用户授予应用角色分配,需使用三个标识符:

  • principalId:要向其分配应用角色的用户的 id
  • resourceId:已定义应用角色的资源 servicePrincipalid
  • appRoleId:要分配给用户的 appRole(在资源服务主体上定义)的 id

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) AppRoleAssignment.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 AppRoleAssignment.ReadWrite.All

HTTP 请求

POST /users/{id | userPrincipalName}/appRoleAssignments

备注

最佳做法是,建议通过 资源 服务主体的 appRoleAssignedTo 关系(而不是通过分配的用户、组或服务主体的 appRoleAssignments 关系)创建应用角色分配。

请求标头

名称 说明
Authorization Bearer {token}。必需。
Content-Type application/json. Required.

请求正文

在请求正文中,提供 appRoleAssignment 对象的 JSON 表示形式。

响应

如果成功,此运营商将在响应正文中返回 201 Created 响应代码和 appRoleAssignment 对象。

示例

请求

下面是一个请求示例。

POST https://graph.microsoft.com/v1.0/users/cde330e5-2150-4c11-9c5b-14bfdc948c79/appRoleAssignments
Content-Type: application/json

{
  "principalId": "cde330e5-2150-4c11-9c5b-14bfdc948c79",
  "resourceId": "8e881353-1735-45af-af21-ee1344582a4d",
  "appRoleId": "00000000-0000-0000-0000-000000000000"
}

请注意,本例中,请求 URL (cde330e5-2150-4c11-9c5b-14bfdc948c79) 中用作用户 ID 的值与正文中的 principalId 属性相同。

响应

下面是一个响应示例。

注意: 为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('cde330e5-2150-4c11-9c5b-14bfdc948c79')/appRoleAssignments/$entity",
  "id": "5TDjzVAhEUycWxS_3JSMeY-oHkjrWvBKi7aIZwYGQzg",
  "deletedDateTime": null,
  "appRoleId": "00000000-0000-0000-0000-000000000000",
  "createdDateTime": "2021-02-15T10:31:53.5164841Z",
  "principalDisplayName": "Megan Bowen",
  "principalId": "cde330e5-2150-4c11-9c5b-14bfdc948c79",
  "principalType": "User",
  "resourceDisplayName": "dxprovisioning-graphapi-client",
  "resourceId": "8e881353-1735-45af-af21-ee1344582a4d"
}