martes, 29 de octubre de 2013

GAM y K2BTools, aplicando esquema de seguridad avanzada a nuestros proyectos

K2BTools  nos ofrece dos variantes para la implementación de seguridad en  nuestros proyectos web:
  • K2BFastStart,  en caso de  que el proyecto web sea  una  aplicación  pequeña, con requerimientos de seguridad básicos.

  • K2BFastStartGAM,  en el resto de los casos.   

Esta  entrada  pretende compartir un par de líneas gruesas  que nos permitirán la implementación del segundo caso  K2Btools-GAM,  que ha venido debatiéndose en el foro en los últimos meses.  En caso de requerir mas detalles sobre el primero,  podrán descargar  documentación aquí.

Lo primero que debemos hacer para  implementar el GAM en  nuestro  proyecto web  es habilitarlo en las Preferences del Modelo:    a partir de lo cual  esté realizará la importación de todos los objetos externos necesarios que facilitan el acceso a la API GAM ,



Lo siguiente que se debe hacer es cambiar la siguiente propiedad:







Seguido a lo cual  procedemos   a   importar  FastStartGAM.xpz  el cual se podrá  descargar  de  la Wiki  a la cual podrán acceder también  en  todo momento desde el IDE de Genexus, a partir de la versión 7.1, con la nueva  opción  Go to K2B Tools Wiki.
             
                   

Por último, es necesario cambiar  los objetos  que  nos coloca  GAM  por defecto a nivel de propiedades del modelo, por los que nos  aporta  el  FastStarGAM.xpz:  


Realizados  estos tres pasos,  procedemos  a correr la aplicación, contando ahora con  una nueva opción en nuestro menú a través de la cual podemos administrar el esquema de seguridad avanzada que nos  ofrece GeneXus con  GAM (Genexus Access Manager), con las facilidades de usabilidad que nos aporta K2BTools.





Desde este módulo  podemos administrar todas las opciones de seguridad que nos habilita el  GAM  una vez ha sido integrado a GeneXus. Estas son: 


  • Administrar  usuarios, asignarle roles, actualizar  sus datos  => k2bfsgwwuser


  • Administrar roles.  Asignar  actividades a cada rol  => k2bfsgwwrole

                



  • Administrar aplicaciones, Agregarles  permisología  =>k2bfsgwwapplication


  • Administrar tipos de autenticación  => k2bfsgwwauthtype



  • Definir políticas de seguridad  => k2bfsgwwsecuritypolicy



  • Realizar configuraciones al repositorio  => k2bfsgrepositoryconfiguration































  • Configurar conexiones => k2bfsgwwconnections












Como se puede apreciar en las imágenes arriba referidas, con K2BTools podemos ahora integrar toda la potencia de la seguridad GAM a nuestras aplicaciones web/smart devices, facilitando la administración centralizada desde el mismo frontend, en solo tres pasos:
  1. Activar el GAM
  2. Importar el FastStartGAM.xpz
  3. Cambiar los dos objetos por defecto en el Web specific de las preferences del Modelo: K2BFSGLogin y K2BNotAuthorized
K2BTools atiende criterios de usabilidad que aportan mucha riqueza y valor a nuestras aplicaciones web y, en materia de seguridad, con ambas variantes (básica o avanzada) atienden muy bien la octava heurística de Nielsen: Estética y diseño minimalista, siendo que solo presenta al usuario, por defecto, las opciones a la que tiene acceso, evitando distraerle o frustrarle con visualización de acciones “apagadas”.  
Para finalizar, les cuento que el FastStartGAM.xpz está en proceso de mejoras, por los que sus revisiones, recomendaciones y aportes serán de gran ayuda al equipo de desarrollo de K2BTools. Una vez logre el punto de acabado, se espera sea integrado en la IDE de GeneXus en futuras versiones de la suite de patrones que nos aportan K2BTools, que con cada nueva versión potencian nuestras capacidades a nivel de gestión y desarrollo de aplicaciones en tiempos cada vez mas óptimos.

Esperando se animen a probar y aportar sus comentarios, Carmen Pedrique Controlps, C.A

10 comentarios:

  1. Muy bueno el artículo Carmen!!! Muchas gracias por compartirlo.
    Saludos.
    Gustavo

    ResponderEliminar
    Respuestas
    1. Me alegra os guste ;) .. espero sirva de utilidad y si ven algún aspecto que lo complemento o corrija, bienvenido!


      Carmen

      Eliminar
  2. Muy buen articulo gracias por tu aporte
    Rodolfo Eiris

    ResponderEliminar
    Respuestas
    1. Hola Rodolfo, gracias por leerlo.. quedo atenta a cualquier duda ¿pudiste probarlo? ¿algún aporte o inquietud?


      Carmen

      Eliminar
  3. Muy buen tutorial.

    Una consulta, cual es la diferencia en el GAM entre Autorización y Autenticación?

    ResponderEliminar
    Respuestas
    1. Hola Jorge,

      La diferencia es que con autenticación, cuando quieres acceder a un objeto el GAM te deja entrar si previamente te logueaste.
      Con autorización, chequea además de que estes logueado que tengas permiso para acceder a dicho objeto.

      En el siguiente link puedes encontrar más información sobre esto:
      http://wiki.genexus.com/commwiki/servlet/hwiki?Difference+between+Authentication+and+Authorization,
      Saludos.

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Hola, hice los 2 primeros pasos, pero despues en Login Objetc y Not Autorized Options, no me aparecen las opciones para poner el K2BFS..etc.

    y si ejecuto, quiere reorganizar tabla y tira el siguiente error:

    An error was found in the database schema verification process.
    Table or View Entity already exist
    The reorganization process was not successfully completed.

    como revierto todos los cambios?

    ResponderEliminar
  6. Hola buenos días, quisiera saber si es posible darle ciertos permisos a los usuarios para que puedan registrarse automáticamente con un rol por defecto y puedan gestionar su información de perfil.

    Si me pudieran facilitar alguna documentación sobre GAM y las herramientas del K2BTools para gestionar la seguridad.

    Mil gracias

    ResponderEliminar