Compartilhar via


Atribuir funções privilegiadas com o PIM para apIs de funções Microsoft Entra

Privileged Identity Management (PIM) ajuda as organizações a reduzir os riscos associados ao acesso privilegiado ao limitar quando o acesso está ativo, ao gerir o âmbito de acesso e ao fornecer um registo auditável de acesso privilegiado. Normalmente, o acesso privilegiado é concedido para fins administrativos através de grupos atribuíveis a funções ou funções de administrador.

A Contoso quer delegar algumas funções de administrador ao atribuir funções de Microsoft Entra aos utilizadores através de grupos de segurança. A empresa atribui elegibilidade em vez de funções privilegiadas persistentemente ativas. Este método é eficaz porque:

  • Remover ou adicionar membros do grupo também remove ou adiciona administradores.
  • Os membros do grupo herdam atribuições de funções. Pode atribuir mais funções a um grupo em vez de atribuir funções diretamente a utilizadores individuais.
  • Atribuir elegibilidade em vez de privilégios persistentemente ativos impõe o acesso just-in-time, concedendo permissões temporárias para realizar tarefas privilegiadas. Quando um membro do grupo precisa de privilégios, ativa temporariamente a respetiva atribuição. Todas as ativações de função são auditáveis.

Pode modelar a elegibilidade da função através de grupos de duas formas:

  • Conceda a um grupo uma atribuição de função permanente e torne os principais elegíveis para o grupo. Neste cenário, os membros do grupo ativam a associação ao grupo para obter atribuições de funções ativas.
  • Conceda a um grupo uma atribuição de função elegível e torne os principais membros permanentes do grupo. Neste cenário, os membros do grupo ativam as atribuições de funções para obter privilégios.

Neste tutorial, você aprende a:

  • Crie um grupo de segurança atribuível a funções.
  • Torne um grupo de segurança atribuível a funções elegível para uma função com privilégios.
  • Conceda acesso just-in-time a um utilizador ao ativar a respetiva atribuição elegível.

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Um inquilino Microsoft Entra com uma licença P2 ou Microsoft Entra ID Governance Microsoft Entra ID
  • Um cliente de API, como o Graph Explorer sessão iniciada com uma conta que tenha, pelo menos, a função Administrador de Função Privilegiada
  • Um utilizador de teste ativado para MFA com acesso à respetiva aplicação Microsoft Authenticator
  • Permissões delegadas:
    • Group.ReadWrite.All para criar o grupo
    • RoleManagement.ReadWrite.Directory para tornar o grupo atribuível a funções e para configurar e gerir atribuições de funções elegíveis e ativas. Esta permissão deve ser concedida a todos os utilizadores no inquilino.

Passo 1: criar um grupo de segurança atribuível a funções

Atribua-se a si próprio como proprietário do grupo e adicione-se a si próprio e ao utilizador de teste como membros.

Pedido: criar um grupo atribuível a funções

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/e2330663-f949-41b5-a3dc-faeb793e14c6"
    ],
    "members@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/e2330663-f949-41b5-a3dc-faeb793e14c6",
        "https://graph.microsoft.com/v1.0/users/d9771b4c-06c5-491a-92cb-3aa4e225a725"
    ]
}

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",
    "id": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "groupTypes": [],
    "isAssignableToRole": true,
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true
}

Passo 2: Criar um unifiedRoleEligibilityScheduleRequest

Atribua o grupo de segurança como elegível para a função Administrador de Utilizadores durante um ano. Definir o âmbito da atribuição elegível para todo o inquilino. O âmbito ao nível do inquilino permite que o administrador do utilizador faça a gestão de todos os utilizadores no seu inquilino, exceto utilizadores com privilégios mais elevados, como Administradores Globais.

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": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:06:00Z",
        "expiration": {
            "endDateTime": "2026-03-21T00: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": "12956159-24b8-4619-b9ea-8ce21f81a38f",
    "status": "Provisioned",
    "createdDateTime": "2025-03-21T11:07:23.4563591Z",
    "completedDateTime": "2025-03-21T11:07:24.8573295Z",
    "action": "adminAssign",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "targetScheduleId": "12956159-24b8-4619-b9ea-8ce21f81a38f",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "id": "e2330663-f949-41b5-a3dc-faeb793e14c6"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:07:24.8573295Z",
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2026-03-21T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {}
}

Passo 3: Confirmar as atribuições de funções atuais do utilizador

Os membros do grupo são agora elegíveis para a função Administrador de Utilizadores, mas não podem utilizar a função até a ativarem. O pedido seguinte confirma as atribuições de funções ativas existentes do utilizador. O pedido devolve uma coleção vazia.

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId eq 'd9771b4c-06c5-491a-92cb-3aa4e225a725'

Passo 4: o utilizador ativa automaticamente a respetiva atribuição elegível

Um pedido de CONTOSO: Security-012345 incidente requer a invalidação de todos os tokens de atualização dos funcionários. Como membro do Suporte Técnico de TI, a Aline quer resolve esta tarefa.

Inicie a aplicação Authenticator no telemóvel e abra a conta do Aline Dupuy.

Inicie sessão no Graph Explorer como Aline. O pedido seguinte mostra como ativar a sua função de Administrador de Utilizador durante cinco horas.

Solicitação

Para ativar uma função, chame o roleAssignmentScheduleRequests ponto final. Neste pedido, a ação UserActivate permite-lhe ativar a sua atribuição elegível.

  • Para principalId, forneça o valor do seu ID (Aline).
  • O roleDefinitionId é o ID da função para a qual é elegível, neste caso, a função Administrador de Utilizadores.
  • Introduza os detalhes do sistema de pedidos que fornecem uma justificação auditável para ativar o pedido.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
Content-type: application/json

{
    "action": "SelfActivate",
    "principalId": "d9771b4c-06c5-491a-92cb-3aa4e225a725",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:46: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": "fdde3804-2cd0-4349-b1f6-674927c94f0b",
    "status": "Provisioned",
    "createdDateTime": "2025-03-21T11:46:41.9645736Z",
    "completedDateTime": "2025-03-21T11:46:42.4165908Z",
    "action": "selfActivate",
    "principalId": "d9771b4c-06c5-491a-92cb-3aa4e225a725",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "fdde3804-2cd0-4349-b1f6-674927c94f0b",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "createdBy": {
        "user": {
            "id": "d9771b4c-06c5-491a-92cb-3aa4e225a725"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:46:42.4165908Z",
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Passo 5: Confirmar a atribuição de função

Pode confirmar a sua tarefa ao executar o seguinte pedido. O objeto de resposta devolve a atribuição de função recém-ativada com o respetivo status definido como Provisioned ou Granted. Com o seu novo privilégio, execute todas as ações permitidas no prazo de cinco horas para as quais a sua atribuição está ativa. Após cinco horas, a atribuição ativa expira, mas através da sua associação no grupo Suporte de TI (Utilizadores ), é elegível para a função administrador de utilizadores.

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal')?$expand=roleDefinition

Passo 6: Limpar recursos

Inicie sessão como Administrador de Função Privilegiada e elimine os recursos criados para este tutorial.

Revogar a elegibilidade da função para o grupo

Solicitação

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

{
    "action": "AdminRemove",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "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": "749ebf39-ffa9-4f43-aaaf-58e0d41f9efc",
    "status": "Revoked",
    "createdDateTime": "2025-03-21T12:03:14.551954Z",
    "action": "adminRemove",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "createdBy": {
        "user": {
            "displayName": null,
            "id": "e2330663-f949-41b5-a3dc-faeb793e14c6"
        }
    }
}

Eliminar o grupo de Suporte de TI (Utilizadores)

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

DELETE https://graph.microsoft.com/v1.0/groups/d9771b4c-06c5-491a-92cb-3aa4e225a725

Conclusão

Neste tutorial, aprendeu a gerir atribuições de funções privilegiadas no Microsoft Entra ID através de APIs PIM.

  • Em vez de tornar o grupo elegível para a função privilegiada, pode atribuir uma função ativa ao grupo e tornar os membros elegíveis para o grupo através do PIM para APIs de Grupos.
  • A MFA era necessária para a ativação de funções. Pode alterar este requisito nas definições de função Microsoft Entra.
  • Também pode configurar:
    • Duração máxima permitida para ativação de função.
    • Se são necessárias informações de justificação e permissão para ativar a função.