Consulta, adición y eliminación de asignaciones para un paquete de acceso en la administración de derechos

En la administración de derechos, puede ver a quién se han asignado paquetes de acceso, su directiva, su estado y el ciclo de vida del usuario (versión preliminar). Si un paquete de acceso tiene una directiva adecuada, también puede asignar directamente al usuario un paquete de acceso. En este artículo se explica cómo consultar, agregar y eliminar asignaciones en paquetes de acceso.

Prerrequisitos

Para usar la administración de derechos y asignar usuarios a los paquetes de acceso, debe tener una de las licencias siguientes:

  • Microsoft Entra ID P2
  • Licencia de Enterprise Mobility + Security (EMS) E5
  • Suscripción a Microsoft Entra ID Governance

Ver quién tiene una asignación

Sugerencia

Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.

Roles requeridos previamente: Administrador global, Administrador de Identity Governance, Propietario del catálogo, Administrador de paquetes de acceso o Administrador de asignaciones de paquetes de acceso

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.

  2. Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.

  3. En la página Paquetes de acceso, abra un paquete de acceso.

  4. Seleccione Asignaciones para ver una lista de las asignaciones activas.

    List of assignments to an access package

  5. Seleccione una asignación específica para ver más detalles.

  6. Para ver una lista de asignaciones que no tenían aprovisionados correctamente todos los roles de recursos, seleccione el filtro de estado y, después, seleccione Entrega.

    Puede ver detalles adicionales sobre los errores de entrega localizando la solicitud del usuario correspondiente en la página Solicitudes.

  7. Para ver las asignaciones expiradas, seleccione el filtro de estado y, después, seleccione Expiradas.

  8. Para descargar un archivo CSV de la lista filtrada, seleccione Descargar.

Visualización de asignaciones mediante programación

Visualización de asignaciones con Microsoft Graph

También puede recuperar las asignaciones de un paquete de acceso mediante Microsoft Graph. Un usuario de un rol adecuado con una aplicación con el permiso delegado EntitlementManagement.Read.All o EntitlementManagement.ReadWrite.All puede llamar a la API para enumerar elementos accessPackageAssignments. Una aplicación que tenga el permiso de aplicación EntitlementManagement.Read.All o EntitlementManagement.ReadWrite.All también puede usar esta API para recuperar asignaciones de todos los catálogos.

Microsoft Graph devolverá los resultados en las páginas y seguirá devolviendo una referencia a la siguiente página de resultados en la propiedad @odata.nextLink con cada respuesta, hasta que se hayan leído todas las páginas de los resultados. Para leer todos los resultados, es necesario seguir llamando a Microsoft Graph con la propiedad @odata.nextLink devuelta en cada respuesta hasta que la propiedad @odata.nextLink ya no se sea devuelta, tal y como se describe en paginación de datos de Microsoft Graph en la aplicación.

Aunque un administrador de gobernanza de identidades puede recuperar paquetes de acceso de varios catálogos, si el usuario o la entidad de servicio de aplicaciones solo se asigna a roles administrativos delegados específicos del catálogo, la solicitud debe proporcionar un filtro para indicar un paquete de acceso específico, como $filter=accessPackage/id eq 'a914b616-e04e-476b-aa37-91038f0b165b'.

Visualización de asignaciones con PowerShell

También puede recuperar asignaciones a un paquete de acceso en PowerShell con el cmdlet Get-MgEntitlementManagementAssignment del módulo de cmdlets de Microsoft Graph PowerShell para Identity Governance, versión 2.1.x o posterior. Este script muestra el uso del módulo de cmdlets de Microsoft Graph PowerShell, versión 2.4.0, para recuperar todas las asignaciones a un paquete de acceso determinado. Este cmdlet toma como parámetro el id. del paquete de acceso, que se incluye en la respuesta del cmdlet Get-MgEntitlementManagementAccessPackage. Cuando utilice el cmdlet Get-MgEntitlementManagementAccessPackage, asegúrese de incluir la marca -All para que se devuelvan todas las páginas de asignaciones.

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$assignments = @(Get-MgEntitlementManagementAssignment -AccessPackageId $accesspackage.Id -ExpandProperty target -All -ErrorAction Stop)
$assignments | ft Id,state,{$_.Target.id},{$_.Target.displayName}

