Partilhar via


Criar roleEligibilityScheduleRequests

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Crie um novo objeto unifiedRoleEligibilityScheduleRequest . Esta operação permite que os administradores e os utilizadores elegíveis adicionem, revoguem ou expandam atribuições elegíveis.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) RoleEligibilitySchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application RoleEligibilitySchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory

Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função suportada do Microsoft Entra ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.

  • Para operações de leitura: Leitor Global, Operador de Segurança, Leitor de Segurança, Administrador de Segurança ou Administrador de Função Privilegiada
  • Para operações de escrita: Administrador de Funções Com Privilégios

Solicitação HTTP

POST /roleManagement/directory/roleEligibilityScheduleRequests

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo do pedido, forneça uma representação JSON do objeto unifiedRoleEligibilityScheduleRequest .

A tabela seguinte mostra as propriedades opcionais e necessárias quando cria o unifiedRoleEligibilityScheduleRequest.

Propriedade Tipo Descrição
ação Cadeia de caracteres Representa o tipo da operação na atribuição de elegibilidade de função. Os valores possíveis são:
  • AdminAssign: para que os administradores atribuam elegibilidade de função a utilizadores ou grupos a funções.
  • AdminExtend: para os administradores prolongarem as atribuições prestes a expirar.
  • AdminUpdate: para os administradores alterarem as atribuições de funções existentes.
  • AdminRenew: para os administradores renovarem as atribuições expiradas.
  • AdminRemove: para os administradores removerem utilizadores ou grupos de funções elegíveis.
  • UserAdd: para que os utilizadores ativem as respetivas atribuições elegíveis.
  • UserExtend: para que os utilizadores peçam a extensão das respetivas atribuições elegíveis prestes a expirar.
  • UserRemove: para os utilizadores desativarem as respetivas atribuições elegíveis ativas.
  • UserRenew: para que os utilizadores peçam a renovação das respetivas atribuições elegíveis expiradas.
appScopeId Cadeia de caracteres Identificador do âmbito específico da aplicação quando o âmbito de atribuição é específico da aplicação. O âmbito de uma atribuição determina o conjunto de recursos ao qual foi concedido acesso ao principal. Os âmbitos da aplicação são âmbitos definidos e compreendidos apenas por esta aplicação. Utilize / para âmbitos de aplicações ao nível do inquilino. Utilize directoryScopeId para limitar o âmbito a determinados objetos de diretório, por exemplo, unidades administrativas ou todos os utilizadores.
directoryScopeId Cadeia de caracteres Identificador do objeto de diretório que representa o âmbito da atribuição. O âmbito de uma atribuição determina o conjunto de recursos ao qual foi concedido acesso ao principal. Os âmbitos de diretório são âmbitos partilhados armazenados no diretório que são compreendidos por várias aplicações. Utilize / para o âmbito ao nível do inquilino. Utilize appScopeId para limitar o âmbito apenas a uma aplicação.
isValidationOnly Booliano Um Booleano que determina se a chamada é uma validação ou uma chamada real. Defina esta propriedade apenas se quiser verificar se uma ativação está sujeita a regras adicionais, como a MFA, antes de submeter realmente o pedido.
justificação Cadeia de caracteres Uma mensagem fornecida por utilizadores e administradores ao criar o pedido sobre o motivo pelo qual é necessário. Opcional quando a ação é AdminRemove.
principalId Cadeia de caracteres Identificador do principal ao qual a atribuição está a ser concedida. Por exemplo, um utilizador ou um grupo. Para grupos, têm de ser atribuíveis a funções, ou seja, isAssignableToRole da propriedade do grupo definida como true.
roleDefinitionId Cadeia de caracteres Identificador da unifiedRoleDefinition para a qual a atribuição se destina. Obrigatório. Somente leitura.
scheduleInfo requestSchedule O objeto schedule do pedido de atribuição de função. Esta propriedade não é necessária quando a ação é AdminRemove.
ticketInfo ticketInfo O objeto ticketInfo anexado ao pedido de atribuição de função, que inclui detalhes do número da permissão e do sistema de pedidos de suporte. Opcional.

Resposta

Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto unifiedRoleEligibilityScheduleRequest no corpo da resposta.

Exemplos

Exemplo 1: Administrador para atribuir um pedido de agendamento de elegibilidade de função

No pedido seguinte, o administrador cria um pedido para atribuir a elegibilidade de uma função identificada por fdd7a751-b60b-444a-984c-02652fe8fa1c a um principal identificado pelo ID07706ff1-46c7-4847-ae33-3003830675a1. O âmbito da elegibilidade é todos os objetos de diretório no inquilino até 30 de junho de 2022 à meia-noite hora UTC.

Solicitação

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 2: Administrador para remover um pedido de agendamento de elegibilidade de função existente

No pedido seguinte, o administrador cria um pedido para revogar a elegibilidade de uma função identificada por fdd7a751-b60b-444a-984c-02652fe8fa1c para um principal identificado pelo ID07706ff1-46c7-4847-ae33-3003830675a1.

Solicitação

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

Resposta

O exemplo a seguir mostra a resposta. O pedido devolve um objeto de resposta que mostra o estado das alterações de atribuição anteriormente elegíveis como Revoked. O principal deixará de ver a função anteriormente elegível.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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