1. ¿Qué hace y cómo se utiliza la Seguridad Integrada a GeneXus? #GX2444 Alejandro Zeballos azeballos@genexus.com
2.
3. Veamos hoy estos 4 puntos 1 ¿Qué es Seguridad Integrada? 2 ¿Qué hace? 3 ¿Cómolo hace? 4 A futuro …
4. ¿Qué es el GAM? GeneXus Access Manager Biblioteca integrada en GeneXus Fácil de incorporar a la KB Provee una solución a: Autenticación Autorización
5. ¿Qué hace? Simplifica el tema de seguridad de una aplicación Autenticación Base de datos Local Web Service Externo Facebook Twitter Autorización Quien puede ejecutar/acceder a un objeto En las Transacciones permiso por Modo
7. Login/Autenticación Chequeo de seguridad en cada Get/Post/Ajax/etc. Cómo Funcion en web Application server App. db Gamdb GET o POST o Servicios Respuesta Web page web APPLICATION Gam api LoginUsuario Password Session
8. Cómo funciona en SD Application server Login/Autenticación Chequeo de seguridad en cada ida al server(Get/Put/etc.) App. db Gamdb GET o PUT con Access Token Respuesta REST Access Token REST web services Gam api LoginClient Id ClientSecretUsuario Password (OAUTH)
11. Autorización Integrated Security Level = Authorization Generación de Permisos por cada objeto <nombre-objeto>_Execute Código del chequeo de seguridad en el generador
12. Permisos en Transacciones En las Transacciones customer_FullControl customer_Execute customer_Insert customer_Update customer_Delete En las Transacciones expuestas como Servicios (Rest y SOAP) customer_Services_FullControl customer_Services_Execute customer_Services_Insert customer_Services_Update customer_Services_Delete
14. Futuro PermisosporControles de los Objetos Botones, Eventos, etc. Permisosdefinidospor los Usuarios Generar_Orden_de_Compra Reimprimir_Factura Single Sign On entre aplicaciones Proveedor de Identidades
15. Referencias Documentación en el Wiki de la comunidad http://wiki.gxtechnical.com Conferencias relacionadas Café con Seguridad - Sala Torres García, hoy a las 11:45 Alejandro Zeballos, Equipo de desarrollo de Seguridad, azeballos@genexus.com
Lesvoy a resumirquees el GAM en estos 4 puntos:GAM significa GeneXus Access ManagerEs unabicbliotecaintegrada al IDE de GeneXus, fácil de incorporar a su Base de ConocimientoQueproveeunasolución de Autenticación y Autorización de aplicaciones, tanto web comoSamrt Devices
Permite que nuestra base de conocimento requiera autenticación/autorización solo dando un clic en la IDE.A grandes rasgos lso 2 conceptos grandes que maneja son Autenticación y Autorización de las aplicaiones.GenXus genera automáticamente el chequedo de seguridad de cada objeto seleccioando, para esto solo se debe seleccionar una propiedad “Integrated Security Level”
En el caso de aplicaciones para SD en dichas aplicaciones reside un Client_Id que es el Identificador de la aplicación y Client_Secret que una llave para poder ejecutar la misma, estos datos permiten identificar la aplicación en la metadata del GAM.La primera vez que un usuario se loguea a la aplicación SD la misma invoca a un servicio Oauth que interactúa con el API del GAM para validar la información de la aplicación, el usuario y contraseña si esto es correcto responde Access Token que queda almacenado en el SD. Luego cuando el usuario navega por la aplicación SD, cada vez que invoca un servicio del servidor, el mismo incluye en su llamado el Access Token obtenido en el login, el servidor atiende su petición, valida el tokenvcon el GAM, y todo es correcto se ejecuta el servicio Rest solicitado, en caso contrario se responde un error.Noten nuevamente que todo esto que ocurre para que sus aplicaciones tengan seguridad, Uds. no deben programar una sola línea de código.