La consulta anterior devuelve las asignaciones caducadas y entregadas, así como las asignaciones entregadas. Si desea excluir las asignaciones expiradas o en proceso de entrega, puede usar un filtro que incluya el id. del paquete de acceso, así como el estado de las asignaciones. Este script ilustra el uso de un filtro para recuperar solo las asignaciones con el estado Delivered para un paquete de acceso determinado. El script generará entonces un archivo .csv (assignments.csv), con una fila por asignación.

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$accesspackageId = $accesspackage.Id
$filter = "accessPackage/id eq '" + $accesspackageId + "' and state eq 'Delivered'"
$assignments = @(Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -All -ErrorAction Stop)
$sp = $assignments | select-object -Property Id,{$_.Target.id},{$_.Target.ObjectId},{$_.Target.DisplayName},{$_.Target.PrincipalName}
$sp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path ".\assignments.csv"

Asignar directamente un usuario

En algunos casos, es posible que quiera asignar directamente usuarios específicos a un paquete de acceso para que los usuarios no tengan que pasar por el proceso de solicitar el paquete de acceso. Para asignar directamente usuarios, el paquete de acceso debe tener una directiva que permita las asignaciones directas de administrador.

Requisitos previos de rol: Administrador global, Administrador de Identity Governance, Propietario de catálogo, Administrador de paquetes de acceso o Administrador de asignaciones de paquetes de acceso

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.

  2. Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.

  3. En la página Paquetes de acceso, abra un paquete de acceso.

  4. En el menú de la izquierda, seleccione Asignaciones.

  5. Seleccione Nueva asignación para abrir Agregar usuario al paquete de acceso.

    Assignments - Add user to access package

  6. En la lista Seleccionar directiva, seleccione una directiva por la que se regirán y se realizará un seguimiento de las solicitudes y el ciclo de vida futuros de los usuarios. Si desea que los usuarios seleccionados tengan una configuración de la directiva diferente, puede seleccionar Crear nueva directiva para agregar una nueva directiva.

  7. Una vez que seleccione una directiva, podrá agregar usuarios para seleccionar aquellos a los que quiere asignar este paquete de acceso, en la directiva elegida.

    Nota:

    Si selecciona una directiva con preguntas, solo puede asignar un usuario a la vez.

  8. Establezca la fecha y hora en la que quiere que comience y finalice la asignación de los usuarios seleccionados. Si no se proporciona una fecha de finalización, se utilizará la configuración del ciclo de vida de la directiva.

  9. Opcionalmente, proporcione una justificación para la asignación directa para mantener un registro.

  10. Si la directiva seleccionada incluye información adicional del solicitante, seleccione Ver preguntas para responderlas en nombre de los usuarios y, a continuación, seleccione Guardar.

    Assignments - click view questions

    Assignments - questions pane

  11. Seleccione Agregar para asignar directamente los usuarios seleccionados al paquete acceso.

    Transcurridos unos instantes, seleccione Actualizar para ver los usuarios en la lista Asignaciones.

Nota:

Al asignar usuarios a un paquete de acceso, los administradores tendrán que comprobar que los usuarios cumplen los requisitos de la directiva existente para ese paquete de acceso. De lo contrario, los usuarios no se podrán asignar correctamente al paquete de acceso. Si el paquete de acceso contiene una directiva que requiere que la aprobación de las solicitudes de usuario, no se podrán asignar usuarios directamente al paquete sin las aprobaciones necesarias de los aprobadores designados.

Asignación directa de cualquier usuario (versión preliminar)

La administración de derechos también permite asignar directamente usuarios externos a un paquete de acceso a fin de facilitar la colaboración con los asociados. Para ello, el paquete de acceso debe tener una directiva que permita a los usuarios que aún no están en el directorio solicitar acceso.

Requisitos previos de rol: Administrador global, Administrador de Identity Governance, Propietario de catálogo, Administrador de paquetes de acceso o Administrador de asignaciones de paquetes de acceso

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.

  2. Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.

  3. En la página Paquetes de acceso, abra un paquete de acceso.

  4. En el menú de la izquierda, seleccione Asignaciones.

  5. Seleccione Nueva asignación para abrir Agregar usuario al paquete de acceso.

  6. En la lista Seleccionar directiva, seleccione una directiva que permita que se establezca en Para los usuarios que no están en el directorio.

  7. Seleccione Cualquier usuario. Podrá especificar qué usuarios desea asignar a este paquete de acceso. Assignments - Add any user to access package

  8. Escriba el nombre (opcional) y la dirección de correo electrónico (obligatoria) del usuario.

    Nota:

    • El usuario que desea agregar debe estar dentro del ámbito de la directiva. Por ejemplo, si la directiva está establecida en Organizaciones conectadas específicas, la dirección de correo electrónico del usuario debe ser de los dominios de las organizaciones seleccionadas. Si la dirección de correo electrónico del usuario que intenta agrega es jen@foo.com, pero el dominio de la organización seleccionada es bar.com, no podrá agregar ese usuario al paquete de acceso.
    • Del mismo modo, si estableció la directiva para incluir Todas las organizaciones conectadas que están configuradas, la dirección de correo electrónico del usuario debe provenir de una de las organizaciones conectadas configuradas. De lo contrario, el usuario no se agregará al paquete de acceso.
    • Si desea agregar cualquier usuario al paquete de acceso, deberá asegurarse de activar la opción Todos los usuarios (todas las organizaciones conectadas + cualquier usuario externo) al configurar la directiva.
  9. Establezca la fecha y hora en la que quiere que comience y finalice la asignación de los usuarios seleccionados. Si no se proporciona una fecha de finalización, se utilizará la configuración del ciclo de vida de la directiva.

  10. Seleccione Agregar para asignar directamente los usuarios seleccionados al paquete acceso.

  11. Transcurridos unos instantes, seleccione Actualizar para ver los usuarios en la lista Asignaciones.

