Предоставление appRoleAssignment группе
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Используйте этот API для назначения роли приложения группе безопасности. Роль будет считаться назначенной всем непосредственным участникам группы. Поддерживаются группы безопасности с динамическим членством. Чтобы предоставить назначение роли приложения группе, нужны три идентификатора:
- principalId: ИД группы, которой назначается роль приложения.
- resourceId: ИД ресурса servicePrincipal, который определяет роль приложения.
- appRoleId: ИД объекта appRole (определенного в субъекте-службе ресурса) для назначения группе.
Чтобы использовать группу для управления доступом к приложениям, могут потребоваться дополнительные лицензии.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированное (рабочая или учебная учетная запись) | AppRoleAssignment.ReadWrite.All | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Для приложений | AppRoleAssignment.ReadWrite.All | Недоступно. |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие наименее привилегированные роли:
- Учетные записи синхронизации каталогов — для служб облачной синхронизации Microsoft Entra Connect и Microsoft Entra
- Редактор каталогов
- Администратор гибридных удостоверений
- Администратор управления удостоверениями
- Администратор привилегированных ролей
- Администратор пользователей
- Администратор приложения
- Администратор облачного приложения
HTTP-запрос
POST /groups/{groupId}/appRoleAssignments
Примечание.
Рекомендуется создавать назначения ролей приложения, используя отношение appRoleAssignedTo
ресурса субъекта-службы вместо отношения appRoleAssignments
назначенного пользователя, группы или субъекта-службы.
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите представление JSON для объекта appRoleAssignment.
В следующей таблице перечислены свойства, необходимые при создании appRoleAssignment. При необходимости укажите другие записываемые свойства для объекта appRoleAssignment.
Свойство | Тип | Описание |
---|---|---|
appRoleId | GUID | Идентификатор (ИД) роли приложения, которая назначается субъекту. Эта роль приложения должна предоставляться в свойстве appRoles субъекта-службы приложения ресурса (resourceId). Если в приложении ресурса не объявлены никакие роли приложения, можно указать ИД роли приложения по умолчанию (00000000-0000-0000-0000-000000000000 ), чтобы указать, что субъект назначен приложению ресурса без каких-либо определенных ролей приложения. |
principalId | Guid | Уникальный идентификатор (ИД) группы, которой предоставляется роль приложения. |
resourceId | Guid | Уникальный идентификатор (ИД) ресурса субъект-служба, для которого производится назначение. |
Отклик
В случае успеха этот метод возвращает в тексте отклика код отклика 201 Created
и объект appRoleAssignment.
Примеры
Запрос
Ниже показан пример запроса. В этом примере идентификатор в URL-адресе и значение principalId будут идентификатором назначенной группы.
POST https://graph.microsoft.com/beta/groups/7679d9a4-2323-44cd-b5c2-673ec88d8b12/appRoleAssignments
Content-Type: application/json
{
"principalId": "7679d9a4-2323-44cd-b5c2-673ec88d8b12",
"resourceId": "076e8b57-bac8-49d7-9396-e3449b685055",
"appRoleId": "00000000-0000-0000-0000-000000000000"
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#groups('7679d9a4-2323-44cd-b5c2-673ec88d8b12')/appRoleAssignments/$entity",
"id": "pNl5diMjzUS1wmc-yI2LEkGgWqFFrFdLhG2Ly2CysL4",
"deletedDateTime": null,
"appRoleId": "00000000-0000-0000-0000-000000000000",
"creationTimestamp": "2021-02-19T17:55:08.3369542Z",
"principalDisplayName": "Young techmakers",
"principalId": "7679d9a4-2323-44cd-b5c2-673ec88d8b12",
"principalType": "Group",
"resourceDisplayName": "Yammer",
"resourceId": "076e8b57-bac8-49d7-9396-e3449b685055"
}