Autenticación con PingFederate

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Definición de Seguridad > Seguridad del Portal de Trabajo > Autenticación > Autenticación con SAML >

Autenticación con PingFederate

Introducción

Bizagi soporta integración con sistemas de administración de identidad y accesos que cumplen con SAML 2.0, como PingFederate.

Esta sección es una guía paso a paso de la configuración necesaria, tanto en PingFederate como en Bizagi, para tener una autenticación intregrada en Bizagi contra PingFederate.

 

SAML_PingF_OV

 

Nótese que para usar SAML 2.0, se requiere que tanto su IdP como proyecto de Bizagi, estén configurados para soportar HTTPS.

Para información introductoria sobre SAML 2.0, refiérase a Autenticación con SAML.

 

 

note_pin

Si planea utilizar un método de autenticación diferente a Bizagi y está realizando un deployment a un ambiente que no tiene información de usuarios (normalmente es el caso en el primer deployment de un proyecto), siga estos pasos para que pueda configurar adecuadamente sus usuarios y autenticación sin tener problemas para acceder al Portal de Trabajo:

1.Haga el deployment con el método de autenticación establecido como Bizagi. Esto le permite acceder al Portal de Trabajo con el usuario Admon sin proveer credenciales.

2.Una vez haya ingresado al Portal de Trabajo, ingrese manualmente sus usuarios o alternativamente puede utilizar en el método de su elección para sincronizar la información de sus usuarios a la tabla WFUser (SOAP, Sincronización LDAP, Archivo de Excel, o haciendo un procedimiento de sincronización de datos.

3.Haga un IISRESET para que el usuario Admon no pueda acceder al Portal de Trabajo.

4.Después de tener sus usuarios registrados en el Portal de Trabajo, use el Management Console para establecer el método de autenticación al que prefiera y se adecue a sus necesidades.

 

Si planea usar autenticación LDAP con sincronización periódica de usuarios, puede ignore los pasos anteriores dado que solo necesitará esperar a que ocurra la siguiente sincronización para que sus usuarios puedan acceder el Portal de Trabajo.

 

 

Prerrequisitos

Para configurar PingFederate, como con cualquier IdP que soporte SAML 2.0, usted necesitará:

 

1. Tener certificados previamente instalados y generados propios.

Dichos certificados se usan en la integración con el propósito de firmar aserciones.

Este paso no depende de Bizagi y no está restringido por ningún requerimiento de Bizagi (por lo general se lleva a cabo por el usuario).

En caso de necesitar guía o un ejemplo de este paso, refiérase a Emitir e instalar certificados.

 

Para continuar con los pasos guías qe se presentan abajo, necesitará haber importado los certificados en su IdP. De dicho ejercicio, debería contar con las siguientes entradas también:

La información del certificado (archivo .p12).

La contraseña para el archivo .p12, como se definió en el momento de exportar las llaves pública y privada.

 

Recuerde que si desea encriptar aserciones, entonces lo anterior es también necesario para el otro certificado.

 

note_pin

Considere que lo anterior implica que necesitará manejar sus certificados instalados (y estar pendiente de su fecha de expiración, o cualquier otro aspecto importante de mantenimiento, como cualquier cambio en sus endpoints de Identidad).

 

2. Tener sus usuarios importados y sincronizados en Bizagi.

Recuerde que cuando integre cualquier Administrador de Identidad (sin importar el que elija), los clientes necesitan sincronizar las cuentas que están autorizadas para acceder al Work Portal de Bizagi.

Sincronizar significa importar o aqctualizar los identificadores primarios de las cuentas (dominio y username generalmente, y en algunos casos e-mail).

Recuerde qe las contraseñas no se almacenan cuando se integra con un Administrador de Identidad.

 

Cuando haya verificado que hay al menos una importación inicial de sus usuario a Bizagi, puede proseguir (utilizando el Work Portal y su menú de administración):

 

125Users13

 

note_pin

En Bizagi, los identificadores únicos para los usuarios son: e-mail o la combiación dominio-username.

Los ejemplos de una autenticación basada en SAML que se dan a continuación usan el e-mail como identificador de los usuarios.

 

3. Una versión instalada, completamente configurada y soportada de PingFederate.

Bizagi soporta PingFederate versión 8.

El ejemplo de este artículo (y el de la certificación oficinal) se trabaja con la versión 8.4.3.

Si desea usar una versión diferente, que soporte SAML 2.0, se recomienda consultarlo con nuestro equipo de soporte primero.

 

Lo que debe hacer

Los siguientes pasos enumerados describen lo que se necesia hacer, tanto en Bizagi como en PingFederate:

 

1. Establecer en Bizagi las configuraciones referentes a la especificación de SAML.

2. Configurar Bizagi como Proveedor de Servicios en PingFederate.

 

Procedimiento

Siga estos pasos:

 

1. Establecer en Bizagi las configuraciones que hacen referencia a la especifricación de SAML.

Haga esto usando el Management Console de Bizagi, poniendo como ambiente destino el que necesita para aplicar esta configuración (desarrollo, pruebas o producción).

Alternativamente y solo para el ambiente de desarrollo, puede usar Bziagi Studio.

 

1.1. Abra Bizagi Management Console y abra su proyecto de Bizagi.

 

UsingStudio01

 

 

1.2. Ubique el módulo de Seguridad y dé clic en la opción de Autenticación.

Luego seleccione Autenticación federada de la lista desplegable en el panel a la derecha, y seleccione SAML v2.0:

 

SAML_Bizagiparams1

 

Dé clic en actualizar.

Saldrá un mensaje de confirmación y note que los parámetros adicionales aparecene bajo el item de Autenticación.

 

note_pin

Si aplicó este cambio para un ambiente que no sea desarrollo, entonces necesita asegurarse de que el mismo cambio sea realizado exactamente en su ambiente de desarrollo.

Para hacerlo, siga los mismos pasos mientras usa el Management Console.

 

1.3. Proceda a configurar los parámetros opcioanles como se describe más adelante, asegurándose de hacer clic en Actualizar para cada uno que sea modificado.

Note que los valores de los parámetros son sensibles a las mayúsculas y por lo tanto debe asegurarse de introducirlos correctamente.

 

Llene o establezca estas configuraciones como se describe:

Algoritmo de firma: Seleccione SHA1 o SHA256.

Certificado para encripción: Use el botón Navegar para subir el certificado digital (en formato P12, contiene las llaves pública y privada) que se va a utilizar para encriptar las aserciones generadas en Bizagi.

Certificado digital para firma: Use el botón Navegar para subir el certificado digital (en formato P12, contiene las llaves pública y privada) que se van a utilizar para firmar aserciones generadas por Bizagi.

Contraseña del certificado digital de firma: escriba la contraseña del certificado digital usado para firmar aserciones.

Esta contraseña debe coincidir con la que definió en el momento de exportar la información del certificado en formato P12.

Contraseña del certificado digital para encripción: escriba la contraseña del certificado digital utilizado para la encripción de aserciones.

Esta contraseña debe coincidir con la que definió en el momento de exportar la información del certificado en formato P12.

Dirección de correo de contacto técnico: Provea una dirección de correo electrónico de un contacto de su corporación, para asuntos técnicos.

Forzar autenticación: Puede seleccionar esta opción para prevenir capacidades de SSO (Single Sign On - Inicio de Sesión Único) de tal manera que cuando los usuarios intentan entrar a Bizagi, las credenciales son explícitamente pedidas. Puede usarlo de acuerdo a sus necesidades y expectativas de autenticación.

Habilitar el log de autenticación en la base de datos: Puede seleccionar esta opción para definir que la aplicación web debe registrar todos los eventos de autenticación (visto desde el Work Portal), de acuerdo a sus requerimientos de auditoría y expectativas.

Habilitar encripción de aserciones: Puede seleccionar esta opción. Si lo hace, asegúrese de configurar el Certificado de Encripción y la contraseña del certificado de encripción.

Déjelo sin seleccionarlo, por el momento Azure no soporta aserciones encriptadas.

Mostrar mensajes de error de autenticación detallados: Define si se muestran los errores de autenticación cuando ocurren.

Nombre de la organización: Escriba el nombre de su organización. Dicha información se incluye en los mensajes de solicitud enviados por Bizagi.

Protocolo de enlace SAML para SLO: Se recomienda seleccionas POST de tal manera que haya soporte de mensajes más largos.

Protocolo de enlace SAML para SSO: Se recomienda seleccionar POST de tal manera que haya soporte para mensajes más largos.

Redirigir a una página de cierre de sesión después de cerrar sesión: Define si al cerrar sesión se redirigirá al usuario a una página estática de logout indicándole que su sesión fue cerrada.

Ruta del archivo de metadatos del proveedor de identidad: Escriba la ruta donde se encuentra el archivo de metadata de PingFederate. Esta ruta es tipicamente una URL. Dicha URL en PingFederate se encuenta en:

https://myfederateserver/FederationMetadata/2007-06/FederationMetadata.xml

Tiempo de espera para sesiones inactivas: defina los minutos para los que una sesión expire. De acuerdo a sus requerimientos y expectativas de autenticación (por ejemplo, 5 minutos).

Tipo de cookie: define si Bizagi usa cookies persistentes o de sesión. El tiempo de espera para sesiones inactivas es el tiempo de vida para las cookies.

URL de la organización: Escriba la URL del sitio web de su organización. Dicha información se incluye en los mesajes de solicitud que envía Bizagi.

URL del proveedor de servicios: Escriba la URL completa (incluyendo el nombre del proyecto) del SP. Esto significa entrar la URL del Work Portal de Bizagi.

Para <%BIZAGI_CLOUD%>, dicha URL usa el formato:

https://[environment]-[project]-[company].bizagi.com/[project]-[environment]

Para proyectos locales, dicha URL usa el formato:

https://[server]/[project]

Recuerde que la URL anterior es sensible a mayúsculas y que [Environment] - se debe dejar en blanco cuando se está en ambiente de producción.

 

SAML_Bizagiparams2

 

Cuando haya terminado, revise los cambios que se han aplicado.

 

note_pin

Es posible que los cambios de autenticación no se reflejen de inmediato; en cuyo caso, usted puede necesitar reiniciar los servicios de Bizagi.

 

1.4. Reinicie sus servicios de Bizagi.

Para proyectos locales, esto significa ejecutar un IISReset.

Recuerde que cualquier cambio en el tipo de autenticación, o cualquier configuración, no se refleja de inmedatio a no ser que la caché de la aplicación sea actualizada explicitamente.

 

1.5. Proceda a buscar la ubicación del archivo de metadata que Bziagi genera basado en configuraciones previas.

Para configurar PingFederate a través de estos pasos de manera más fácil, dicho archivo de metadata de Bizagi se cescargará en una ruta local que luego se usa de input para PingFederate.

 

Note que puede encontrar el archivo de metadata buscándolo como:

https://[environment]-[project]-[company].bizagi.com/saml2/metadata.xml?mode=preview

 

Proceda a descargar el archivo poniendo en la barra de búsqueda del navegador la siguiente URL:

https://[environment]-[project]-[company].bizagi.com/saml2/metadata.xml?mode=attachment

 

2. Configurar Bizagi como Proveedor de Servicios en PingFederate

Realice esto entrnado en las opciones de administrador de PingFederate.

 

2.1. Entre con derechos de administrador a su servidor de PingFederate.

 

2.2. Acceda a menú de Configuración del IdP y ubice la sección de conexiones de SP.

 

2.4. Dé clic en Crear nuevo en Tipo de Conexión, y asegúrese de seleccionar SAML 2.0 como Perfil de Navegador.

 

PingFederate1

 

2.4. Seleccione la opción Navegador SSO en la pestaña de Opciones de Conexión:

 

PingFederate2

2.6. Use la opción de cargar metadata en la pestaña Importar metadata.

De esta manera, podrá buscar el archivo de metadata de Bizagi para mayor configuración.

 

PingFederate3

 

2.6. Defina que el Modo de trazas esté en Estándar en la pestaña Información General:

Dé clic cuando haya terminado.

 

PingFederate4

 

2.8 Configure el perfil de Navegador Web y HTTP para el intercambio de mensajes.

Para hacerlo, haga clic en Configurar SSO de Navegador.

 

2.9. Seleccione las opciones SP-initiated SSO y SP-initiated SLO en la pestaña de perfiles SAML.

 

PingFederate5

 

Dé clic en Siguiente cuando termine.

 

2.10. Vaya a la pestaña Línea de tiempo de aserciones para establecer el valor en minutos de las aserciones emitidas:

Minutos antes

Minutos después

Puede dejar los valores por defecto o cambiarlos de acuerdo a sus políticas.

 

PingFederate5

 

De clic en Siguiente cuando termine.

 

2.11. Haga clic en Configurar creación de aserciones en la pestaña Creación de aserciones, para definir la información a incluir en las respuestas.

 

2.12. Seleccione el mapeo Estándar en la pestaña de mapeo de identidades.

 

PingFederate6

 

2.13. Defina el atributo a tomar como base en el contrato, en la pestaña Contrato de atributos.

Hágalo escribiendo lo siguiente en SAML_SUBJECT:

domain\username ó

username@domain

 

Considere que SAML_SUBJECT tiene un formato diferente, entonces configurelo para usar el correo y extienda el contrato para usar el atributo Email:

urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

 

2.14. Clic en Mapear nueva instancia de adaptador en la pestaña Mapeo de fuentes de autenticación.

 

2.15. En el mapeo de adaptadores de IdP, establezca un nuevo adaptador para la conexión, dándo clic en Manejar instancias de adaptadores (ubicada en la pestaña de Instancias de adaptadores):

 

PingFederate8

 

Note que puede escoger crear uno nuevo o seleccionar uno existente.

 

PingFederate9

 

2.16. Vaya a la pestaña Mapeo de Aserciones y seleccione Use only Adapter Contract values in the SAML assertion:

 

PingFederate10

 

Dé clic en Siguiente cuando haya terminado.

 

2.17. Seleccione Adaptador en la primera lista desplegable (fuente) y Mail en la segunda (Value), tanto para SAML_SUBJECT como para la pestaña Cumplimiento de Contrato de Atributos.

 

PingFederate11

 

Note que en caso de que el contrato haya sido extendido en el paso 2.13. con el atributo Email, deberá seleccionar las mismas opciones de la lista desplegable (Adaptador y luego Mail) pero para el campo que aparecerá como Email.

 

2.18. Salte la configuración presentada en la pestaña Criterios de Emisión.

Simplemente haga clic en Siguiente.

 

2.19. Dé clic en Establecer Configuraciones de Protocolo en la sección Navegador SSO y revise la información de protocolo.

La siguiente configuración debe estar automáticamente llena basada en el archivo de metadata de Bizagi.

Si está revisando esta sección o si desea hacer cambios, considere:

En la pestaña Allowable SAML Bindings, solo pueden estar los valores POST y REDIRECT.

En la pestaña Signature Policy, se recomienda que fuerce las aserciones para que sean firmadas con la firma requerida para solicitudes Authn.

En la pestaña Encryption Policy se requiere que la opción The Entire Assertion sea seleccionada para encripción (en vez de Allow Encryption in SLO Messages from the SP pues no es soportada).

 

2.20. Haga clic en Configurar Credenciales en la pestaña Credenciales y ubica la sección con el mismo nombre. Defina las medidas de seguridad de los mensajes intercambiados entre PingFederate y Bizagi.

 

2.21. Navegue hasta el certificado para firmar aserciones que se envían a Bizagi, en la pestaña Configuraciones de Firmas digitales.

 

PingFederate12

Luego seleccione SHA1 o SHA256 como algoritmo. Recuerde que esta configuración debe coincidir con la seleccionada en Bizagi.

 

2.22. Defina como validar los certificados cuando Bizagi envíe mensajes.

Para ello, vaya a Manejar Configuraciones de verificación de firma.

 

2.23. Seleccione UNANCHORED en la pestaña Trust Model (para que soporte certificados auto-firmados).

 

2.24. Vaya a las Configuraciones de verificación de Certificados y seleccione la llave pública como empleada por Bizagi para firmas.

Note que si esta llave no es seleccionable de la lista desplegable, entonces puede usar el botón Manejar Certificados para importarlo.

 

PingFederate13

 

2.25. Solo si le ha permitido a Bizagi que encripte las aserciones, entonces necesitará seleccionar el certificado y algoritmo para ello y realice este paso y el siguiente.

Para ello, vaya a Seleccionar certificado XML de Encripcioón y busque el certificado.

 

Luego seleccione AES-128 como el Algoritmo de Encripción de Bloques y RSA-OAEP como Algoritmo de transporte de llaves.

Recuerde que si su certificado no está en la lista desplegable, lo puede importar.

 

PingFederate14

 

2.26. Vaya a la pestaña Seleccionar llaves de descripción y busque el certificado a usar por Bizagi para encriptar mensajes enviados al IdP.

Recuerde que si su certificado no sale en la lista, lo puede importar.

 

PingFederate15

 

 

2.27. Finalmente, asegúrese que el estado de la conexión esté Activo (en la página de resumen).

 

PingFederate16

 

Guarde los cambios y salga cuando haya terminado.

 

Paso adicional

Recuerde que cuando configuró Bizagi, la ruta del archivo de metadata del IdP se dejó en blanco.

Por lo tanto, deberá primero obtener el archivo de metadata de PingFederate.

 

Una vez obtenido, proceda a Bizagi y configure el valor que se muestra:

 

SAML_Bizagiparams2PingF

 

Asegúrese de guardar los cambios.

En este momento ya habrá configurado la integración de PingFederate usando SAML 2.0 para autenticación con Bizagi!