Atribuir funções administrativas usando PIM para APIs de funções Microsoft Entra

Privileged Identity Management (PIM) permite que as organizações gerenciem o acesso administrativo aos recursos no Microsoft Entra ID. O acesso administrativo pode ser por meio de grupos atribuíveis a função ou funções Microsoft Entra. O PIM ajuda a gerenciar os riscos de acesso privilegiado limitando quando o acesso está ativo, gerenciando o escopo de acesso e fornecendo um log auditável de acesso privilegiado.

A Contoso deseja atribuir funções administrativas a entidades de segurança usando grupos de segurança. A empresa atribui elegibilidade em vez de funções administrativas persistentemente ativas. Esse método é eficaz das seguintes maneiras:

  • Remover membros existentes ou adicionar mais membros do grupo também remove os administradores.
  • Os membros do grupo herdam a atribuição de função qualificada. Você pode atribuir mais funções a um grupo em vez de atribuir funções diretamente a usuários individuais.
  • Atribuir a elegibilidade em vez de um privilégio de Administrador de Usuário persistentemente ativo permite que a empresa imponha o acesso just-in-time, que concede permissões temporárias para executar as tarefas privilegiadas. Quando um membro do grupo precisa usar os privilégios, ele ativa sua atribuição por um período temporário. Todos os registros de ativações de função são auditáveis pela empresa.

Neste tutorial, você aprende a:

  • Crie um grupo de segurança atribuível a função.
  • Torne um grupo de segurança atribuível a função qualificado para uma função administrativa.
  • Conceda acesso just-in-time a um usuário ativando sua atribuição qualificada.

Pré-requisitos

Para concluir este tutorial, você precisa dos seguintes recursos e privilégios:

  • Um locatário Microsoft Entra funcionando com uma licença P2 ou Microsoft Entra ID Governance Microsoft Entra ID habilitada.
  • Entre em um cliente de API, como o Graph Explorer chamar o Microsoft Graph com uma conta que tenha pelo menos a função de Administrador de Funções Privilegiadas.
    • [Opcional] Inicie uma nova sessão anônima em outro navegador. Você entra mais tarde neste tutorial. Um usuário de teste habilitado para MFA e você tem acesso à conta do aplicativo Microsoft Authenticator.
  • Conceda a si mesmo as seguintes permissões delegadas: Group.ReadWrite.All, Directory.Read.All, RoleEligibilitySchedule.ReadWrite.Directory, e RoleAssignmentSchedule.ReadWrite.Directory, e RoleManagement.ReadWrite.Directory.

Etapa 1: criar um grupo de segurança atribuível a função

Atribua a si mesmo como o proprietário do grupo e você e o usuário de teste como membros.

Solicitação: criar um grupo atribuível a função

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json

{
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true,
    "isAssignableToRole": true,
    "owners@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/1ed8ac56-4827-4733-8f80-86adc2e67db5"
    ],
    "members@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
        "https://graph.microsoft.com/v1.0/users/7146daa8-1b4b-4a66-b2f7-cf593d03c8d2"
    ]
}

Resposta

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
    "@odata.id": "https://graph.microsoft.com/v2/29a4f813-9274-4e1b-858d-0afa98ae66d4/directoryObjects/e77cbb23-0ff2-4e18-819c-690f58269752/Microsoft.DirectoryServices.Group",
    "id": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "groupTypes": [],
    "isAssignableToRole": true,
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true,
    "securityIdentifier": "S-1-12-1-3883711267-1310199794-258579585-1385637464",
    "visibility": "Private",
    "onPremisesProvisioningErrors": []
}

Etapa 2: Criar um unifiedRoleEligibilityScheduleRequest

Agora que você tem um grupo de segurança atribuível a função, atribua-o como qualificado para a função de Administrador de Usuário por um ano. Escopo da atribuição qualificada para todo o locatário. Esse escopo no nível do locatário permite que o administrador do usuário use seu privilégio em relação a todos os usuários em seu locatário, exceto usuários privilegiados mais altos, como o Administrador Global.

Solicitação

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

{
    "action": "AdminAssign",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "scheduleInfo": {
        "startDateTime": "2021-07-01T00:00:00Z",
        "expiration": {
            "endDateTime": "2022-06-30T00:00:00Z",
            "type": "AfterDateTime"
        }
    }
}

Resposta

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "64a8bd54-4591-4f6a-9c77-3e9cb1fdd29b",
    "status": "Provisioned",
    "createdDateTime": "2021-09-03T20:45:28.3848182Z",
    "completedDateTime": "2021-09-03T20:45:39.1194292Z",
    "action": "AdminAssign",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "64a8bd54-4591-4f6a-9c77-3e9cb1fdd29b",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "user": {
            "id": "1ed8ac56-4827-4733-8f80-86adc2e67db5"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-09-03T20:45:39.1194292Z",
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z"
        }
    },
    "ticketInfo": {}
}

