Предоставление appRoleAssignment пользователю

Пространство имен: microsoft.graph

Используйте этот API, чтобы назначить роль приложения пользователю. Чтобы предоставить назначение роли приложения пользователю, нужны три идентификатора:

  • principalId: id пользователя, которому нужно назначить роль приложения.
  • resourceId: id ресурса servicePrincipal, который определяет роль приложения.
  • appRoleId: id объекта appRole (определенного в субъекте-службе ресурса) для назначения пользователю.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированное (рабочая или учебная учетная запись) AppRoleAssignment.ReadWrite.All Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений AppRoleAssignment.ReadWrite.All Недоступно.

HTTP-запрос

POST /users/{id | userPrincipalName}/appRoleAssignments

Примечание.

Рекомендуется создавать назначения ролей приложения, используя отношение appRoleAssignedToресурса субъекта-службы вместо отношения appRoleAssignments назначенного пользователя, группы или субъекта-службы.

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса укажите представление JSON для объекта appRoleAssignment.

Отклик

В случае успеха этот метод возвращает в тексте отклика код отклика 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), совпадает со свойством 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"
}