Desencadenamiento de Logic Apps con extensiones personalizadas en la administración de derechos
Azure Logic Apps se puede usar para automatizar flujos de trabajo personalizados y conectar aplicaciones y servicios en un solo lugar. Los usuarios pueden integrar Logic Apps con la administración de derechos para ampliar sus flujos de trabajo de gobernanza más allá de los principales casos de uso de la administración de derechos.
Después, estas instancias de Logic Apps se pueden desencadenar para ejecutarse de acuerdo con los casos de uso de administración de derechos, como cuando se concede o solicita un paquete de acceso. Por ejemplo, un administrador podría crear y vincular una aplicación lógica personalizada a la administración de derechos para que cuando un usuario solicite un paquete de acceso, se desencadene una aplicación lógica que garantice que al usuario también se le asignen ciertas características en una aplicación SaaS de terceros (como Salesforce) o se le envíe un correo electrónico personalizado.
Los casos de uso de la administración de derechos que se pueden integrar con Logic Apps incluyen las siguientes fases. Estos son los desencadenadores asociados a un paquete de acceso que pueden iniciar la aplicación lógica de extensión personalizada:
Cuando se crea una solicitud de paquete de acceso.
Cuando se aprueba una solicitud de paquete de acceso.
Cuando se concede una asignación de paquetes de acceso.
Cuando se quita una asignación de paquetes de acceso.
14 días antes de que expire automáticamente una asignación de paquetes de acceso.
Un día antes de que expire automáticamente una asignación de paquetes de acceso.
Estos desencadenadores para Logic Apps se controlan en una pestaña dentro de las directivas de paquetes de acceso denominada Reglas. Además, en la pestaña Extensiones personalizadas de la página Catálogo, se muestran todas las extensiones de Logic Apps agregadas para un catálogo determinado. En este artículo se describe cómo crear y agregar aplicaciones lógicas a catálogos y a paquetes de acceso en la administración de derechos.
Requisitos de licencia
El uso de esta característica requiere licencias de Gobernanza de Microsoft Entra ID o Microsoft Entra Suite. Para encontrar la licencia adecuada para sus requisitos, consulte Aspectos básicos de las licencias gubernamentales de id. de Microsoft Entra.
Creación y adición de un flujo de trabajo de aplicación lógica a un catálogo para su uso en la administración de derechos
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 son el propietario del catálogo y el propietario del Grupo de recursos.
Vaya aGobernanza de identidades>Catálogos.
Seleccione el catálogo para el que quiera agregar una extensión personalizada y, luego, en el menú izquierdo, seleccione Extensiones personalizadas.
En la barra de navegación del encabezado, seleccione Agregar una extensión personalizada.
En la pestaña Datos básicos, escriba el nombre de la extensión personalizada, que debe ser el nombre la aplicación lógica que va a vincular, y una descripción del flujo de trabajo. Estos campos se muestran en la pestaña Extensiones personalizadas del catálogo.
En la pestaña Tipo de extensión, se define con qué tipo de directivas de paquetes de acceso puede usar la extensión personalizada. El tipo "Flujo de trabajo de solicitud" admite fases de directiva: se crea el paquete de acceso solicitado, cuando se aprueba la solicitud, cuando se concede la asignación y cuando se quita la asignación. Este tipo también admite las funcionalidades Iniciar y esperar.
El flujo de trabajo de expiración previa admite las fases de directiva: 14 días hasta la expiración de la asignación de paquetes de acceso y un día hasta la expiración de la asignación de paquetes de acceso. Este tipo de extensión no admite el comportamiento "Iniciar y esperar".
En la pestaña Configuración de la extensión, puede decidir si la extensión tiene el comportamiento "Iniciar y continuar" o "Iniciar y esperar". Con "Iniciar y continuar", la acción de la directiva vinculada en el paquete de acceso, como una solicitud, desencadena la aplicación lógica asociada a la extensión personalizada. Una vez desencadenada la aplicación lógica, el proceso de administración de derechos asociado al paquete de acceso continuará. En el caso del comportamiento "Iniciar y esperar", pausaremos la acción del paquete de acceso asociado hasta después de que la aplicación lógica vinculada a la extensión complete su tarea y el administrador envíe una acción de reanudación para continuar con el proceso. Si no se devuelve ninguna respuesta en el período de tiempo de espera definido, este proceso se considerará un error. Este proceso se describe en detalle en su propia sección Configuración de extensiones personalizadas que pausan los procesos de administración de derechos.
En la pestaña Detalles, elija si desea usar una aplicación lógica de plan de consumo existente. Al seleccionar Sí en el campo "Crear nueva aplicación lógica" (valor predeterminado), se crea una nueva aplicación lógica de plan de consumo en blanco que ya está vinculada a esta extensión personalizada. En cualquier caso, debe proporcionar lo siguiente:
Suscripción a Azure.
Un grupo de recursos que tenga permisos de creación de recursos de aplicación lógica si va a crear una nueva aplicación lógica.
Seleccione "Crear aplicación lógica" si usa ese valor.
Nota
Al crear una nueva aplicación lógica en este modal, la longitud de "/subscriptions/{SubscriptionId}/resourceGroups/{Nombre del grupo de recursos}/providers/Microsoft.Logic/workflows/{Nombre de la aplicación lógica}" no podrá superar los 150 caracteres.
En Revisar y crear, revise el resumen de la extensión personalizada y asegúrese de que los detalles de la llamada de la aplicación lógica son correctos. Seleccione Crear.
Esta extensión personalizada a la aplicación lógica vinculada aparece ahora en la pestaña Extensiones personalizadas en Catálogos. Podrá recurrir a esta extensión personalizada en las directivas de los paquetes de acceso.
Visualización y edición de extensiones personalizadas existentes para un catálogo
Vaya a la pestaña Extensiones personalizadas de un catálogo como se mencionó anteriormente como mínimo un administrador de Gobernanza de identidades.
Sugerencia
Otros roles con privilegios mínimos que pueden completar esta tarea incluyen el propietario del catálogo.
Aquí puede ver todas las extensiones personalizadas que ha creado, junto con la aplicación lógica asociada e información sobre el tipo de extensión personalizada.
Junto con el nombre de la aplicación lógica, la columna Tipo indica si la extensión personalizada se creó en el nuevo modelo de autenticación V2 (después del 17 de marzo de 2023) o en el modelo original. Si una extensión personalizada se creó en el nuevo modelo, la columna Tipo coincide con el tipo seleccionado del modal de configuración, que es "Solicitud de asignación" o "Expiración previa". En el caso de las extensiones personalizadas más antiguas, el tipo se muestra como "Paquete de acceso personalizado".
En la columna Seguridad de tokens, se muestra el marco de seguridad de autenticación asociado que se usa al crear la extensión personalizada. Las nuevas extensiones personalizadas V2 muestran "Prueba de posesión" (PoP) como tipo de seguridad de tokens. Las extensiones personalizadas más antiguas se muestran como "Normal".
Las extensiones personalizadas de estilo antiguo ya no se pueden crear desde la interfaz de usuario, pero las existentes se pueden convertir en extensiones personalizadas de estilo nuevo desde la interfaz de usuario.
Al seleccionar los tres puntos situados al final de la fila de una extensión personalizada antigua, puedes actualizar la extensión personalizada para convertirla rápidamente en una de tipo nuevo.
Nota
Las extensiones personalizadas solo se pueden convertir en extensiones de tipo nuevo si no están en uso o si están en uso exclusivamente para las fases de directiva de un tipo de extensión específico (fases de solicitud de asignación o fases de expiración previa).
También puede editar cualquier extensión personalizada. Esto le permite actualizar el nombre, la descripción y otros valores de campo. Para ello, seleccione Editar en el panel de tres puntos para cualquier extensión personalizada.
Las extensiones personalizadas de estilo antiguo se pueden seguir usando y editando incluso si no se convierten, aunque ya no se puedan crear.
Si no se puede actualizar una extensión personalizada de estilo antiguo para convertirla en una extensión de tipo nuevo porque se usa para fases de directiva (de los DOS tipos: solicitud de asignación y expiración previa), para poder actualizarla, deberá quitarla de todas las directivas vinculadas o asegurarse de que solo se use para las fases de directiva asociadas a UN tipo (solicitud de asignación o expiración previa).
Incorporación de una extensión personalizada a una directiva en un 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 realizar esta tarea son el Propietario del catálogo y el Administrador de paquetes de acceso.
Vaya a Gobernanza de la identidad>Administración de derechos>Paquete de acceso.
Seleccione el paquete de acceso al que quiere agregar una extensión personalizada (aplicación lógica) en la lista de paquetes de acceso que ya se han creado.
Nota:
Seleccione Nuevo paquete de acceso si quiere crear un nuevo paquete de acceso. Para más información sobre cómo crear un paquete de acceso, consulte Creación de un paquete de acceso en la administración de derechos. Para más información sobre cómo editar un paquete de acceso existente, consulte Configuración de solicitud de cambio de un paquete de acceso en la administración de derechos de Microsoft Entra.
Cambie a la pestaña de directivas, seleccione la directiva y luego Editar.
En la configuración de directiva, vaya a la pestaña Extensiones personalizadas.
En el menú de Fase, seleccione el evento de paquete de acceso que quiere usar como desencadenador de esta extensión personalizada (aplicación lógica). Por ejemplo, si solo quiere desencadenar el flujo de trabajo de aplicación lógica de extensión personalizada cuando un usuario solicite el paquete de acceso, seleccione Se ha creado la solicitud.
En el menú de Extensión personalizada, seleccione la extensión personalizada (aplicación lógica) que quiere agregar al paquete de acceso. La acción que seleccione se ejecuta cuando se produce el evento seleccionado en el campo cuándo.
Seleccione Actualizar para agregarla a la directiva de un paquete de acceso existente.
Edición de la definición del flujo de trabajo de una aplicación lógica vinculada
En el caso de las aplicaciones lógicas creadas recientemente y vinculadas a extensiones personalizadas, estas aplicaciones lógicas se inician en blanco. Para crear los flujos de trabajo en las aplicaciones lógicas que desencadenará la extensión cuando se desencadene la condición de la directiva de paquetes de acceso vinculada, debe editar la definición del flujo de trabajo de la aplicación lógica en el diseñador de aplicaciones lógicas. Para ello, debe seguir estos pasos:
Vaya a la pestaña Extensiones personalizadas de un catálogo como se mencionó antes como mínimo un administrador de Gobernanza de identidades.
Sugerencia
Otros roles con privilegios mínimos que pueden completar esta tarea incluyen el propietario del catálogo.
Seleccione la extensión personalizada para la que desea editar la aplicación lógica.
Seleccione la aplicación lógica en la columna Aplicación lógica para la fila de la extensión personalizada asociada. Esto le permite editar o crear el flujo de trabajo en el diseñador de aplicaciones lógicas.
Para obtener más información sobre la creación de flujos de trabajo de aplicaciones lógicas, consulte Inicio rápido: creación de un flujo de trabajo de consumo de ejemplo en Azure Logic Apps multiinquilino.
Configuración de extensiones personalizadas que pausan los procesos de administración de derechos
Una nueva actualización de la característica de extensiones personalizadas es la capacidad de pausar el proceso de la directiva de paquetes de acceso asociado a una extensión personalizada hasta después de que se complete la aplicación lógica y se devuelva una carga de solicitud de reanudación a la administración de derechos. Por ejemplo, si se desencadena una extensión personalizada para una aplicación lógica desde una directiva de concesión de paquete de acceso y se habilita el comportamiento "Iniciar y esperar", una vez que la aplicación lógica se desencadene, el proceso de concesión no se reanudará hasta que se complete la aplicación lógica y se devuelva una solicitud de reanudación a la administración de derechos.
Este proceso de pausa permite a los administradores tener el control de los flujos de trabajo que les gustaría ejecutar antes de continuar con las tareas del ciclo de vida de acceso en la administración de derechos. La única excepción a esto es un escenario de tiempo de espera agotado. Los procesos de inicio y espera requieren un tiempo de espera de hasta 14 días expresado en minutos, horas o días. Si una respuesta de reanudación no se devuelve a la administración de derechos antes de que transcurra el período de "tiempo de espera", el proceso de flujo de trabajo de la solicitud de administración de derechos se detendrá.
El administrador es responsable de configurar un proceso automatizado que sea capaz de enviar la carga útil de la API solicitud de reanudación de vuelta a la administración de derechos, una vez finalizado el flujo de trabajo de la aplicación lógica. Para devolver la carga de la solicitud de reanudación, siga las instrucciones que se indican en los documentos de Graph API. Consulte la información aquí sobre la solicitud de reanudación.
En concreto, cuando se habilita una directiva de paquete de acceso para llamar a una extensión personalizada y el procesamiento de solicitudes está esperando la devolución de llamada del cliente, el cliente puede iniciar una acción de reanudación. Se realiza en un objeto accessPackageAssignmentRequest cuyo valor de requestStatus se encuentra en un estado WaitingForCallback.
La solicitud de reanudación se puede devolver para las siguientes fases:
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestApproved
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestGranted
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestRemoved
En el diagrama de flujo siguiente se muestra la llamada de administración de derechos al flujo de trabajo de Logic Apps:
El diagrama de flujo muestra:
- El usuario crea un punto de conexión personalizado capaz de recibir la llamada desde el servicio de identidad
- El servicio de identidad realiza una llamada de prueba para confirmar que el servicio de identidad puede llamar al punto de conexión
- El usuario llama a Graph API para solicitar que agregue un usuario a un paquete de acceso
- El servicio de identidad se agrega a la cola que desencadena el flujo de trabajo de back-end
- El procesamiento de solicitudes del servicio de administración de derechos llama a la aplicación lógica con la carga de la solicitud
- El flujo de trabajo espera el código aceptado
- El servicio de administración de derechos espera a que se reanude la acción personalizada de bloqueo
- El sistema del cliente llama a la API de reanudación de solicitudes para que el servicio de identidad reanude el procesamiento de la solicitud
- El servicio de identidad agrega el mensaje de solicitud de reanudación a la cola del servicio de administración de derechos que reanuda el flujo de trabajo de back-end
- El servicio de administración de derechos se reanuda desde el estado bloqueado
Un ejemplo de una carga de solicitud de reanudación es:
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "assignmentRequestCreated",
"customExtensionStageInstanceId": "957d0c50-466b-4840-bb5b-c92cea7141ff",
"customExtensionStageInstanceDetail": "This user is all verified"
}
}
Con el comportamiento "Iniciar y esperar", los administradores también tienen la capacidad de denegar una solicitud si la extensión está vinculada a las fases del paquete de acceso "Se ha creado la solicitud" o "Se ha aprobado la solicitud". En estos casos, la aplicación lógica puede devolver un mensaje "denegar" a la administración de derechos, lo que finaliza el proceso antes de que el usuario final reciba el paquete de acceso.
Como se mencionó, las extensiones personalizadas creadas con el tipo de flujo de trabajo de solicitud, que incluye cuatro fases de directiva asociadas, se pueden habilitar con el comportamiento "Iniciar y esperar" si lo desea.
A continuación se muestra un ejemplo para reanudar el procesamiento de una solicitud de asignación de paquetes de acceso mediante la denegación de la solicitud que está esperando una devolución de llamada. No se puede denegar una solicitud en la fase assignmentRequestCreated de la llamada.
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/9e60f18c-b2a0-4887-9da8-da2e30a39d99/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "AssignmentRequestCreated",
"customExtensionStageInstanceId": "857d0c50-466b-4840-bb5b-c92cea7141ff",
"state": "denied",
"customExtensionStageInstanceDetail": "Potential risk user based on the SOD check"
}
}
Experiencia del usuario final de la extensión
Experiencia del aprobador
Un aprobador verá la cadena especificada en la carga de solicitud de reanudación en customExtensionStageInstanceDetail
tal y como se muestra en la carga que se encuentra en Configuración de extensiones personalizadas que pausan los procesos de administración de derechos.
Experiencia del solicitante
Cuando un paquete de acceso tenga una extensión personalizada con la funcionalidad de inicio y espera, y la aplicación lógica se desencadene cuando se cree la solicitud de paquete de acceso, los solicitantes podrán ver su estado de solicitud en el historial de solicitudes de MyAccess.
Las siguientes actualizaciones de estado se muestran a los usuarios en función de su fase de extensión personalizada:
Fase de extensión personalizada | Mensaje que se muestra al solicitante en el historial de solicitudes de MyAccess |
---|---|
Cuando se procese la extensión | Esperar información antes de continuar |
Cuando se produzca un error en la extensión | Proceso expirado |
Cuando se reanude la extensión | El proceso continúa |
Este es un ejemplo de un historial de solicitudes de MyAccess de un solicitante después de que se reanude la extensión:
Solución de problemas y validación
En el caso de las extensiones personalizadas asociadas a una solicitud, puede ver detalles sobre el proceso de las extensiones personalizadas (y de inicio y espera si este comportamiento está habilitado) desde el vínculo Detalles del historial de solicitudes en la página de detalles de solicitud del paquete de acceso asociado.
Por ejemplo, aquí puede ver la hora en que se envió la solicitud y la hora en que se inició el proceso de inicio y espera (en espera de la devolución de llamada). La solicitud se aprobó, y la fase de administración de derechos "se reanudó", una vez ejecutada la aplicación lógica y la solicitud de reanudación se devolvió a las 12:15.
Además, un nuevo vínculo de instancias de extensiones personalizadas en los detalles de solicitud muestra información sobre la extensión personalizada asociada al paquete de acceso para la solicitud.
Se muestra el identificador y el estado de la extensión personalizada. Esta información cambia en función de si hay una devolución de llamada de inicio y espera asociada.
Para comprobar si la extensión personalizada ha desencadenado correctamente la aplicación lógica asociada, también puede ver los registros de la aplicación lógica, que tienen una marca de tiempo de cuándo se ejecutó por última vez la aplicación lógica.