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.
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.
Sugerencia
Otros roles con privilegios mínimos que pueden completar esta tarea incluyen el propietario del catálogo, el administrador de paquetes de acceso y el administrador de asignación de paquetes de acceso.
Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.
En la página Paquetes de acceso, abra un paquete de acceso.
Seleccione Asignaciones para ver una lista de las asignaciones activas.
Seleccione una asignación específica para ver más detalles.
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.
Para ver más detalles sobre los errores de entrega, busque la solicitud correspondiente del usuario en la página Solicitudes.
Para ver las asignaciones expiradas, seleccione el filtro de estado y, después, seleccione Expiradas.
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 lean 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 '00001111-aaaa-2222-bbbb-3333cccc4444'
.
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, junto a 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 y 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.
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.
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.
Sugerencia
Otros roles con privilegios mínimos que pueden completar esta tarea incluyen el propietario del catálogo, el administrador de paquetes de acceso y el administrador de asignación de paquetes de acceso.
Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.
En la página Paquetes de acceso, abra un paquete de acceso.
En el menú de la izquierda, seleccione Asignaciones.
Seleccione Nueva asignación para abrir Agregar usuario al paquete de acceso.
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.
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.
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.
Opcionalmente, proporcione una justificación para la asignación directa para mantener un registro.
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.
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:
Los administradores de asignación de paquetes de acceso ya no podrán omitir la configuración de aprobación si la directiva requiere aprobación. Esto significa que los usuarios no se pueden asignar directamente al paquete sin las aprobaciones necesarias desde los aprobadores designados. En caso de que necesite omitir la aprobación, se recomienda crear una segunda directiva en el paquete de acceso que no requiera aprobación y que solo esté en el ámbito de los usuarios que necesitan acceso.
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.
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.
Sugerencia
Otros roles con privilegios mínimos que pueden completar esta tarea incluyen el propietario del catálogo, el administrador de paquetes de acceso y el administrador de asignación de paquetes de acceso.
Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.
En la página Paquetes de acceso, abra un paquete de acceso.
En el menú de la izquierda, seleccione Asignaciones.
Seleccione Nueva asignación para abrir Agregar usuario al paquete de acceso.
En la lista Seleccionar directiva, seleccione una directiva que permita que se establezca en Para los usuarios que no están en el directorio.
Seleccione Cualquier usuario. Podrá especificar qué usuarios desea asignar a este paquete de acceso.
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.
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.
Seleccione Agregar para asignar directamente los usuarios seleccionados al paquete acceso.
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 = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$params = @{
requestType = "adminAdd"
assignment = @{
targetId = $userid
assignmentPolicyId = $policy.Id
accessPackageId = $accesspackage.Id
}
}
New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
También puedes rellenar las asignaciones de colecciones existentes de usuarios en el directorio, incluyendo las asignadas a una aplicación o enumeradas en un archivo de texto. Para obtener más información, consulta Incorporación de asignaciones de usuarios existentes que ya tienen acceso a la aplicación y Incorporación de asignaciones para los usuarios adicionales que deban tener acceso a la aplicación.
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 cmdletGet-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. Este cmdlet solo creará asignaciones; no quita las asignaciones de los usuarios que ya no son miembros de un grupo. Si deseas que las asignaciones de un paquete de acceso realicen un seguimiento de la pertenencia de un grupo y agreguen y quiten asignaciones a lo largo del tiempo, usa en su lugar una directiva de asignación automática.
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-MgBetaEntitlementManagementAccessPackageAssignmentRequest
cmdlet 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 Microsoft Graph y los cmdlets de PowerShell de Microsoft Graph, versión 2.4.0. 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 cmdletGet-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 crea automáticamente una solicitud de asignación de paquete de acceso.
Inicie sesión en el Centro de administración de Microsoft Entra con al menos los roles Administrador de gobernanza de identidades y Administrador de flujos de trabajo de ciclo de vida.
Vaya aGobernanza de la identidad> Flujos de trabajo de ciclo de vida>Flujos de trabajo.
Seleccione un flujo de trabajo de incorporación o traslado de empleados.
Seleccione Tareas y después Agregar tarea.
Seleccione Solicitar asignación de paquetes de acceso de usuario y después Agregar.
Seleccione la tarea recién agregada.
Seleccione Seleccionar paquete de acceso y elija el paquete de acceso al que se deben asignar los usuarios nuevos o trasladados.
Seleccione Seleccionar directiva y elija la directiva de asignación de paquetes de acceso en ese paquete de acceso.
Seleccione Guardar.
Eliminación de una asignación
Puede quitar una asignación que un usuario o un administrador habían solicitado anteriormente.
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de Identity Governance.
Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.
En la página Paquetes de acceso, abra un paquete de acceso.
En el menú de la izquierda, seleccione Asignaciones.
Seleccione la casilla que hay al lado del usuario cuya asignación desea quitar del paquete de acceso.
Seleccione el botón Quitar situado cerca de la parte superior del panel izquierdo.
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 = "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
$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 elimina automáticamente su asignación de paquete de acceso.
Inicie sesión en el Centro de administración de Microsoft Entra con al menos los roles Administrador de gobernanza de identidades y Administrador de flujos de trabajo de ciclo de vida.
Vaya aGobernanza de la identidad> Flujos de trabajo de ciclo de vida>Flujos de trabajo.
Seleccione un flujo de trabajo de incorporación de empleados.
Seleccione Tareas y después Agregar tarea.
Seleccione Quitar asignación de paquetes de acceso para el usuario y después Agregar.
Seleccione la tarea recién agregada.
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.
Seleccione Guardar.