Asignación de usuarios directamente mediante programación

Asignación de un usuario a un paquete de acceso con Microsoft Graph

También puede asignar un usuario directamente a un paquete de acceso mediante Microsoft Graph. Un usuario de un rol adecuado con una aplicación con el permiso EntitlementManagement.ReadWrite.All delegado, o una aplicación con el permiso de aplicación EntitlementManagement.ReadWrite.All, puede llamar a la API para crear un elemento accessPackageAssignmentRequest. En esta solicitud, el valor de la propiedad requestType debe ser adminAdd, y la propiedad assignment es una estructura que contiene el targetId del usuario que se está asignando.

Asignación de un usuario a un paquete de acceso con PowerShell

Puede asignar un usuario a un paquete de acceso en PowerShell con el cmdlet New-MgEntitlementManagementAssignmentRequest de los cmdlets de PowerShell de Microsoft Graph para el módulo Identity Governance versión 2.1.x o posterior. Este script muestra el uso del módulo de los cmdlets de PowerShell de Microsoft Graph versión 2.4.0.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentpolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$userid = "cdbdf152-82ce-479c-b5b8-df90f561d5c7"
$params = @{
   requestType = "adminAdd"
   assignment = @{
      targetId = $userid
      assignmentPolicyId = $policy.Id
      accessPackageId = $accesspackage.Id
   }
}
New-MgEntitlementManagementAssignmentRequest -BodyParameter $params

Puede también asignar múltiples usuarios que están en su directorio a un paquete de acceso mediante PowerShell con el cmdlet New-MgBetaEntitlementManagementAccessPackageAssignment de los cmdlets de PowerShell de Microsoft Graph para el módulo Identity Governance, versión 2.4.0 o posterior. Este cmdlet toma como parámetros

  • el id. del paquete de acceso, que se incluye en la respuesta del cmdlet Get-MgEntitlementManagementAccessPackage,
  • el ID. de la directiva de asignación del paquete de acceso, que se incluye en el campo assignmentpolicies de la respuesta del cmdlet Get-MgEntitlementManagementAccessPackage,
  • los id. de objeto de los usuarios de destino, ya sea como una matriz de cadenas, o como una lista de miembros de usuario devueltos por el cmdlet Get-MgGroupMember.

Por ejemplo, si desea asegurarse de que todos los usuarios que actualmente son miembros de un grupo también tienen asignaciones a un paquete de acceso, puede usar este cmdlet para crear solicitudes para los usuarios que no tienen asignaciones actualmente. Tenga en cuenta que este cmdlet solo creará asignaciones; no quita las asignaciones de los usuarios que ya no son miembros de un grupo.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All,Directory.Read.All"
$members = @(Get-MgGroupMember -GroupId "a34abd69-6bf8-4abd-ab6b-78218b77dc15" -All)

$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignment -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -RequiredGroupMember $members

Si desea agregar una asignación para un usuario que aún no está en su directorio, puede utilizar el New-MgBetaEntitlementManagementAccessPackageAssignmentRequestcmdlet de los cmdlets de PowerShell de Microsoft Graph para el módulo beta de Identity Governance versión 2.1.x o posterior. Este script muestra el uso del perfil beta de Graph y los cmdlets de PowerShell de Microsoft Graph, versión 2.4.0.x.x. Este cmdlet toma como parámetros

  • el id. del paquete de acceso, que se incluye en la respuesta del cmdlet Get-MgEntitlementManagementAccessPackage,
  • el ID. de la directiva de asignación del paquete de acceso, que se incluye en el campo assignmentpolicies de la respuesta del cmdlet Get-MgEntitlementManagementAccessPackage,
  • la dirección de correo electrónico del usuario de destino.
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignmentRequest -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -TargetEmail "sample@example.com"

Configuración de la asignación de acceso como parte de un flujo de trabajo de ciclo de vida

En la característica Flujos de trabajo de ciclo de vida de Microsoft Entra, puede agregar una tarea de solicitud de asignación de paquetes de acceso de usuario a un flujo de trabajo de incorporación. La tarea puede especificar un paquete de acceso que los usuarios deben tener. Cuando el flujo de trabajo se ejecuta para un usuario, se creará automáticamente una solicitud de asignación de paquete de acceso.

  1. Inicie sesión en Centro de administración de Microsoft Entra como administrador global.

  2. Vaya aGobernanza de la identidad> Flujos de trabajo de ciclo de vida>Flujos de trabajo.

  3. Seleccione un flujo de trabajo de incorporación o traslado de empleados.

  4. Seleccione Tareas y después Agregar tarea.

  5. Seleccione Solicitar asignación de paquetes de acceso de usuario y después Agregar.

  6. Seleccione la tarea recién agregada.

  7. Seleccione Seleccionar paquete de acceso y elija el paquete de acceso al que se deben asignar los usuarios nuevos o trasladados.

  8. Seleccione Seleccionar directiva y elija la directiva de asignación de paquetes de acceso en ese paquete de acceso.

  9. Seleccione Guardar.

Eliminación de una asignación

Puede quitar una asignación que un usuario o un administrador habían solicitado anteriormente.

Requisitos previos de rol: Administrador global, Administrador de Identity Governance, Propietario de catálogo, Administrador de paquetes de acceso o Administrador de asignaciones de paquetes de acceso

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.

  2. Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.

  3. En la página Paquetes de acceso, abra un paquete de acceso.

  4. En el menú de la izquierda, seleccione Asignaciones.

  5. Seleccione la casilla que hay al lado del usuario cuya asignación desea quitar del paquete de acceso.

  6. Seleccione el botón Quitar situado cerca de la parte superior del panel izquierdo.

    Assignments - Remove user from access package

    Aparecerá una notificación que le informará de que se ha quitado la asignación.

Quitar una asignación mediante programación

Quitar una asignación con Microsoft Graph

También puede quitar una asignación de un usuario a un paquete de acceso mediante Microsoft Graph. Un usuario de un rol adecuado con una aplicación con el permiso EntitlementManagement.ReadWrite.All delegado, o una aplicación con el permiso de aplicación EntitlementManagement.ReadWrite.All, puede llamar a la API para crear un elemento accessPackageAssignmentRequest. En esta solicitud, el valor de la propiedad requestType debe ser adminRemove, y la propiedad assignment es una estructura que contiene la propiedad id que identifica el accessPackageAssignment que se está quitando.

Quitar una asignación con PowerShell

Puede quitar la asignación a un usuario en PowerShell con el cmdlet New-MgEntitlementManagementAssignmentRequest de los cmdlets de PowerShell de Microsoft Graph para el módulo Identity Governance versión 2.1.x o posterior. Este script muestra el uso del módulo de los cmdlets de PowerShell de Microsoft Graph versión 2.4.0.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accessPackageId = "9f573551-f8e2-48f4-bf48-06efbb37c7b8"
$userId = "040a792f-4c5f-4395-902f-f0d9d192ab2c"
$filter = "accessPackage/Id eq '" + $accessPackageId + "' and state eq 'Delivered' and target/objectId eq '" + $userId + "'"
$assignment = Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -all -ErrorAction stop
if ($assignment -ne $null) {
   $params = @{
      requestType = "adminRemove"
      assignment = @{ id = $assignment.id }
   }
   New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
}

Configuración de la eliminación de asignación como parte de un flujo de trabajo de ciclo de vida

En la característica Flujos de trabajo de ciclo de vida de Microsoft Entra, puede agregar una tarea de eliminación de asignación de paquetes de acceso de usuario a un flujo de trabajo de incorporación. Esa tarea puede especificar un paquete de acceso al que se podría asignar el usuario. Cuando el flujo de trabajo se ejecuta para un usuario, se eliminará automáticamente su asignación de paquete de acceso.

  1. Inicie sesión en Centro de administración de Microsoft Entra como administrador global.

  2. Vaya aGobernanza de la identidad> Flujos de trabajo de ciclo de vida>Flujos de trabajo.

  3. Seleccione un flujo de trabajo de incorporación de empleados.

  4. Seleccione Tareas y después Agregar tarea.

  5. Seleccione Quitar asignación de paquetes de acceso para el usuario y después Agregar.

  6. Seleccione la tarea recién agregada.

  7. Seleccione Seleccionar paquetes de acceso y elija uno o varios paquetes de acceso de los que se deben quitar los usuarios que se van a incorporar.

  8. Seleccione Guardar.

Pasos siguientes