Etapa 3: confirmar as atribuições de função atuais do usuário

Embora os membros do grupo agora estejam qualificados para a função de Administrador de Usuário, eles ainda não podem usar a função, a menos que ativem explicitamente a função. Você pode confirmar verificando as atribuições de função atuais do usuário.

Solicitação

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId eq '7146daa8-1b4b-4a66-b2f7-cf593d03c8d2'

Resposta

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignments",
    "value": []
}

O objeto de resposta vazio mostra que o usuário não tem funções de Microsoft Entra existentes na Contoso. Agora, o usuário ativará sua função de Administrador de Usuário qualificada por um tempo limitado.

Etapa 4: o usuário ativa automaticamente sua atribuição qualificada

Um tíquete de incidente CONTOSO: o Security-012345 foi gerado no sistema de gerenciamento de incidentes da Contoso e a empresa exige que todos os tokens de atualização dos funcionários sejam invalidados. Como membro do Helpdesk de TI, a Aline é responsável por cumprir essa tarefa.

Primeiro, inicie o aplicativo Authenticator em seu telefone e abra a conta de Aline Dupuy.

Entre no Graph Explorer como Aline. Você pode usar outro navegador para esta etapa. Ao fazer isso, você não interromperá sua sessão atual. Como alternativa, você pode interromper sua sessão atual assinando o Graph Explorer e entrando novamente como Aline.

Depois de entrar, ative sua função de Administrador de Usuário por cinco horas.

Solicitação

Para ativar uma função, chame o ponto de roleAssignmentScheduleRequests extremidade. Nesta solicitação, a ação UserActivate permite que você ative sua atribuição qualificada.

  • Para principalId, forneça o valor da ID (da Aline).
  • O roleDefinitionId é a id da função para a qual você está qualificado, nesse caso, para a função administrador de usuário.
  • Insira os detalhes do sistema de tíquetes que fornece uma justificativa auditável para ativar a solicitação.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
Content-type: application/json

{
    "action": "SelfActivate",
    "principalId": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "scheduleInfo": {
        "startDateTime": "2024-03-25T15:13:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Resposta

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "295edd40-4646-40ca-89b8-ab0b46b6f60e",
    "status": "Granted",
    "createdDateTime": "2021-09-03T21:10:49.6670479Z",
    "completedDateTime": "2021-09-04T15:13:00Z",
    "action": "SelfActivate",
    "principalId": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "295edd40-4646-40ca-89b8-ab0b46b6f60e",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "createdBy": {
        "user": {
            "id": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-09-04T15:13:00Z",
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Você pode confirmar sua atribuição executando GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal'). O objeto de resposta retorna sua atribuição de função recém-ativada com seu status definido como Granted. Com seu novo privilégio, execute todas as ações permitidas dentro de cinco horas para as quais sua atribuição está ativa. Após cinco horas, a atribuição ativa expira, mas por meio de sua associação no grupo de Suporte de TI (Usuários), você é qualificado para a função de Administrador de Usuário.

Etapa 6: Limpar recursos

Entre como administrador global e exclua os seguintes recursos criados para este tutorial: a solicitação de qualificação de função e o grupo de Suporte de TI (Usuários).

Revogar a solicitação de qualificação de função

Solicitação

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

{
    "action": "AdminRemove",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/"
}

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/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "dcd11a1c-300f-4d17-8c7a-523830400ec8",
    "status": "Revoked",
    "action": "AdminRemove",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/"
}

Excluir o grupo de Suporte de TI (Usuários)

A solicitação retorna o código de resposta 204 No Content.

DELETE https://graph.microsoft.com/v1.0/groups/e77cbb23-0ff2-4e18-819c-690f58269752

Conclusão

Neste tutorial, você aprendeu a gerenciar atribuições de função administrativa em Microsoft Entra ID usando APIs pim.

  • Embora você tenha tornado o grupo qualificado para a função administrativa, você pode, alternativamente, atribuir uma função ativa ao grupo e tornar os membros qualificados para o grupo. Nesse cenário, use o PIM para APIs de grupos.
  • O usuário de teste exigiu que a MFA ativasse sua função. Esse requisito faz parte das configurações da função Microsoft Entra e você pode alterar as regras para não exigir MFA.
  • Como parte das regras configuráveis, você também pode configurar as seguintes configurações:
    • Limite a duração máxima permitida para a ativação da função.
    • Exigir ou não exigir informações de justificativa e tíquete para ativar a função.