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


Создание roleEligibilityScheduleRequests

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

Важно!

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

Создайте объект unifiedRoleEligibilityScheduleRequest . Эта операция позволяет администраторам и соответствующим пользователям добавлять, отзывать или расширять соответствующие назначения.

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

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

Разрешения

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

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

Важно!

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

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

HTTP-запрос

POST /roleManagement/directory/roleEligibilityScheduleRequests

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

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

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

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

В следующей таблице показаны необязательные и обязательные свойства при создании unifiedRoleEligibilityScheduleRequest.

Свойство Тип Описание
action String Представляет тип операции при назначении допустимости роли. Возможные значения:
  • AdminAssign: администраторы могут назначать пользователям или группам права на роль.
  • AdminExtend: администраторы могут продлить назначения с истекающим сроком действия.
  • AdminUpdate: администраторы могут изменять существующие назначения ролей.
  • AdminRenew: администраторы могут продлевать назначения с истекшим сроком действия.
  • AdminRemove: администраторы могут удалять пользователей или группы из соответствующих ролей.
  • UserAdd: для активации пользователями соответствующих назначений.
  • UserExtend: пользователи могут запросить продление допустимых назначений с истекающим сроком действия.
  • UserRemove: пользователи могут деактивировать свои активные соответствующие назначения.
  • UserRenew: пользователи могут запросить продление допустимых назначений с истекшим сроком действия.
appScopeId String Идентификатор область конкретного приложения, когда область назначения зависит от приложения. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области приложения — это области, которые определяются и понимаются только этим приложением. Используйте / для областей приложений на уровне клиента. Используйте directoryScopeId, чтобы ограничить область определенными объектами каталога, например административными единицами или всеми пользователями.
directoryScopeId String Идентификатор объекта каталога, представляющего область назначения. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области каталога — это общие области, хранящиеся в каталоге, которые понимаются несколькими приложениями. Используйте / для область на уровне клиента. Используйте appScopeId, чтобы ограничить область только приложением.
isValidationOnly Логический Логическое значение, определяющее, является ли вызов проверкой или фактическим вызовом. Задайте это свойство только в том случае, если вы хотите проверка, подчиняется ли активация дополнительным правилам, таким как MFA, перед фактической отправкой запроса.
оправдание String Сообщение, предоставляемое пользователями и администраторами при создании запроса о том, почему он необходим. Необязательный, если действие имеет значение AdminRemove.
principalId String Идентификатор субъекта, которому предоставляется назначение. Например, пользователь или группа. Для групп они должны быть назначены ролям, то есть isAssignableToRole свойства группы, которому присвоено значение true.
roleDefinitionId String Идентификатор unifiedRoleDefinition, для назначения. Обязательно. Только для чтения.
scheduleInfo requestSchedule Объект schedule запроса на назначение роли. Это свойство не требуется, если действие имеет значениеAdminRemove.
ticketInfo ticketInfo Объект ticketInfo, присоединенный к запросу на назначение роли, который содержит сведения о номере билета и системе билетов. Необязательный параметр.

Отклик

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

Примеры

Пример 1. Администратор для назначения запроса на получение ролей

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

Запрос

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

{
  "action": "AdminAssign",
  "justification": "Assign User Admin eligibility 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": {
      "endDateTime": "2022-06-30T00:00:00Z",
      "type": "AfterDateTime"
    }
  }
}

Отклик

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

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "672c03bf-226a-42ec-a8b7-3bfab96064a1",
    "status": "Provisioned",
    "createdDateTime": "2021-07-26T18:08:03.1299669Z",
    "completedDateTime": "2021-07-26T18:08:06.2081758Z",
    "approvalId": null,
    "customData": null,
    "action": "AdminAssign",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "672c03bf-226a-42ec-a8b7-3bfab96064a1",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

Пример 2. Администратор удаления существующего запроса на получение ролей

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

Запрос

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

{
    "action": "AdminRemove",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "expiration": {
            "endDateTime": "2022-06-30T00:00:00Z",
            "type": "AfterDateTime"
        }
    }
}

Отклик

Ниже показан пример отклика. Запрос возвращает объект ответа, который показывает состояние ранее допустимых изменений назначения как Revoked. Субъект больше не будет видеть свою ранее допустимую роль.

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "7f88a144-f9a9-4f8c-9623-39c321ae93c2",
    "status": "Revoked",
    "createdDateTime": "2021-08-06T17:59:12.4263499Z",
    "completedDateTime": null,
    "approvalId": null,
    "customData": null,
    "action": "AdminRemove",
    "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": null,
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-07-26T18:08:06.2081758Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}