Open Business Intelligence

La red del Business Intelligence

Acceso a informes SAIKU ,abiertos al publico desde URL , instalado SAIKU como plugin en pentaho 7 server

Hola ,

Para acceder a esos informes saiku publicados en pentaho 7 server desde una aplicación tercera necesito la URL de esos informes pero:

 - Una vez guardado el informe , podía obtener la URL pulsando en “Open In a New Window” (lo cual es correcto), pero solo funciona si ya estás autenticado. Si cierras sesión e invocas esa URL no funciona (te pide usuario y clave, y estos informes estarán abiertos al público). 

Puedes modificar los archivos de pentaho server para enviar en la URL el user y la pass. De esta manera cualquier persona que posea el link, podrá ver el análisis.

No queremos enviar usario y password en la URL


 
 En Pentaho hay formas de que determinadas URL (incluso patrones, no solo URLs estáticas) sean  públicas, pero no sé cómo afecta a Saiku, y no recuerdo cómo se hacía exactamente."

Posibles soluciones  PARA NO ENVIAR USER y PASS

Solución 1

Lo que puedes hacer es desde PUC:

1) Crear un user público, con permisos restringidos.
2) Crear una carpeta pública, en donde pondrás los reportes que pueden ver otras personas.
3) Asigna los permisos tal que lo único que pueda hacer el user público sea ejecutar los reportes de la carpeta pública.

¿Como seria esa solución en detalle ? , por favor detallarla


Solución 2

 

https://help.pentaho.com/Documentation/7.1/0P0/Setting_Up_User_Secu...
  
For the Pentaho User Console (PUC), your predefined users and roles can be used if you are already using a security provider such as LDAP, Microsoft Active Directory (MSAD), or Single Sign-On. Pentaho Data Integration (PDI) can also be configured to use your implementation of these providers or Kerberos to authenticate users and authorize data access.


De ese  link las  dos soluciones de abajo NO SERVIRIAN.

Remove Security by Enabling Anonymous Access

Pass Authentication Credentials in URL Parameters


Solución 3

http://pentahohispano.blogspot.com.es/2015/10/bypass-pentaho-login-...

En muchas ocasiones tengo que acceder a un recurso 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:

http://pedroalves-bi.blogspot.com.es/2015/02/useful-tips-easy-authe...
 

Básicamente: LAS OPCIONES QUE HAY SON:
 

    Pasar usuario y contraseña por la url ... (No muy recomendable)
    Habilitar acceso anónimo... (y pierdo la seguridad)
    Configurar las dos aplicaciones para hacer Single Sign On (CAS)
    Login basado en cookies    https://help.pentaho.com/Documentation/5.3/0R0/070/010/00A


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.


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





  ¿  Por favor que solución de las tres que escribo seria la mas optima y facil de implementar  ?

Si es la solución 1 como se implementaria ???

Gracias y saludos

Antonio

Visitas: 1514

Responde a esto

Respuestas a esta discusión

Buenas.

Estuve analizando un poco la API de Saiku, y tenemos la posibilidad de ejecutar una URL que:

1) en caso de NO tener sesión iniciada, nos solicita user y pass, y

2) ejecuta el reporte saiku.

La URL es la siguiente:

  • http://localhost:8080/pentaho/api/repos/:home:admin:miReporte.saiku/run


En donde:

  • :home:admin: es el path al reporte
  • miReporte.saiku es el nombre del reporte

Saludos

--

Ing. Bernabeu R. Dario
cursos Pentaho | youtube | twitter

Responder a debate

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio