Autenticando los usuarios de Sonar contra un LDAP

1
12046

Creación: 18-01-2010

Índice de contenidos

1. Introducción
2. Entorno
3. Preparándonos para la instalación
4. Instalando LDAP Plugin
5. Conclusiones
6. Sobre el autor


1. Introducción

Ya hemos visto un par de tutoriales sobre como instalar Sonar:

En este tutorial vamos a ver como podemos hacer que la autenticación de Sonar sea a través de un LDAP. Ojo porque sólo podremos conseguir la autenticación, es decir la validación del usuario y la clave. Los permisos habrá que gestionarlos desde Sonar, creando los usuarios.

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 17′ (2.93 GHz Intel Core 2 Duo, 4GB DDR3 SDRAM, 128GB Solid State Drive).
  • NVIDIA GeForce 9400M + 9600M GT with 512MB
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.1
  • JDK 1.6.0
  • Sonar 1.12
  • sonar-ldap-plugin 0.1
  • Open LDAP instalado en un GNU/Linux Debian Testing.


3. Preparándonos para la instalación

Antes de instalar de hacer nada, nos tenemos que asegurar de que tenemos un usuario creado en Sonar con permisos de administración. Ha de ser un usuario que también exista en el LDAP.

Es decir, recordamos que con el LDAP sólo se hará la autenticación, pero la gestión de los permisos se hace desde Sonar. Así que si no nos aseguramos de tener en Sonar un usuario con privilegios de administración, cuando nos autentiquemos a través del LDAP, no podremos hacer prácticamente nada.

Para crear el usuario nos logamos en sonar como administradores (el usuario administrador por defecto es ‘admin’, con clave ‘admin’). En el menú de arriba seleccionamos Configuration, ahora en el menú de la izquierda seleccionamos Users.

Vemos como a la derecha tenemos un recuadro amarillo donde podemos poner los datos del nuevo usuario, y un botón Create.

Una vez demos al botón para crear el usuario nos aparecerá una nueva entrada en el listado de usuarios. En esta entrada vemos que tenemos un enlace select para cambiar los grupos. Pinchamos este enlace y añadimos al nuevo usuario en el grupo de sonar-administrators.

Al final nos debería quedar algo similar a esto:

 

4. Instalando LDAP Plugin

Sonar tiene un sistema de plugins que permiten extender su funcionalidad. En este caso vamos a utilizar LDAP Plugin () que permitirá a Sonar hacer la autenticación de los usuarios a través de un LDAP (ojo recordamos otra vez que la gestión de los permisos no se pueden gestionar desde el LDAP y hay que hacerla directamente desde Sonar).

Este plugin lo podemos encontrar en:
http://docs.sonarqube.org/display/PLUG/LDAP+Plugin

El plugin es simplemente un jar (sonar-ldap-plugin-0.1.jar), que nos lo podemos descargar de la página del plúgin.

Para instalar el plugin basta con copiar el jar en el directorio extensions/plugins de Sonar.

Ahora editamos el fichero conf/sonar.properties para añadir, por ejemplo al final del fichero, la información referente al LDAP. Nos debería quedar algo así (ojo porque esto va a depender totalmente de la instalación de nuestro LDAP, por lo que tendréis que cambiar los valores como correspondan!!!)

 

Los valores más importantes son:

  • ldap.url (línea 18): donde tenemos que poner la URL donde está nuestro servidor de LDAP.
  • ldap.baseDn (línea 22): tenemos que poner el DN donde está localizada la información de nuestros usuarios.

En muchos casos el resto de valores no hace falta tocarlos, pero como ya hemos dicho, todo esto depende mucho de vuestro LDAP.

Una vez guardados los cambios del fichero de configuración, solo tenemos que reiniciar Sonar. En el log, en el proceso de arranque, deberíamos ver las siguietnes líneas:

Con esto comprobamos que se a iniciado el plugin. Y ya sólo nos queda probar si realmente todo es correcto y podemos autenticarnos.

5. Conclusiones

Cada vez usamos más servicios y cada uno suele tener su propio sistema de autenticación, por lo que siempre interesa intentar unificarlos bajo un mismo LDAP para no tener que administrar los usuarios en varios sitios distintos. Además siempre es una comodidad
para el usuario que siempre tendrá en mismo login y la misma clave en todos los sistemas (eso si, debemos garantizar que tenemos claves “fuertes” para no comprometer la seguridad de todos los sistemas).

6. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y Certified ScrumMaster

Socio fundador de Autentia (Formación, Consultoría, Desarrollo de sistemas transaccionales)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»

http://www.autentia.com

 

1 Comentario

Dejar respuesta

Please enter your comment!
Please enter your name here