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


Создание roleAssignmentScheduleRequests

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

Важно!

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

Создайте объект unifiedRoleAssignmentScheduleRequest . Эта операция позволяет администраторам и пользователям добавлять, удалять, расширять или продлевать назначения. Чтобы выполнить этот запрос, вызывающий пользователь должен применить многофакторную проверку подлинности (MFA) и выполнить запрос в сеансе, в котором он был оспорил многофакторную проверку подлинности. См. раздел Включение Microsoft Entra многофакторной проверки подлинности для защиты событий входа.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

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

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

Важно!

В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие роли с наименьшими привилегиями.

  • Для операций чтения: глобальный читатель, оператор безопасности, читатель безопасности, администратор безопасности или администратор привилегированных ролей.
  • Для операций записи: администратор привилегированных ролей

HTTP-запрос

POST /roleManagement/directory/roleAssignmentScheduleRequests

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

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

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

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

В следующей таблице перечислены свойства, необходимые при создании unifiedRoleAssignmentScheduleRequest.

Свойство Тип Описание
id String Уникальный идентификатор unifiedRoleAssignmentScheduleRequest. Ключ, не допускающий значения NULL, только для чтения.
action String Представляет тип операции при назначении роли. Возможные значения:
  • AdminAssign: администраторы могут назначать роли пользователям или группам.
  • AdminRemove: администраторы могут удалять пользователей или группы из ролей.
  • AdminUpdate: администраторы могут изменять существующие назначения ролей.
  • AdminExtend: администраторы могут продлить назначения с истекающим сроком действия.
  • AdminRenew: администраторы могут продлевать назначения с истекшим сроком действия.
  • SelfActivate: для активации назначений пользователями.
  • SelfDeactivate: пользователи могут деактивировать свои активные назначения.
  • SelfExtend: пользователи могут запросить продление назначений с истекающим сроком действия.
  • SelfRenew: пользователи могут запросить продление просроченных назначений.
principalId String Идентификатор субъекта, которому предоставляется назначение.
roleDefinitionId String Идентификатор unifiedRoleDefinition, для назначения. Только для чтения.
directoryScopeId String Идентификатор объекта каталога, представляющего область назначения. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области каталога — это общие области, хранящиеся в каталоге, которые понимаются несколькими приложениями. Используйте / для область на уровне клиента. Используйте appScopeId, чтобы ограничить область только приложением.
appScopeId String Идентификатор область конкретного приложения, когда область назначения зависит от приложения. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области приложения — это области, которые определяются и понимаются только этим приложением. Используйте / для областей приложений на уровне клиента. Используйте directoryScopeId, чтобы ограничить область определенными объектами каталога, например административными единицами.
isValidationOnly Логический Указывает, является ли вызов проверкой или фактическим вызовом. Задайте это свойство только в том случае, если вы хотите проверка, подчиняется ли активация дополнительным правилам, таким как MFA, перед фактической отправкой запроса.
targetScheduleId String Идентификатор объекта расписания, присоединенного к назначению.
оправдание String Сообщение, предоставляемое пользователями и администраторами при создании запроса о том, почему он необходим.
scheduleInfo requestSchedule Объект schedule запроса на назначение роли.
ticketInfo ticketInfo Объект ticketInfo, присоединенный к запросу на назначение роли, который содержит сведения о номере билета и системе билетов.

Отклик

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

Если вызывающий пользователь не был оспорен для многофакторной проверки подлинности во время сеанса входа, запрос с действием SelfActivate завершается ошибкой 400 Bad request и возвращает код ответа.

Примеры

Пример 1. Администратор назначении роли каталога субъекту

Запрос

В следующем запросе администратор создает запрос на назначение роли, определяемой пользователемfdd7a751-b60b-444a-984c-02652fe8fa1c, субъекту, идентифицируемой по идентификатору07706ff1-46c7-4847-ae33-3003830675a1. Область их роли — это все объекты каталога в клиенте, а назначение является постоянным, то есть срок действия не истекает.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "type": "NoExpiration"
    }
  }
}

Отклик

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
  "id": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "status": "Provisioned",
  "createdDateTime": "2021-07-27T09:18:40.2029365Z",
  "completedDateTime": "2021-07-27T09:18:42.7811184Z",
  "approvalId": null,
  "customData": null,
  "action": "AdminAssign",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "appScopeId": null,
  "isValidationOnly": false,
  "targetScheduleId": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "displayName": null,
      "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
    }
  },
  "scheduleInfo": {
    "startDateTime": "2021-07-27T09:18:42.7811184Z",
    "recurrence": null,
    "expiration": {
      "type": "noExpiration",
      "endDateTime": null,
      "duration": null
    }
  },
  "ticketInfo": {
    "ticketNumber": null,
    "ticketSystem": null
  }
}

Пример 2. Активация пользователем соответствующей роли

Запрос

В следующем запросе пользователь, идентифицируемый с помощью principalIdc6ad1942-4afa-47f8-8d48-afb5d8d69d2f , активирует собственную допустимую роль, определяемую с помощью 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3. Область их роли — это все объекты каталога в клиенте, а назначение выполняется в течение пяти часов. Чтобы выполнить этот запрос, вызывающий пользователь должен применить многофакторную проверку подлинности (MFA) и выполнить запрос в сеансе, в котором он был оспорил многофакторную проверку подлинности.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "justification": "Need to update app roles for selected apps.",
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}

Отклик

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

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "163daf73-8746-4996-87de-ab71dc624bf9",
    "status": "Granted",
    "createdDateTime": "2021-08-17T17:39:36.7040696Z",
    "completedDateTime": "2021-08-17T17:40:00Z",
    "approvalId": null,
    "customData": null,
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "163daf73-8746-4996-87de-ab71dc624bf9",
    "justification": "Need to update app roles for selected apps.",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}