Поделиться через


Создание inheritablePermission

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

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Создайте объект inheritablePermission для схемы идентификации агента.

Разрешения

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

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

Важно!

  • Известная проблема. Если клиенту предоставлено разрешение Directory.AccessAsUser.All или Directory.ReadWrite.All , разрешения клиента на создание, обновление и удаление идентификаторов агента игнорируются, что может привести к сбою запросов с 403 Unauthorized ошибкой. Чтобы устранить эту проблему, удалите Directory.AccessAsUser.All разрешение или Directory.ReadWrite.All у клиента, запросите новые маркеры доступа и повторите запрос.

  • При использовании делегированных разрешений пользователю, прошедшему проверку подлинности, должна быть назначена одна из следующих поддерживаемых Microsoft Entra ролей:

    • Администратор идентификатора агента.
    • Разработчик идентификатора агента— создание схем удостоверений агента. Субъект с этой ролью является владельцем создаваемой схемы и может выполнять операции записи в этой схеме.

HTTP-запрос

POST /applications/{id}/microsoft.graph.agentIdentityBlueprint/inheritablePermissions

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

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

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

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

При создании объекта inheritablePermission можно указать следующие свойства.

Свойство Тип Описание
resourceAppId String AppId приложения ресурса, которое публикует области. Обязательно.
inheritableScopes inheritableScopes Конфигурация наследования, определяющая, какие области делегированных разрешений от приложения ресурсов могут автоматически наследоваться удостоверениями агента. Укажите один из шаблонов: allAllowedScopes (все области), enumeratedScopes (только указанная scopes коллекция; должна присутствовать и не пустая) или noScopes (не наследовать). Обязательно.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект inheritablePermission в теле отклика.

Примеры

Пример 1. Создание объекта inheritablePermission с шаблоном allAllowedScopes

В этом примере создается объект inheritablePermission, который позволяет наследовать все делегированные области разрешений из приложения ресурсов по удостоверениям агента.

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/applications/bc057821-f236-49d6-9f2c-1ebf43e9437a/microsoft.graph.agentIdentityBlueprint/inheritablePermissions
Content-Type: application/json

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "@odata.type": "#microsoft.graph.inheritablePermission",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  }
}

Пример 2. Создание inheritablePermission с шаблоном enumeratedScopes

В этом примере создается объект inheritablePermission, который позволяет наследовать только указанные области делегированных разрешений из приложения ресурсов по удостоверениям агента.

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/applications/bc057821-f236-49d6-9f2c-1ebf43e9437a/microsoft.graph.agentIdentityBlueprint/inheritablePermissions
Content-Type: application/json

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.enumeratedScopes",
    "scopes": [
      "User.Read",
      "Mail.Read"
    ]
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "@odata.type": "#microsoft.graph.inheritablePermission",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.enumeratedScopes",
    "kind": "enumerated",
    "scopes": [
      "User.Read",
      "Mail.Read"
    ]
  }
}

Пример 3. Создание inheritablePermission с шаблоном noScopes

В этом примере создается объект inheritablePermission, который блокирует наследование всех делегированных областей разрешений из приложения ресурсов удостоверениями агента.

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/beta/applications/bc057821-f236-49d6-9f2c-1ebf43e9437a/microsoft.graph.agentIdentityBlueprint/inheritablePermissions
Content-Type: application/json

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.noScopes"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "@odata.type": "#microsoft.graph.inheritablePermission",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.noScopes"
  }
}