Предоставление appRoleAssignment субъекту-службе
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Назначение роли приложения для этого субъекта-службы пользователю, группе или субъекту-службе клиента.
Роли приложений, назначаемые субъектам-службам, также называются разрешениями приложений. Разрешения приложений можно предоставлять непосредственно в назначениях ролей приложений, а также с помощью интерфейса согласия.
Чтобы предоставить назначение роли приложения, нужны три идентификатора:
-
principalId
:id
пользователя, группы или объекта servicePrincipal клиента, которому назначается роль приложения. -
resourceId
:id
ресурса servicePrincipal, определяющий роль приложения. -
appRoleId
:id
объекта appRole (определенного в субъекте-службе ресурса) для назначения пользователю, группе или субъекту-службе.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | AppRoleAssignment.ReadWrite.All и Application.Read.All | AppRoleAssignment.ReadWrite.All и Directory.Read.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | AppRoleAssignment.ReadWrite.All и Application.Read.All | AppRoleAssignment.ReadWrite.All и Directory.Read.All |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие наименее привилегированные роли:
- Учетные записи синхронизации каталогов — для служб облачной синхронизации Microsoft Entra Connect и Microsoft Entra
- Редактор каталогов
- Администратор гибридных удостоверений
- Администратор управления удостоверениями
- Администратор привилегированных ролей
- Администратор пользователей
- Администратор приложения
- Администратор облачного приложения
HTTP-запрос
Вы можете обратиться к субъекту-службе, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.
POST /servicePrincipals/{id}/appRoleAssignedTo
POST /servicePrincipals(appId='{appId}')/appRoleAssignedTo
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите представление JSON для объекта appRoleAssignment.
Отклик
В случае успеха этот метод возвращает в тексте отклика код отклика 201 Created
и объект appRoleAssignment.
Примеры
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/servicePrincipals/9028d19c-26a9-4809-8e3f-20ff73e2d75e/appRoleAssignedTo
Content-Type: application/json
{
"principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
"resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
"appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7"
}
В этом примере {id}
и {resourceId-value}
оба будут id
субъекта-службы ресурса, а {principalId}
будет id
назначенного пользователя, группы или субъекта-службы клиента.
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals('9028d19c-26a9-4809-8e3f-20ff73e2d75e')/appRoleAssignedTo/$entity",
"id": "-WmtM5na7Uus0D8kI1yylpU9Mdo0Pb9OoBJvd3T5eKc",
"deletedDateTime": null,
"appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7",
"creationTimestamp": "2021-02-15T16:14:59.8643039Z",
"principalDisplayName": "Parents of Contoso",
"principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
"principalType": "Group",
"resourceDisplayName": "Fabrikam App",
"resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e"
}