Conceder un appRoleAssignment a un usuarioGrant an appRoleAssignment to a user

Espacio de nombres: microsoft.graphNamespace: microsoft.graph

Use esta API para asignar un rol de aplicación a un usuario.Use this API to assign an app role to a user. Para conceder una asignación de roles de aplicación a un usuario, necesitará tres identificadores:To grant an app role assignment to a user, you need three identifiers:

  • principalId: El id del usuario al que va a asignar el rol de aplicación.principalId: The id of the user to whom you are assigning the app role.
  • resourceId: El id del recurso servicePrincipal que definió rol de la aplicación.resourceId: The id of the resource servicePrincipal that has defined the app role.
  • appRoleId: El id del appRole (definido en la entidad de servicio del recurso) para asignar al usuario.appRoleId: The id of the appRole (defined on the resource service principal) to assign to the user.

PermisosPermissions

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Tipo de permisoPermission type Permisos (de menos a más privilegiados)Permissions (from least to most privileged)
Delegado (cuenta profesional o educativa)Delegated (work or school account) AppRoleAssignment.ReadWrite.All, Directory.AccessAsUser.AllAppRoleAssignment.ReadWrite.All, Directory.AccessAsUser.All
Delegado (cuenta personal de Microsoft)Delegated (personal Microsoft account) No admitida.Not supported.
AplicaciónApplication AppRoleAssignment.ReadWrite.AllAppRoleAssignment.ReadWrite.All

Solicitud HTTPHTTP request

POST /users/{id | userPrincipalName}/appRoleAssignments

Nota

Como práctica recomendada, le sugerimos crear asignaciones de roles de aplicación mediante la appRoleAssignedTorelación de la entidad de servicio del recurso, en lugar de la appRoleAssignmentsrelación del usuario, grupo o entidad de servicio asignados.As a best practice, we recommend creating app role assignments through the appRoleAssignedTo relationship of the resource service principal, instead of the appRoleAssignments relationship of the assigned user, group, or service principal.

Encabezados de solicitudRequest headers

NombreName DescripciónDescription
AuthorizationAuthorization {token} de portador. Obligatorio.Bearer {token}. Required.
Content-TypeContent-Type application/json. Obligatorio.application/json. Required.

Cuerpo de la solicitudRequest body

En el cuerpo de la solicitud, proporcione una representación JSON de un objeto appRoleAssignment.In the request body, supply a JSON representation of an appRoleAssignment object.

RespuestaResponse

Si se ejecuta correctamente, este método entrega un código de respuesta 201 Created y un objeto appRoleAssignment en el cuerpo de la respuesta.If successful, this method returns a 201 Created response code and an appRoleAssignment object in the response body.

EjemplosExamples

SolicitudRequest

Aquí tiene un ejemplo de la solicitud.Here is an example of the request.

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"
}

En este ejemplo, tenga en cuenta que el valor usado como el id. del usuario en la dirección URL de solicitud (cde330e5-2150-4c11-9c5b-14bfdc948c79) es el mismo que la propiedad principalId en el cuerpo.In this example, note that the value used as the user id in the request URL (cde330e5-2150-4c11-9c5b-14bfdc948c79) is the same as the principalId property in the body.

RespuestaResponse

Aquí tiene un ejemplo de la respuesta.Here is an example of the response.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.Note: The response object shown here might be shortened for readability.

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"
}