sábado, 24 de octubre de 2015

ByPass Pentaho Login - Acceso desde aplicaciones terceras a recursos de Pentaho

En muchas ocasiones tengo que acceder a un reccurso de pentaho desde terceras aplicaciones. Tales cómo  un cuadro de mandos, o un informe. En estos casos, siempre nos encontramos con la misma pregunta.... ¿Le vamos a obligar al usuario a volver a hacer login ? En caso de que no queramos hacerlo... ¿Como lo vamos a gestionar?

Tenemos varias formas, algunas mejores y otras peores...  Pedro Alves  ya ha hablado de esto en varias ocasiones. Su post más reciente y recomendable es este... (creo).

Básicamente:
  1. Pasar usuario y contraseña por la url ... (No muy recomendable)
  2. Habilitar acceso anónimo... (y pierdo la seguridad)
  3. Configurar las dos aplicaciones para hacer Single Sign On (CAS) 
  4. Login basado en cookies   ( documentación ).

Siempre, las opciones más recomendables son la 3  y la 4 aunque hay ocasiones en las que no es posible por cualquier motivo.. Por lo que es interesante tener una opción intermedia.

Por eso en Jortilles hemos creado a ... Urbano



Un filtro que te permite acceder a ciertas urls conocidas si le das la contraseña.   Para eso codificaremos las llamadas bajo cierto patrón conocido por Urbano y por la aplicación tercera:

 http://localhost:8080/pentaho/Urbano?token=MI_TOKEN&dst=MI_DESTINO


Donde:
  •  MI_TOKEN  es mi clave de acceso codificada  
  •  MI_DESTINO  es el destino conocido al que quiero acceder.

La documentación técnica está en el proyecto

Un administrador cuidadoso dirá que este método está bien. Pero que una vez hecho login  tienes acceso a todos los recursos de Pentaho. Ya has hecho login. Ya estás dentro. Ya puedes ir a http://localhost:8080/pentaho/Home

Aquí es donde entra en juego nuestro proxy http. Si queremos realmente exponer SOLO ciertas URLs podemos poner un proxy http por medio que nos intercepte el trafico y nos exponga tan sólo las urls que queremos dejar disponibles. De esta forma también enmascararemos las llamadas y nadie sabrá lo que hay detrás.

Ahora ya si que sólo exponemos al mundo ciertas urls de forma controlada. Manteniendo el acceso total y normal desde nuestra intranet .


El proyecto está en Github: https://github.com/jortilles/byPassPentahoLogin
  
Notas y agradecimientos:





1 comentario:

  1. Thank you for posting useful details on Pentaho. Take Pentaho experts suggestions Pentaho Consulting

    ResponderEliminar