Criar roleAssignmentScheduleRequests

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 de versão.

Crie um novo objeto unifiedRoleAssignmentScheduleRequest . Essa operação permite que administradores e usuários adicionem, removam, estendam ou renovem atribuições. Para executar essa solicitação, o usuário de chamada deve ter a MFA (autenticação multifator) imposta e executar a consulta em uma sessão na qual foi desafiado para MFA. Consulte Habilitar a autenticação Azure AD multifator para proteger eventos de entrada.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegada (conta corporativa ou de estudante) RoleAssignmentSchedule.ReadWrite.Directory
Delegado (conta pessoal da Microsoft) Sem suporte
Aplicativo Sem suporte

Solicitação HTTP

POST /roleManagement/directory/roleAssignmentScheduleRequests

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto unifiedRoleAssignmentScheduleRequest .

A tabela a seguir mostra as propriedades que são necessárias ao criar unifiedRoleAssignmentScheduleRequest.

Propriedade Tipo Descrição
id String O identificador exclusivo para unifiedRoleAssignmentScheduleRequest. Chave, não anulável, somente leitura.
ação String Representa o tipo da operação na atribuição de função. Os valores possíveis são:
  • AdminAssign: para administradores atribuirem funções a usuários ou grupos.
  • AdminRemove: para administradores removerem usuários ou grupos de funções.
  • AdminUpdate: para que os administradores alterem as atribuições de função existentes.
  • AdminExtend: para que os administradores estendam as atribuições de expiração.
  • AdminRenew: para que os administradores renovem atribuições expiradas.
  • SelfActivate: para que os usuários ativem suas atribuições.
  • SelfDeactivate: para que os usuários desativem suas atribuições ativas.
  • SelfExtend: para que os usuários solicitem a extensão de suas atribuições de expiração.
  • SelfRenew: para que os usuários solicitem a renovação de suas atribuições expiradas.
principalId String Identificador da entidade de segurança à qual a atribuição está sendo concedida.
roleDefinitionId String Identificador do unifiedRoleDefinition para o que a atribuição se aplica. Somente leitura.
directoryScopeId String Identificador do objeto de diretório que representa o escopo da atribuição. O escopo de uma atribuição determina o conjunto de recursos aos quais a entidade de segurança recebeu acesso. Os escopos de diretório são escopos compartilhados armazenados no diretório que são compreendidos por vários aplicativos. Use / para escopo de todo o locatário. Use appScopeId para limitar o escopo somente a um aplicativo.
appScopeId String Identificador do escopo específico do aplicativo quando o escopo de atribuição é específico do aplicativo. O escopo de uma atribuição determina o conjunto de recursos aos quais a entidade de segurança recebeu acesso. Os escopos do aplicativo são escopos definidos e compreendidos apenas por esse aplicativo. Use / para escopos de aplicativo em todo o locatário. Use directoryScopeId para limitar o escopo a objetos de diretório específicos, por exemplo, unidades administrativas.
isValidationOnly Booliano Especifica se a chamada é uma validação ou uma chamada real. Defina essa propriedade somente se você quiser verificar se uma ativação está sujeita a regras adicionais, como MFA, antes de realmente enviar a solicitação.
targetScheduleId String ID do objeto de agenda anexado à atribuição.
Justificação String Uma mensagem fornecida por usuários e administradores ao criar a solicitação sobre por que ela é necessária.
scheduleInfo requestSchedule O objeto de agendamento da solicitação de atribuição de função.
ticketInfo ticketInfo O objeto ticketInfo anexado à solicitação de atribuição de função que inclui detalhes do número do tíquete e do sistema de tíquetes.

Resposta

Se tiver êxito, este método retornará 201 Created um código de resposta e um objeto unifiedRoleAssignmentScheduleRequest no corpo da resposta.

Quando o usuário chamador não foi desafiado para autenticação multifator durante a sessão de entrada, uma solicitação com a ação SelfActivate falha e retorna um código 400 Bad request de resposta.

Exemplos

Exemplo 1: Administrador atribuindo uma função de diretório a uma entidade de segurança

Solicitação

Na solicitação a seguir, o administrador cria uma solicitação para atribuir uma função identificada por fdd7a751-b60b-444a-984c-02652fe8fa1c uma entidade de segurança identificada pela ID07706ff1-46c7-4847-ae33-3003830675a1. O escopo de sua função é todos os objetos de diretório no locatário e a atribuição é permanente, ou seja, não expira.

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

Resposta

Este é um exemplo de 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/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
  }
}

Exemplo 2: Usuário ativando sua função qualificada

Solicitação

Na solicitação a seguir, um usuário identificado por principalId c6ad1942-4afa-47f8-8d48-afb5d8d69d2f ativa sua própria função qualificada identificada por 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3. O escopo de sua função é todos os objetos de diretório no locatário e a atribuição é de cinco horas. Para executar essa solicitação, o usuário de chamada deve ter a MFA (autenticação multifator) imposta e executar a consulta em uma sessão na qual foi desafiado para 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"
    }
}

Resposta

Este é um exemplo de 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/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"
    }
}