Autenticación con ADFS

<< 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 ADFS

Introducción

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

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

 

SAML_ADFS_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 ADFS, 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 ADFS

Bizagi soporta ADFS versión 3.0.

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

 

Lo que debe hacer

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

 

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

2. Configurar Bizagi como Proveedor de Servicios en ADFS.

 

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 ADFS. Esta ruta es tipicamente una URL. Dicha URL en ADFS se encuenta en:

https://[mi_servidorADFS]/FederationMetadata/2007-06/FederationMetadata.xml

Considere que debe reemplazar el valor adecuado para [mi_servidorADFS].

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 ADFS 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 ADFS.

 

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 ADFS

Realice esto entrando a las opciones de administración de ADFS.

 

2.1. En su servidor ADFS, abra la consola para su adminsitración.

 

2.2. Inicie la creación de un tercero de confianza.

Puede hacer esto desde las opciones de tercero de confianza (Relying party trust) que le permitirá usar su asistente de configuración con un clic derecho.

 

ADFS_1

 

Hagal clic en Iniciar.

 

ADFS_2

 

2.3. Seleccione la fuente de datos.

Para configurar el tercero como se describe, seleccione Importar datos del tercero desde un archivo para navegar al archivo de metadata generado por Bizagi.

 

ADFS_3

 

2.4. Seleccione el archivo de metadata correspondiente.

Al dar clic en Navegar asegúrese de localizar el archivo de Bizagi metadata.xml.

 

ADFS_4

 

Dé clic en Siguiente al terminar.

 

2.5. Ingrese un nombre único.

Dé un nombre para desplegar esta configuración y para su conveniencia.

 

ADFS_5

 

Dé clic en Siguiente al terminar.

 

2.6. Saltar autenticación multi-factor.

Seleccione la opción No deseo configurar autenticación multi-factor para el tercero de confianza y dé clic en Siguiente cuando haya terminado.

 

ADFS_6

 

Dé clic Siguiente cuando haya terminado.

 

2.7. Seleccione la autorización de emisión.

Seleccione la opción Permitir el acceso a todos los usuarios del tercero y dé clic en Siguiente cuando haya terminado.

 

ADFS_7

 

Se le presentará un resumen de la información a establecer para el tercero de confianza, inluyendo la que viene del archivo de metadata de Bizagi.

Dé clic en Siguiente cuando haya terminado.

También puede revisar el algoritmo establecido (use SHA1 o SHA256), asegúrese de que coincida con el que haya seleccionado en Bizagi (lo puede revisar en la vista Avanzada).

 

2.8. Abra el editor de reglas de recogida.

Antes de cerrar la configuración actual, asegúrese de seleccionar la opción Abrir el editor de reglas de recogida para el tercero de confianza cuando se cierre el asistente.

 

ADFS_8

 

Luego puede dar clic en Cerrar.

 

2.9. Defina una nueva regla de recogida dando clic en Añadir regla.

 

ADFS_9

 

 

2.10. Seleccione el template de Send Claims Using a Custom Rule.

 

ADFS_10

 

Dé clic en Siguiente cuando lo haya hecho.

 

2.11. Cree las siguientes dos reglas:

 

Regla 1

 

Rule name: email

Custom rule: c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";mail;{0}", param = c.Value);

 

ADFS_12

 

Regla 2

 

Rule name: nameid

Custom rule: c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");

 

ADFS_14

 

Al terminar, verá sus reglas como se muestra en la siguiente imagen:

 

ADFS_13

 

Es posible que las reglas no sean reconocidas inmediatamente. De ser el caso, elimine la regla, vuélvala a crear y reinicie el servidor ADFS.

 

En este punto tendrá configurado ADFS para usar SAML 2.0 como autenticación integrada con Bizagi!

Deberá realizar los pasos siguientes en caso de que haya usado certificados auto-firmados.

 

Pasos adicionales para certificados auto-firmados

Si emitió e instaló certificados auto-firmados para su ADFS (para firmar y encriptar mensajes), entonces deberá realizar lo siguiente:

1.Acceda a su servidor ADFS y abra la consola PowerShell.

2.Entre el siguiente comando:

Get-AdfsRelyingPartyTrust -Identifier [relying_party_trust] | Set-AdfsRelyingPartyTrust

-SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None

Considere que debe cambiar [relying_party_trust] de acuerdo al nombre único dado en la configuración anterior (cuando registro Bizagi como tercero de confianza).