Compartir a través de


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

Privileged Identity Management (PIM) permite a las organizaciones administrar el acceso administrativo a los recursos de Microsoft Entra ID. El acceso administrativo puede ser a través de grupos asignables por roles o roles de Microsoft Entra. PIM ayuda a administrar los riesgos del acceso con privilegios limitando cuando el acceso está activo, administrando el ámbito de acceso y proporcionando un registro auditable de acceso con privilegios.

Contoso quiere asignar roles administrativos a entidades de seguridad mediante grupos de seguridad. La empresa asigna la idoneidad en lugar de roles administrativos activos de forma persistente. Este método es eficaz de las siguientes maneras:

  • Quitar los miembros existentes o agregar más miembros del grupo también quita a los administradores.
  • Los miembros del grupo heredan la asignación de roles apta. Puede asignar más roles a un grupo en lugar de asignar roles directamente a usuarios individuales.
  • La asignación de la idoneidad en lugar de un privilegio de administrador de usuarios activo de forma persistente permite a la empresa aplicar el acceso Just-In-Time, que concede permisos temporales para llevar a cabo las tareas con privilegios. Cuando un miembro del grupo necesita usar los privilegios, activa su asignación durante un período temporal. La empresa puede auditar todos los registros de activaciones de roles.

En este tutorial, aprenderá a:

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

Requisitos previos

Para completar este tutorial, necesita los siguientes recursos y privilegios:

  • Un inquilino de Microsoft Entra en funcionamiento con una licencia Microsoft Entra ID P2 o Gobierno de Microsoft Entra ID habilitada.
  • Inicie sesión en un cliente de API, como Graph Explorer , para llamar a Microsoft Graph con una cuenta que tenga al menos el rol administrador de roles con privilegios .
    • [Opcional] Inicie una nueva sesión anónima en otro explorador. Inicie sesión más adelante en este tutorial. Un usuario de prueba que está habilitado para MFA y tiene acceso a su cuenta de aplicación Microsoft Authenticator.
  • Concédese los siguientes permisos delegados: Group.ReadWrite.All, Directory.Read.All, RoleEligibilitySchedule.ReadWrite.Directoryy RoleAssignmentSchedule.ReadWrite.Directoryy RoleManagement.ReadWrite.Directory.

Paso 1: Create un grupo de seguridad asignable a roles

Asígnese como propietario del grupo y tanto usted como el usuario de prueba como miembros.

Solicitud: Create un grupo asignable a 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/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"
    ]
}

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",
    "@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": []
}

Paso 2: Create unifiedRoleEligibilityScheduleRequest

Ahora que tiene un grupo de seguridad asignable a roles, asígnelo como apto para el rol Administrador de usuarios durante un año. Establezca el ámbito de la asignación apta a todo el inquilino. Este ámbito de nivel de inquilino permite al administrador de usuarios usar sus privilegios en todos los usuarios del inquilino, excepto en los usuarios con privilegios más altos, como el administrador global.

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": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "scheduleInfo": {
        "startDateTime": "2021-07-01T00:00:00Z",
        "expiration": {
            "endDateTime": "2022-06-30T00: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": "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": {}
}

Paso 3: Confirmar las asignaciones de roles actuales del usuario

Aunque los miembros del grupo ahora son aptos para el rol Administrador de usuarios, siguen sin poder usar el rol a menos que activen explícitamente el rol. Puede confirmar comprobando las asignaciones de roles actuales del usuario.

Solicitud

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

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/roleAssignments",
    "value": []
}

El objeto de respuesta vacío muestra que el usuario no tiene roles de Microsoft Entra existentes en Contoso. El usuario activará ahora su rol de administrador de usuarios válido durante un tiempo limitado.

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

Un vale de incidente CONTOSO: Security-012345 se ha generado en el sistema de administración de incidentes de Contoso y la empresa requiere que se invalide todos los tokens de actualización de los empleados. Como miembro del departamento de soporte técnico de TI, Aline es responsable de cumplir esta tarea.

En primer lugar, inicie la aplicación Authenticator en el teléfono y abra la cuenta de Aline Dupuy.

Inicie sesión en el Explorador de Graph como Aline. Puede usar otro explorador para este paso. Al hacerlo, no interrumpirá la sesión actual. Como alternativa, puede interrumpir la sesión actual si sale del Explorador de Graph y vuelve a iniciar sesión como Aline.

Después de iniciar sesión, active el rol 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": "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"
    }
}

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

Puede confirmar la asignación ejecutando GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal'). El objeto de respuesta devuelve la asignación de roles recién activada con su estado establecido en Granted. 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.

Paso 6: Limpieza de recursos

Inicie sesión como administrador de roles con privilegios y elimine los siguientes recursos que ha creado para este tutorial: la solicitud de idoneidad de roles y el grupo de soporte técnico de TI (usuarios).

Revocación de la solicitud de elegibilidad del rol

Solicitud

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

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

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/e77cbb23-0ff2-4e18-819c-690f58269752

Conclusión

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

  • Aunque ha hecho que el grupo sea apto para el rol administrativo, también puede asignar un rol activo al grupo y hacer que los miembros sean aptos para el grupo. En este escenario, use PIM para las API de grupos.
  • El usuario de prueba necesitaba MFA para activar su rol. Este requisito forma parte de la configuración del rol de Microsoft Entra y puede cambiar las reglas para que no requieran MFA.
  • Como parte de las reglas configurables, también puede configurar los siguientes valores:
    • Limite la duración máxima permitida para la activación del rol.
    • Requerir o no requerir justificación e información de vales para activar el rol.