Ejemplo de configuración SAML con Active Directory Federation Services (ADFS)

Esta pagina de documentación describe los pasos de configuración para habilitar la autenticación SAML en Cyberwatch mediante el uso de un Proveedor de Identidad Microsoft ADFS.

Constituye un ejemplo simplificado para establecer una configuración mínima para el funcionamiento del servicio SAML.

Requisitos previos

El procedimiento de ejemplo supone los requisitos siguientes:

  • un servidor Windows 2019 funcional
  • una instancia de Active Directory en la que el atributo “email” de los usuarios este definido
  • un certificado SSL para la configuración del lado de ADFS
  • ADFS instalado en su servidor Windows

Estos elementos pueden adaptarse a su entorno. El procedimiento funcionara por ejemplo de forma similar con un servidor Windows 2016 en lugar de un servidor Windows 2019.

Obtencion del certificado del IDP

Antes que nada, recuperar el certificado del IDP, que se indicara en Cyberwatch en el paso 5).

Para ello, descargar el archivo XML de metadatos del IDP desde la URL: https://[URL_IDP]/federationmetadata/2007-06/federationmetadata.xml

El archivo obtenido debe contener dos certificados contenidos en campos <X509Certificate>. Extraer el primer certificado contenido en la sección <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> del XML.

Conservar este certificado. Se utilizara en el siguiente paso para la configuracion SAML en Cyberwatch.

Configuracion SAML en Cyberwatch

Comenzar configurando la parte SAML en Cyberwatch desde el menu Administracion > Proveedor de identidad.

  1. En el campo “Formato del nombre de identificacion”, introducir urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  2. En el campo “Texto del boton de conexion”, introducir el valor deseado, por ejemplo Conexion ADFS. Se utilizara como etiqueta del boton de inicio de sesion SAML en la pagina de autenticacion de Cyberwatch
  3. En el campo “SP Entity ID”, nombrar el identificador de confianza de su IDP, por ejemplo CYBERWATCH
  4. OPCIONAL Es posible completar el campo “IDP Entity ID” con el valor del campo entityID extraido de los metadatos del IDP, generalmente en la forma http://[URL_IDP]/adfs/services/trust
  5. En el campo “URL objetivo SSO IDP”, introducir la URL de autenticacion SSO de ADFS. Debe tomar la forma https://[URL_IDP]/adfs/ls
  6. Para el “Certificado IDP”, copiar el certificado exportado en el paso anterior
  7. Guardar la configuracion

Una vez guardada la configuracion, la URL de metadatos SP Cyberwatch pasa a estar disponible y ofrece un enlace para descargar el archivo XML de metadatos de la aplicacion Cyberwatch denominado saml_metadata. Descargarlo; se utilizara para automatizar parte de la configuracion en ADFS.

OPCIONAL - Configuracion de atributos en Cyberwatch

Mostrar los detalles de configuracion de atributos

La configuracion de atributos es opcional. Permitira gestionar automaticamente la asignacion de roles de usuarios, grupos, direccion de correo del usuario, etc. y otros atributos especificos de Cyberwatch como el acceso a todos los activos o el acceso a Kibana.

Los elementos siguientes muestran ejemplos de configuracion de estos elementos en el contexto de un uso de estos atributos con SAML ADFS.

Configuracion de roles

El campo “Atributo de roles” permite definir un atributo en el que basarse para asignar automaticamente roles a los usuarios SAML en Cyberwatch.

Segun el valor de este atributo, se asignara a los usuarios un rol entre Administrador, Administrador del sistema, Administrador de seguridad o Auditor en funcion del valor del atributo definido en la configuracion de Cyberwatch para cada uno de estos roles.

En este ejemplo, usaremos los grupos de Active Directory de los usuarios para definir su rol en Cyberwatch.

  1. Para “Atributo de roles”, introducir el valor http://schemas.xmlsoap.org/claims/Group
  2. Para “Administrador”, introducir el valor cbw_admin
  3. Para “Administrador del sistema”, introducir el valor cbw_admin_sys
  4. Para “Administrador de seguridad”, introducir el valor cbw_admin_secu
  5. Para “Auditor”, introducir el valor cbw_audit

Con esta configuracion, un usuario que tenga uno de los grupos LDAP indicados como valor recibira el rol asociado a ese valor.

Un usuario LDAP que no pertenezca a ninguno de los grupos especificados recibira el rol de Auditor.

Un usuario LDAP que pertenezca a varios de estos grupos recibira el rol con mas privilegios.

Configuracion de grupos

El campo “Atributo de grupos” permite definir un atributo en el que basarse para asignar automaticamente grupos a los usuarios SAML en Cyberwatch.

En el campo “Atributo de grupos”, introducir el valor http://schemas.xmlsoap.org/claims/Group.

Un usuario que se conecte con SAML se asignara automaticamente a los grupos AD de los que forma parte, con la condicion de que esos grupos existan en Cyberwatch.

Es necesario que los grupos se creen previamente en Cyberwatch y que sus nombres sean identicos a los nombres de los grupos AD/LDAP.

Acceso a todos los activos / Acceso a Kibana

El funcionamiento para el “Acceso a todos los activos” o para el “Acceso a Kibana” es identico.

Consiste en definir un atributo en el que basarse para otorgar automaticamente el acceso a todos los activos o el acceso a Kibana a los usuarios SAML.

Siempre con el ejemplo de los grupos LDAP, es posible basarse en el atributo http://schemas.xmlsoap.org/claims/Group.

Asi, podriamos tener:

Nombre del accesoAtributoincluido en
Acceso a todos los activoshttp://schemas.xmlsoap.org/claims/Groupcbw_all_assets
Acceso a Kibanahttp://schemas.xmlsoap.org/claims/Groupcbw_kibana

Atributos Direccion de correo, Descripcion y Nombre completo

Estos tres atributos funcionan de la misma manera. Permiten definir un atributo SAML cuyo valor se usara para completar respectivamente la direccion de correo, la descripcion y el nombre completo del usuario.

Estos elementos pueden requerir configuraciones complementarias en las reglas de reclamacion del lado ADFS.

Configuracion en ADFS

Creacion de una confianza de parte

Desde el servidor ADFS, abrir la consola llamada “Administracion AD FS”.

Agregar una confianza de parte siguiendo los pasos a continuacion:

  1. Abrir la carpeta “AD FS” en el menu de navegacion de la consola
  2. Clic derecho en “Confianzas de parte”
  3. Seleccionar “Agregar una confianza de parte…”, se abre el asistente de Agregar confianza de parte
  4. En el paso “Bienvenido” del asistente, elegir la opcion “Soporte de reclamaciones”
  5. En el paso “Seleccionar una fuente de datos”, seleccionar “Importar los datos relativos a la parte de confianza desde un archivo” e importar el archivo saml_metadata generado anteriormente desde Cyberwatch
  6. En el paso “Introducir el nombre completo”, introducir un nombre que permita identificar facilmente la parte de confianza, por ejemplo Cyberwatch SAML
  7. En el paso “Seleccionar una directiva de control de acceso”, seleccionar “Permitir a todos” u otra opcion que desee configurar
  8. El paso “Listo para agregar la confianza” permite simplemente verificar los elementos configurados si lo desea
  9. En el paso “Finalizar”, marcar la opcion “Configurar una directiva de emision de reclamaciones para esta aplicacion” y validar

Creacion de reglas de reclamacion

Una vez creada la confianza de parte, la adicion de reglas de reclamacion permitira enviar a Cyberwatch la informacion necesaria para la autenticacion.

Nuestro ejemplo propone crear dos reglas que seran suficientes para que la autenticacion SAML funcione, segun el procedimiento siguiente:

  1. En la confianza de parte Cyberwatch SAML recien creada, clic derecho en “Editar la directiva de emision de reclamaciones…”
  2. Se abre una ventana que permite crear “Reglas de transformacion de emision”
  3. Hacer clic en “Agregar una regla…”
  4. En el paso “Elegir el tipo de regla”, seleccionar “Enviar atributos LDAP como reclamaciones”
  5. En el paso “Configurar la regla de reclamacion”:

    • nombrar la regla de reclamacion
    • seleccionar el almacen de atributos “Active Directory”
    • en el menu “Mapeo de atributos LDAP a tipos de reclamaciones salientes”, seleccionar E-Mail-Addresses para el atributo LDAP y Direccion de correo para el tipo de reclamacion saliente
    • para la gestion de permisos en Cyberwatch, seleccionar por ejemplo otra entrada Token-Groups - Nombres no calificados para el atributo LDAP y Grupo para el tipo de reclamacion saliente
    • confirmar la creacion de la regla
  6. Agregar una nueva regla, esta vez seleccionando Transformar una reclamacion entrante para el modelo de regla. En el paso de configuracion de la regla:

    • nombrar la regla de reclamacion
    • seleccionar Direccion de correo para el campo “Tipo de reclamacion entrante”
    • dejar No especificado para el “Formato de ID de nombre entrante”
    • seleccionar ID de nombre para el campo “Tipo de reclamacion saliente”
    • seleccionar Direccion de correo para el campo “Formato de ID de nombre saliente”
    • seleccionar la opcion Pasar todos los valores de reclamacion
    • validar la regla

La configuracion en ADFS deberia ser valida.

Verificacion del funcionamiento y troubleshooting

Abrir una nueva ventana de navegacion privada y dirigirse a la pagina de autenticacion de Cyberwatch.

Un nuevo boton azul Conexion ADFS (segun el valor indicado en el paso 1) de la configuracion en Cyberwatch) deberia estar disponible.

Hacer clic en este boton. Si las configuraciones en ADFS y Cyberwatch son validas, el navegador lo redirige a la pagina de autenticacion de ADFS.

Introducir las credenciales de su cuenta LDAP para autenticarse en el servicio SAML ADFS. El navegador lo redirige y lo autentica en la aplicacion Cyberwatch con su usuario.

Verifique que no tenga ya una cuenta local/LDAP creada en Cyberwatch usando la misma direccion de correo que la usada para la autenticacion SAML, o obtendra un error al intentar conectarse.

Ayuda para troubleshooting

Pueden ser necesarias etapas de troubleshooting; estas son posibles mediante la visualizacion de las solicitudes SAML.

La visualizacion de estas solicitudes suele hacerse con una extension de navegador como SAML-tracer, por ejemplo.


Volver arriba

English Français Español