Предоставление appRoleAssignment пользователю
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Используйте этот API, чтобы назначить роль приложенияпользователю, создав объект appRoleAssignment . Чтобы предоставить назначение роли приложения пользователю, нужны три идентификатора:
-
principalId
:id
пользователя, которому нужно назначить роль приложения. -
resourceId
:id
ресурсаservicePrincipal
, который определяет роль приложения. -
appRoleId
:id
объектаappRole
(определенного в субъекте-службе ресурса) для назначения пользователю.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированное (рабочая или учебная учетная запись) | AppRoleAssignment.ReadWrite.All | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Для приложений | AppRoleAssignment.ReadWrite.All | Недоступно. |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие наименее привилегированные роли:
- Учетные записи синхронизации каталогов — для служб облачной синхронизации Microsoft Entra Connect и Microsoft Entra
- Редактор каталогов
- Администратор гибридных удостоверений
- Администратор управления удостоверениями
- Администратор привилегированных ролей
- Администратор пользователей
- Администратор приложения
- Администратор облачного приложения
HTTP-запрос
POST /users/{id | userPrincipalName}/appRoleAssignments
Примечание.
Рекомендуется создавать назначения ролей приложения, используя отношение appRoleAssignedTo
ресурса субъекта-службы вместо отношения appRoleAssignments
назначенного пользователя, группы или субъекта-службы.
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите представление JSON для объекта appRoleAssignment.
Отклик
В случае успеха этот метод возвращает в тексте отклика код отклика 201 Created
и объект appRoleAssignment.
Примеры
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/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",
"creationTimestamp": "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"
}