Предоставление 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 Недоступно.

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