Blog

Acceso a SAP Fiori Launchpad usando doble factor de autenticación: Certificado X509 + PIN

[fa icon="calendar"] 11/10/2016 por Equipo de Redacción Linke IT

Equipo de Redacción Linke IT

SAP-Fiori-Launchpad.png

Se realiza una implantación de Fiori, donde se desea que el acceso al sistema por parte de los usuarios sea cómodo y fácil.

Para facilitar el acceso, se implementa Single Sign On basado en certificados X509 que se distribuyen para cada usuario, de modo que no debe introducir ni usuario ni contraseña para acceder al sistema. Para no dar acceso tan directo a SAP Fiori Launchpad, se debe introducir un PIN, definido por el propio usuario.

Así el requerimiento técnico es: Implantar acceso a Fiori Launchpad (FLP) pasando por un SAP Webdispatcher, con Single Sign On usando doble factor de autenticación: Certificado X509 + PIN gestionado en el servidor Front-End.

Se muestra el despliegue de los sistemas implicados:

 

fiori-launchpad.png

 

Factor 1: Certificado X509

SAP ofrece respuesta esta necesidad.

Proceso:

  • Generar certificado X509 para cada usuario
  • Instalar certificado X509 en el dispositivo cliente (SAP Fiori Client o Navegador).
  • Asociar certificado X509 con usuario SAP.

Mediante el certificado personal (Certificado Cliente) que posee el usuario instalado en su dispositivo, éste se conectará a SAP Fiori a través de SAP WebDispatcher usando el protocolo HTTPS y las credenciales que le otorga el certificado instalado, sin tener que ingresar en ningún momento otro tipo de dato (como usuario, contraseña, etc…), excepto el PIN en segunda autenticación previo acceso a SAP Fiori.

Para asociar el certificado X509 al usuario en SAP, se usa la vista SM30 VUSREXTID (Asignación de ID externos a usuarios).

Arquitectura conexión con certificado X.509

fiori-launchpad-2.png

Factor 2: PIN

Para los requerimientos descritos, SAP no ofrece una solución estándar para la introducción de un PIN, de modo que se ha realizado un desarrollo a medida.

Debemos impedir que se pueda acceder al Fiori Launchpad a menos que el usuario haya introducido su PIN correctamente.

Para ello se implementan las siguientes partes de la solución:

  • Tabla transparente con datos de usuario y PIN: Relaciona los PIN de cada usuario y sus datos de acceso.
  • Aplicación PIN UI5: Se ha desarrollado un servicio OData para servir a la aplicación UI5. La aplicación UI5 hace uso del OData, y expone en la pantalla el diálogo de entrada para el PIN de usuario. En caso de que el PIN introducido sea correcto, se redirige al Fiori Launchpad. En caso contrario, se incrementa el número de fallos. Si se introduce mal 5 veces seguidas el PIN, éste queda bloqueado y el usuario debe contactar con sistemas para que se lo desbloqueen y le pida un nuevo PIN.
  • Controlador HTTP: Realiza la supervisión del Security Context ID, dejando pasar al Fiori Launchpad o redirigiendo a la aplicación de PIN UI5 si no se ha introducido el mismo.
  • Servicio SICF ZFLP: Fiori Launchpad que hace uso del controlador HTTP.
  • Filtros en el Webdispatcher: Las reglas del Webdispatcher impiden el acceso al servicio estándar de Fiori Launchpad. Deja  pasar sólo las URLs de la aplicación PIN y del ZFLP.

Cada vez que es usado el certificado X509 para logarse en el sistema, se genera un nuevo Security Context ID. Es entonces cuando hay que pedir el PIN de usuario.

El siguiente diagrama muestra la lógica implementada por la aplicación PIN:

fiori-launchpad-3.png

El siguiente diagrama muestra la lógica implementada por el controlador HTTP:

fiori-launchpad-4.png

Conclusión

Se ha mostrado una implementación Single Sign On para acceder a Fiori Launchpad usando doble factor de autenticación: Certificado X509 + PIN. La solución no es invasiva, y respeta el estándar de SAP.

Si quieres saber más, contáctanos… ¡estaremos encantados de ayudar!

Escrito por Jordi Escoda y Jaume Moreno

Si te ha interesado este post, quizás también te interese esta guía gratuita en PDF:

Guía: Todo lo que necesitas saber sobre SAP en AWS

Categorías: Recursos Técnicos