Compartir a través de


Asignación de roles con privilegios mediante PIM para las API de roles de Microsoft Entra

Privileged Identity Management (PIM) ayuda a las organizaciones a reducir los riesgos asociados con el acceso con privilegios limitando cuando el acceso está activo, administrando el ámbito de acceso y proporcionando un registro auditable de acceso con privilegios. El acceso con privilegios se suele conceder con fines administrativos a través de grupos asignables por roles o roles de administrador.

Contoso quiere delegar algunas funciones de administrador mediante la asignación de roles de Microsoft Entra a los usuarios a través de grupos de seguridad. La empresa asigna la idoneidad en lugar de roles con privilegios activos de forma persistente. Este método es efectivo porque:

  • Al quitar o agregar miembros del grupo también se quitan o agregan administradores.
  • Los miembros del grupo heredan asignaciones de roles. Puede asignar más roles a un grupo en lugar de asignar roles directamente a usuarios individuales.
  • La asignación de idoneidad en lugar de privilegios activos persistentemente exige el acceso Just-In-Time y concede permisos temporales para llevar a cabo tareas con privilegios. Cuando un miembro del grupo necesita privilegios, activa su asignación temporalmente. Todas las activaciones de roles son auditables.

Puede modelar la idoneidad de roles a través de grupos de dos maneras:

  • Conceda a un grupo una asignación de roles permanente y haga que las entidades de seguridad sean aptas para el grupo. En este escenario, los miembros del grupo activan su pertenencia a grupos para obtener asignaciones de roles activas.
  • Conceda a un grupo una asignación de roles apta y convierta a las entidades de seguridad en miembros permanentes del grupo. En este escenario, los miembros del grupo activan sus asignaciones de roles para obtener privilegios.

En este tutorial, aprenderá a:

  • Cree un grupo de seguridad asignable a roles.
  • Haga que un grupo de seguridad asignable a roles sea apto para un rol con privilegios.
  • Conceda acceso Just-In-Time a un usuario activando su asignación apta.

Requisitos previos

Para completar este tutorial, necesita:

  • Un inquilino Microsoft Entra con una licencia Microsoft Entra ID P2 o Gobierno de Microsoft Entra ID
  • Un cliente de API, como Graph Explorer , ha iniciado sesión con una cuenta que tiene al menos el rol administrador de roles con privilegios
  • Un usuario de prueba habilitado para MFA con acceso a su aplicación Microsoft Authenticator
  • Permisos delegados:
    • Group.ReadWrite.All para crear el grupo
    • RoleManagement.ReadWrite.Directory para que el grupo sea asignable a roles y para configurar y administrar asignaciones de roles válidas y activas. Este permiso se debe conceder a todos los usuarios del inquilino.

Paso 1: Crear un grupo de seguridad asignable a roles

Asígnese como propietario del grupo y agréguese a usted mismo y al usuario de prueba como miembros.

Solicitud: Creación de un grupo asignable por roles

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

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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
}

Paso 2: Crear un unifiedRoleEligibilityScheduleRequest

Asigne el grupo de seguridad como apto para el rol Administrador de usuarios durante un año. Establezca el ámbito de la asignación apta a todo el inquilino. El ámbito de nivel de inquilino permite al administrador de usuarios administrar todos los usuarios del inquilino, excepto los usuarios con privilegios más altos, como los administradores globales.

Solicitud

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

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Paso 3: Confirmar las asignaciones de roles actuales del usuario

Los miembros del grupo ahora son aptos para el rol Administrador de usuarios, pero no pueden usar el rol hasta que lo activen. La siguiente solicitud confirma las asignaciones de roles activas existentes del usuario. La solicitud devuelve una colección vacía.

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

Paso 4: El usuario activa automáticamente su asignación apta

Un vale de incidente CONTOSO: Security-012345 requiere invalidar todos los tokens de actualización de empleados. Como miembro del departamento de soporte técnico de TI, Aline quiere resolver esta tarea.

Inicie la aplicación Authenticator en su teléfono y abra la cuenta de Aline Dupuy.

Inicie sesión en el Explorador de Graph como Aline. En la solicitud siguiente se muestra cómo activar el rol de administrador de usuarios durante cinco horas.

Solicitud

Para activar un rol, llame al punto de roleAssignmentScheduleRequests conexión. En esta solicitud, la UserActivate acción le permite activar la asignación apta.

  • Para principalId, proporcione el valor del identificador (de Aline).
  • RoleDefinitionId es el identificador del rol para el que es apto, en este caso, el rol administrador de usuarios.
  • Escriba los detalles del sistema de vales que proporciona una justificación auditable para activar la solicitud.
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"
    }
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Paso 5: Confirmar la asignación de roles

Para confirmar la asignación, ejecute la siguiente solicitud. El objeto de respuesta devuelve la asignación de roles recién activada con su estado establecido en o ProvisionedGranted. Con el nuevo privilegio, lleve a cabo las acciones permitidas en un plazo de cinco horas para las que esté activa la asignación. Después de cinco horas, la asignación activa expira, pero a través de su pertenencia al grupo De soporte técnico de TI (usuarios), es apto para el rol Administrador de usuarios.

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

Paso 6: Limpieza de recursos

Inicie sesión como administrador de roles con privilegios y elimine los recursos creados para este tutorial.

Revocación de la elegibilidad del rol para el grupo

Solicitud

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

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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 el grupo de soporte técnico de TI (usuarios)

La solicitud devuelve un código de respuesta 204 No Content.

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

Conclusión

En este tutorial, ha aprendido a administrar asignaciones de roles con privilegios en Microsoft Entra ID mediante las API de PIM.

  • En lugar de hacer que el grupo sea apto para el rol con privilegios, puede asignar un rol activo al grupo y hacer que los miembros sean aptos para el grupo mediante PIM para las API de grupos.
  • MFA era necesario para la activación de roles. Puede cambiar este requisito en Microsoft Entra configuración de roles.
  • También puede configurar:
    • Duración máxima permitida para la activación de roles.
    • Si se requiere información de justificación y vale para activar el rol.