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


Создание roleAssignmentScheduleRequests

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

В PIM выполните следующие операции с помощью объекта unifiedRoleAssignmentScheduleRequest :

  • Запрашивайте активные и постоянные назначения ролей для субъекта с датами окончания срока действия или без нее.
  • Активация, деактивация, продление или продление допустимого назначения ролей для субъекта.

Чтобы вызвать этот API для обновления, продления и расширения назначений для себя, необходимо применить многофакторную проверку подлинности (MFA) и выполнить запрос в сеансе, в котором они были оспорим для 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 можно указать следующие свойства.

Свойство Тип Описание
action unifiedRoleScheduleRequestActions Представляет тип операции в запросе на назначение ролей. Возможные значения: adminAssign, adminUpdate, adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue.
  • adminAssign: администраторы могут назначать роли пользователям или группам.
  • adminRemove: администраторы могут удалять пользователей или группы из ролей.
  • adminUpdate: администраторы могут изменять существующие назначения ролей.
  • adminExtend: администраторы могут продлить назначения с истекающим сроком действия.
  • adminRenew: администраторы могут продлевать назначения с истекшим сроком действия.
  • selfActivate: для активации назначений пользователями.
  • selfDeactivate: пользователи могут деактивировать свои активные назначения.
  • selfExtend: пользователи могут запросить продление назначений с истекающим сроком действия.
  • selfRenew: пользователи могут запросить продление просроченных назначений.
customData String Свободное текстовое поле для определения любых пользовательских данных для запроса. Необязательный параметр.
principalId String Идентификатор субъекта, которому было предоставлено назначение. Обязательно.
roleDefinitionId String Идентификатор назначаемого объекта unifiedRoleDefinition . Обязательно.
directoryScopeId String Идентификатор объекта каталога, представляющего область назначения. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области каталога — это общие области, хранящиеся в каталоге, которые понимаются несколькими приложениями. Используйте / для области на уровне клиента. Используйте appScopeId , чтобы ограничить область только приложением. Требуется параметр directoryScopeId или appScopeId .
appScopeId String Идентификатор конкретной области приложения, когда назначение ограничивается приложением. Область назначения определяет набор ресурсов, доступ к которым предоставлен субъекту. Области приложения — это области, которые определяются и понимаются только этим приложением. Используйте / для областей приложений на уровне клиента. Используйте directoryScopeId , чтобы ограничить область определенными объектами каталога, например административными единицами. Требуется параметр directoryScopeId или appScopeId .
оправдание String Сообщение, предоставляемое пользователями и администраторами при создании объекта unifiedRoleAssignmentScheduleRequest .

Необязательный параметр для selfDeactivate действий и adminRemove ; может быть необязательным или обязательным для других типов действий в зависимости от правил в политике, связанной с ролью Microsoft Entra. Дополнительные сведения см. в разделе Правила в PIM.
scheduleInfo requestSchedule Период запроса на назначение ролей. Повторяющиеся расписания в настоящее время не поддерживаются. Обязательно.
ticketInfo ticketInfo Сведения о билетах, связанных с запросом на назначение роли, включая сведения о номере билета и системе билетов.

Необязательный параметр для selfDeactivate действий и adminRemove ; может быть необязательным или обязательным для других типов действий в зависимости от правил в политике, связанной с ролью Microsoft Entra. Дополнительные сведения см. в разделе Правила в PIM.

Отклик

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

Примеры

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

В следующем запросе администратор создает запрос на назначение роли, определяемой пользователем, субъекту с идентификатором fdd7a751-b60b-444a-984c-02652fe8fa1c071cc716-8147-4397-a5ba-b2105951cc0b. Область их роли — это все объекты каталога в клиенте, а назначение является постоянным.

Запрос

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

{
    "action": "adminAssign",
    "justification": "Assign Groups Admin to IT Helpdesk group",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "scheduleInfo": {
        "startDateTime": "2022-04-10T00:00:00Z",
        "expiration": {
            "type": "NoExpiration"
        }
    }
}

Отклик

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "95c690fb-3eb3-4942-a03f-4524aed6f31e",
    "status": "Provisioned",
    "createdDateTime": "2022-04-11T11:50:03.9014347Z",
    "completedDateTime": "2022-04-11T11:50:05.9999343Z",
    "approvalId": null,
    "customData": null,
    "action": "adminAssign",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "95c690fb-3eb3-4942-a03f-4524aed6f31e",
    "justification": "Assign Groups Admin to IT Helpdesk group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "3fbd929d-8c56-4462-851e-0eb9a7b3a2a5"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2022-04-11T11:50:05.9999343Z",
        "recurrence": null,
        "expiration": {
            "type": "noExpiration",
            "endDateTime": null,
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

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

Запрос

В следующем запросе пользователь, идентифицируемый с помощью principalId071cc716-8147-4397-a5ba-b2105951cc0b , активирует собственную доступную роль к роли Microsoft Entra, определяемой по идентификатору 8424c6f0-a189-499e-bbd0-26c1753c96d4. Область их роли — это все объекты каталога в клиенте, а назначение выполняется в течение пяти часов. Чтобы выполнить этот запрос, вызывающий пользователь должен применить многофакторную проверку подлинности (MFA) и выполнить запрос в сеансе, в котором он был оспорил многофакторную проверку подлинности.

Чтобы получить сведения о своих запросах на участие и определить право на активацию, пользователь вызовет API unifiedRoleEligibilitySchedule: filterByCurrentUser .

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

{
    "action": "selfActivate",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "justification": "I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs",
    "scheduleInfo": {
        "startDateTime": "2022-04-14T00:00: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/v1.0/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "911bab8a-6912-4de2-9dc0-2648ede7dd6d",
    "status": "Granted",
    "createdDateTime": "2022-04-13T08:52:32.6485851Z",
    "completedDateTime": "2022-04-14T00:00:00Z",
    "approvalId": null,
    "customData": null,
    "action": "selfActivate",
    "principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
    "roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "911bab8a-6912-4de2-9dc0-2648ede7dd6d",
    "justification": "I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "071cc716-8147-4397-a5ba-b2105951cc0b"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2022-04-14T00:00:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}