SlideShare une entreprise Scribd logo
1  sur  28
GeneXus Access
Manager
Artech
Diciembre 2013
Seguridad
• Infraestructura
• Seguridad a nivel de deploy de la aplicación
• Seguridad en la aplicación a nivel de programación
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21889

• Controles de autenticación / autorización - GAM
Aplicaciones WEB
• Autenticación
• N puntos de entrada
• Complejidad del código de control de acceso según políticas

• Autorización
• Granularidad de roles y permisos
GAM
• Solución de seguridad integrada en GeneXus

• Autenticación y Autorización
• Seguridad en aplicaciones WEB y Smart Devices
Cómo Funciona en web
• Login/Autenticación
• Chequeo de seguridad en
cada Get/Post/Ajax/etc.

APP. DB

GAM DB

WEB
APPLICATIO
N

GAM API

GETRespuesta Servicios
o Web page
POST o

Login
Usuario
Password

Session

APPLICATION SERVER
Escenarios
• Autenticación
• Local: Las credenciales del los usuarios residen en las propias tablas del GAM.
• Externa
• Login Facebook, Twitter, Google, WS externos (SOAP), Autenticación
Custom.

• GAM Escenarios de Autenticación
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15937

• Autorización
• Autorización puede ser delegada.

• GAM Escenarios de Autorización
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17583
Cómo habilitar el GAM
Propiedades de la versión:
• Enable Integrated Security =
TRUE

• Integrated Security Level
• None
• Authentication
• Authorization
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?19946
Qué ocurre a nivel de GX?
• API del GAM
•

External Objects para su acceso

• Ejemplos de uso de la API
•
•

Backend para administración del repositorio
GAMExampleLogin, GAMExampleNotAuthorized, etc.

• Creación de datastore secundario para repositorio del GAM
• Inicialización de propiedades
•
•

Usuario «admin»
Login Object for Web / SD

• Proceso de activación del GAM:
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21973
Qué ocurre en la aplicación?

• Control de acceso automático en cada objeto
• Control de flujo automático de la aplicación luego del control de
acceso
Backend del GAM
• Consola Web de administración (customizable)
•
•
•
•
•
•
•
•

GAM Users
Roles
Security Policies
Applications
Repository Configuration
Repository Connections
Authentication Types
GAM Permissions.

• GAM Web Backoffice:
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15935
API del GAM
•

External objects de la librería del GAM

Métodos
Load()
Save()
Delete()
Fail()
Success()

•
•
•
•
•

Otras propiedades y métodos
GAMRole.AddPermission
GAMUser.GetRoles
etc

•
•

•

GAM API:
•

•

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16535
Ejemplo de uso de la API del GAM
Autorización
• Integrated Security Level = Authorization
• Propiedad Permission Prefix

• Generación de Permisos automáticos por cada objeto
• <Permission Prefix>_Execute

• Permisos de ejecución y sobre los modos de transacciones y servicios
REST
• Código del chequeo de seguridad en el generador
• GAM Autorización:
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17918
Permisos en Transacciones
• En las Transacciones WEB
• <entity>_FullControl
• <entity>_Execute
• <entity>_Insert
• <entity>_Update
• <entity>_Delete

• En las Transacciones expuestas como Servicios Rest
• <entity>_Services_FullControl
• <entity>_Services_Execute
• <entity>_Services_Insert
• <entity>_Services_Update
• <entity>_Services_Delete

• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17916
Integración de aplicaciones con
GAM
• Problema a resolver
• Quiero integrar mi aplicación y debo autenticarme con un servicio de
terceros
Autenticación externa
•

Autenticación Facebook, Twitter, Google
•

•

Autenticación por web services SOAP
•

•

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21755

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16512

Autenticación «custom»
•

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21751
Autenticación Externa Google
• 1º definir una aplicación cliente en el sitio de Google.

GAM Google Authentication Type:
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?20020
Autenticación Externa Google
• Definir Google Authentication Type.
Autenticación externa: WS SOAP
• El servicio tiene que cumplir un formato de respuesta preestablecido.
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16512
Autenticación externa: Custom
• Proc GeneXus (.class, .dll, .rb) o Clase externa (no GeneXus)
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21751
Conversión del mecanismo
tradicional de seguridad al GAM
• Problema a resolver
• Debo asociar los usuarios del GAM con los usuarios de la BD de mi
aplicación: ExternalId
• Extender los atributos de los usuarios: Atributos dinámicos de la tabla de
usuarios.

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16552
Delegar Autorización
• Corporaciones con servidores de autorización

GET/POST/AJAX

WEB
APPLIC
ATION
GAM API

DB
GAM

Authorization Server
Autorización delegada
• Autorización delegada del GAM:
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22898
Deploy de aplicaciones con GAM
• Deploy de los binarios
• Deploy de los datos
• Hardening de la configuración del repositorio
Deploy de aplicaciones con GAM
• Binarios
• Librerias del GAM
• Connection.gam
• Application.gam
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21219

• Datos
• GAM deploy Tool
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18608
Puesta en producción
Hardening
•
•
•
•
•
•
•

Crear nuevas Repository Connections
Verificar el código de "GAMExampleRecoverPassword”
User Recovery Password Key Timeout (minutes)
Minimum Amount Of Characters In Login
Login Attempts To Lock User
Period change password (days)
Maximum Password History Entries

• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?1
8574
Escenarios con múltiples
repositorios
• Aplicación multitenant
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18710

• Aplicación en diferentes “sucursales”
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18709

• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?1
8682
Referencias
• http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?1
4960
• http://www.genexus.com/encuentro2013/gx23materiales?es,0,,3256

Contenu connexe

Tendances

How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationSafe Software
 
AI Builder with Power Platform
AI Builder with Power PlatformAI Builder with Power Platform
AI Builder with Power PlatformCheah Eng Soon
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy IntroductionDoug Gregory
 
Intro to Neo4j or why insurances should love graphs
Intro to Neo4j or why insurances should love graphsIntro to Neo4j or why insurances should love graphs
Intro to Neo4j or why insurances should love graphsPeter Neubauer
 
Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentationsflynn073
 
Getting Started with FIDO2
Getting Started with FIDO2Getting Started with FIDO2
Getting Started with FIDO2FIDO Alliance
 

Tendances (7)

How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS Integration
 
AI Builder with Power Platform
AI Builder with Power PlatformAI Builder with Power Platform
AI Builder with Power Platform
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
Intro to Neo4j or why insurances should love graphs
Intro to Neo4j or why insurances should love graphsIntro to Neo4j or why insurances should love graphs
Intro to Neo4j or why insurances should love graphs
 
Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentation
 
Getting Started with FIDO2
Getting Started with FIDO2Getting Started with FIDO2
Getting Started with FIDO2
 
02 - Basics of Qt
02 - Basics of Qt02 - Basics of Qt
02 - Basics of Qt
 

En vedette

Seguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaSeguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaGeneXus
 
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xusGeneXus
 
Generadores web Genexus nuevas caracteristicas para nuevas aplicaciones
Generadores web Genexus nuevas caracteristicas para nuevas aplicacionesGeneradores web Genexus nuevas caracteristicas para nuevas aplicaciones
Generadores web Genexus nuevas caracteristicas para nuevas aplicacionesGeneXus
 
Is your Business Process accessible from Mobile Devices? - Gonzalo Fernández
Is your Business Process accessible from Mobile Devices? - Gonzalo FernándezIs your Business Process accessible from Mobile Devices? - Gonzalo Fernández
Is your Business Process accessible from Mobile Devices? - Gonzalo FernándezGeneXus
 
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...GeneXus
 
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...GeneXusUSA
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...GeneXus
 
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloLaboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloGeneXus
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3GeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e Svizzera
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e SvizzeraOverview GeneXus Evolution 3 - III Evento GeneXus Italia e Svizzera
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e SvizzeraRad Solutions
 

En vedette (14)

Seguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistemaSeguridad, atributo crítico de un sistema
Seguridad, atributo crítico de un sistema
 
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...
0163 autenticacion y_permisos_en_mi_aplicacion_gene_xus_como_autenticar_contr...
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
3.GeneXus creación_de_la_aplicación
3.GeneXus creación_de_la_aplicación3.GeneXus creación_de_la_aplicación
3.GeneXus creación_de_la_aplicación
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
 
Generadores web Genexus nuevas caracteristicas para nuevas aplicaciones
Generadores web Genexus nuevas caracteristicas para nuevas aplicacionesGeneradores web Genexus nuevas caracteristicas para nuevas aplicaciones
Generadores web Genexus nuevas caracteristicas para nuevas aplicaciones
 
Is your Business Process accessible from Mobile Devices? - Gonzalo Fernández
Is your Business Process accessible from Mobile Devices? - Gonzalo FernándezIs your Business Process accessible from Mobile Devices? - Gonzalo Fernández
Is your Business Process accessible from Mobile Devices? - Gonzalo Fernández
 
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...
Responsive Web Design: Sin fronteras para una excelente experiencia de usuari...
 
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...
GeneXus X Evolution 3, Part II, with Veronica Buitron, CTO, GeneXus USA, GX S...
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
 
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloLaboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e Svizzera
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e SvizzeraOverview GeneXus Evolution 3 - III Evento GeneXus Italia e Svizzera
Overview GeneXus Evolution 3 - III Evento GeneXus Italia e Svizzera
 

Similaire à GAM GeneXus Access Manager

Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...
Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...
Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...GeneXus
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Cinthia Soca
 
¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
	 ¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?	 ¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?GeneXus
 
Security in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargeSecurity in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargePlain Concepts
 
Nuevos escenarios cubiertos por el gam
Nuevos escenarios cubiertos por el gamNuevos escenarios cubiertos por el gam
Nuevos escenarios cubiertos por el gamGeneXus
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
76 Evolucion De Genexus Server
76 Evolucion De Genexus Server76 Evolucion De Genexus Server
76 Evolucion De Genexus ServerGeneXus
 
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sdGeneXus
 
Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus TiloGeneXus
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Esteban Saavedra
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombiagoscar
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePointwww.encamina.com
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicosRené Olivo
 
Aprende a usar Google Tag Manager (GTM)
Aprende a usar Google Tag Manager (GTM)Aprende a usar Google Tag Manager (GTM)
Aprende a usar Google Tag Manager (GTM)Semmantica
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI Informática
 

Similaire à GAM GeneXus Access Manager (20)

Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...
Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...
Garantizar la seguridad de mis aplicaciones: un desafío que el GAM asume - Sa...
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
 
¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
	 ¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?	 ¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
 
Security in MVC Core by Hugo Biarge
Security in MVC Core by Hugo BiargeSecurity in MVC Core by Hugo Biarge
Security in MVC Core by Hugo Biarge
 
Nuevos escenarios cubiertos por el gam
Nuevos escenarios cubiertos por el gamNuevos escenarios cubiertos por el gam
Nuevos escenarios cubiertos por el gam
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
76 Evolucion De Genexus Server
76 Evolucion De Genexus Server76 Evolucion De Genexus Server
76 Evolucion De Genexus Server
 
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
 
30.gam introduction sp
30.gam introduction sp30.gam introduction sp
30.gam introduction sp
 
Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus Tilo
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombia
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
 
Verifiaciones móviles
Verifiaciones móvilesVerifiaciones móviles
Verifiaciones móviles
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicos
 
Aprende a usar Google Tag Manager (GTM)
Aprende a usar Google Tag Manager (GTM)Aprende a usar Google Tag Manager (GTM)
Aprende a usar Google Tag Manager (GTM)
 
Google Cloud Messaging
Google Cloud MessagingGoogle Cloud Messaging
Google Cloud Messaging
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
Msdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXityMsdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXity
 
(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity
 

Plus de GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)GeneXus
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserverGeneXus
 

Plus de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserver
 

GAM GeneXus Access Manager

  • 2. Seguridad • Infraestructura • Seguridad a nivel de deploy de la aplicación • Seguridad en la aplicación a nivel de programación • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21889 • Controles de autenticación / autorización - GAM
  • 3. Aplicaciones WEB • Autenticación • N puntos de entrada • Complejidad del código de control de acceso según políticas • Autorización • Granularidad de roles y permisos
  • 4. GAM • Solución de seguridad integrada en GeneXus • Autenticación y Autorización • Seguridad en aplicaciones WEB y Smart Devices
  • 5. Cómo Funciona en web • Login/Autenticación • Chequeo de seguridad en cada Get/Post/Ajax/etc. APP. DB GAM DB WEB APPLICATIO N GAM API GETRespuesta Servicios o Web page POST o Login Usuario Password Session APPLICATION SERVER
  • 6. Escenarios • Autenticación • Local: Las credenciales del los usuarios residen en las propias tablas del GAM. • Externa • Login Facebook, Twitter, Google, WS externos (SOAP), Autenticación Custom. • GAM Escenarios de Autenticación • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15937 • Autorización • Autorización puede ser delegada. • GAM Escenarios de Autorización • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17583
  • 7. Cómo habilitar el GAM Propiedades de la versión: • Enable Integrated Security = TRUE • Integrated Security Level • None • Authentication • Authorization http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?19946
  • 8. Qué ocurre a nivel de GX? • API del GAM • External Objects para su acceso • Ejemplos de uso de la API • • Backend para administración del repositorio GAMExampleLogin, GAMExampleNotAuthorized, etc. • Creación de datastore secundario para repositorio del GAM • Inicialización de propiedades • • Usuario «admin» Login Object for Web / SD • Proceso de activación del GAM: • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21973
  • 9. Qué ocurre en la aplicación? • Control de acceso automático en cada objeto • Control de flujo automático de la aplicación luego del control de acceso
  • 10. Backend del GAM • Consola Web de administración (customizable) • • • • • • • • GAM Users Roles Security Policies Applications Repository Configuration Repository Connections Authentication Types GAM Permissions. • GAM Web Backoffice: • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15935
  • 11. API del GAM • External objects de la librería del GAM Métodos Load() Save() Delete() Fail() Success() • • • • • Otras propiedades y métodos GAMRole.AddPermission GAMUser.GetRoles etc • • • GAM API: • • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16535
  • 12. Ejemplo de uso de la API del GAM
  • 13. Autorización • Integrated Security Level = Authorization • Propiedad Permission Prefix • Generación de Permisos automáticos por cada objeto • <Permission Prefix>_Execute • Permisos de ejecución y sobre los modos de transacciones y servicios REST • Código del chequeo de seguridad en el generador • GAM Autorización: http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17918
  • 14. Permisos en Transacciones • En las Transacciones WEB • <entity>_FullControl • <entity>_Execute • <entity>_Insert • <entity>_Update • <entity>_Delete • En las Transacciones expuestas como Servicios Rest • <entity>_Services_FullControl • <entity>_Services_Execute • <entity>_Services_Insert • <entity>_Services_Update • <entity>_Services_Delete • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17916
  • 15. Integración de aplicaciones con GAM • Problema a resolver • Quiero integrar mi aplicación y debo autenticarme con un servicio de terceros
  • 16. Autenticación externa • Autenticación Facebook, Twitter, Google • • Autenticación por web services SOAP • • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21755 http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16512 Autenticación «custom» • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21751
  • 17. Autenticación Externa Google • 1º definir una aplicación cliente en el sitio de Google. GAM Google Authentication Type: http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?20020
  • 18. Autenticación Externa Google • Definir Google Authentication Type.
  • 19. Autenticación externa: WS SOAP • El servicio tiene que cumplir un formato de respuesta preestablecido. • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16512
  • 20. Autenticación externa: Custom • Proc GeneXus (.class, .dll, .rb) o Clase externa (no GeneXus) • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21751
  • 21. Conversión del mecanismo tradicional de seguridad al GAM • Problema a resolver • Debo asociar los usuarios del GAM con los usuarios de la BD de mi aplicación: ExternalId • Extender los atributos de los usuarios: Atributos dinámicos de la tabla de usuarios. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16552
  • 22. Delegar Autorización • Corporaciones con servidores de autorización GET/POST/AJAX WEB APPLIC ATION GAM API DB GAM Authorization Server
  • 23. Autorización delegada • Autorización delegada del GAM: • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22898
  • 24. Deploy de aplicaciones con GAM • Deploy de los binarios • Deploy de los datos • Hardening de la configuración del repositorio
  • 25. Deploy de aplicaciones con GAM • Binarios • Librerias del GAM • Connection.gam • Application.gam http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21219 • Datos • GAM deploy Tool http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18608
  • 26. Puesta en producción Hardening • • • • • • • Crear nuevas Repository Connections Verificar el código de "GAMExampleRecoverPassword” User Recovery Password Key Timeout (minutes) Minimum Amount Of Characters In Login Login Attempts To Lock User Period change password (days) Maximum Password History Entries • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?1 8574
  • 27. Escenarios con múltiples repositorios • Aplicación multitenant • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18710 • Aplicación en diferentes “sucursales” • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18709 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?1 8682

Notes de l'éditeur

  1. Que abarca la seguridad de una aplicacion
  2. GAM esunasolucion de seguridadque se incorpora de maneraautomática en nuestraskbs.Lo liberamos en la version Evolution 2, y busca resolver tantoproblemasde autenticación como de autorizacion en nuestras apliaciones WEB y Smart Devices.
  3. Usando el GAM vamos a contar con un alto nivel de automatización. Esdecir, el GAM comotalnosva a permitirserdeclarativos en loquequeremoshacer. Si biencontamos con una API para programar el comportamiento de la aplicación, apunta a seraltamentedeclarativo, y a reducir el código lo mas posible, porque el código de la funcionalidadestáresueltodentro del modulo del GAM.
  4. Doc: GAM AuthenticationScenarioshttp://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15937Doc: GAM AuthenticationTypeshttp://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16508Doc: GAM AuthorizationScenarioshttp://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17583
  5. Parahabilitar el GAM se debeir a nivel de la version de la kb y configurar la propiedad enable integrated security = true.Existeotrapropiedadcuandohabilitamos el GAM, a nivel de version, llamada Integrated Security Level quepermiteindicar el valor poromisión en cuanto a seguridad, de los objetos de la KB.Esdecir, estapropiedad se encuentra a nivel de objetotambién, y permiteindicarsi en eseobjeto se va a verificar la seguridadde maneraautomatica o no.El valor NONE de dichapropiedadindicaqueeseobjetoserápublico. El valor Authentication indicaquesólousuariosautenticadospodranejecutarlo. Si el valor de la propiedades Authorization el usuarioademás de haberseautenticadotendraqueestarautorizado para ejecutardichoobjeto.La mismapropiedad a nivel de version permiteindicar el valor pordefectoparatodos los objetos de la kb.
  6. Que ocurre cuando se habilita la seguridad integrada?Lo primeroqueocurreesque se importa un xpzquecontieneobjetosexternos para acceder a la API del GAM.Tambien se importanopcionalmenteobjetosquehacenuso de esta API y conformanunaaplicacion a la cualllamamos backend del gam, queveremos mas adelante. Algunos de esosobjetostambién son ejemplos de login y de registraciónquepodremosusar en nuestraaplicación.Vamos a generar la aplicacion (hacer rebuild).Lo primeroqueocurreesque me preguntasideseocrear la base de datos del GAM y sustablas.Se crea en la KB un datastoresecundario con settings default en base al datastore principal en donde van a estarlastablas del GAM con repositorios, usuarios, roles, permisos, etcLuego de creadaslastablas se pueblanlasmismas con metadata.La metadata incluye la version del GAM, la creación de un repositorio de trabajo, un usuario de conexion y un usuario de aministración.La configuración del usuario de administración la vemos a nivel del environment.Este usuario de adminstracionsirve para facilitar la prototipacion, tener un usuario de partida con el cualempezar a trabajar.Se configurapordefecto la propiedad Login Object for WEB y Login Object for SD..Se genera el codigo de seguridad en cadaobjeto..Doc GAM ActivationProcess:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21973
  7. Que ocurre luego de configurar estas propiedades?Funcionalmente lo que ocurre es que los objetos de la kb van a requerir seguridad, lo cual implica que cuando alguno de ellos se intente ejecutar y el usuario no este autenticado en la aplicación, automáticamente se va a desplegar para él un webpanel de login, o un SD panel de login según corresponda, y una vez que el usuario ingrese sus credenciales, automáticamente se va a redirigir al objeto donde dio la excepción.
  8. Doc GAM Web Backoffice:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15935
  9. GAM API:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16535
  10. 1. La propiedad Integrated Security Levela nivel de los objetos se puede configurar con el valor Authorization.Un objeto que tenga Integrated Security Level = Authorization, tiene una propiedad más que es PermissionPrefix2. Por cada objeto en esta condicion se genera un permiso, al cual llamamos permiso automático, cuyo nombre se basa en la propiedad permission_prefix del objeto. Con permiso automático nos referimos a que de manera automática se realiza el chequeo de seguridad en ese objeto, el código de chequeo de seguridad lo hace el generador, es decir, esta en el código generado.3. Se generan permisos automáticos de ejecución de los objetos tanto web como SD.Y sobre los modos de las transacciones y los servicios rest.Doc GAM Authorization:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17918
  11. Recuerden que en plataforma SD la capa de negocios se resuelve a traves de servicios RESTEs por eso que se generan permisos automáticos para las transacciones expuestas como servicios rest.
  12. En algunos casos se quiere dar la posibilidad al usuario que se pueda autenticar usando un proveedor de identidades externo.Es el caso de permitir a los usuarios de nuestra aplicación autenticarse usando facebook, twitter, google, o algunwebservice externo.Autenticación Twitter, FB, Google:Lo único que hay que hacer es ir al sitio de FB, Twitter, Google, y definir alli una aplicación cliente, luego de eso se nos va a dar un client id y un clientsecret, con esa información vamos al backend del GAM y configuramos el tipo de autenticacion que corresponde.GAM ExternalAuthenticationTypehttp://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21755
  13. Vamos a ver como aplicar autenticación externa, por ejemplo con Google en nuestra aplicación (Facebook y twitter es similar).Primero se debe definir la aplicación cliente en el sitio de Google, lo cual nos va a dar como resultado un ClientID y ClientSecret provistos por Google.GAM Google AuthenticationType:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?20020
  14. Luego dese el Backend WEB vamos a crear un nuevo authenticationtypede tipo Google he ingresamos el ClientId y ClientSecret que nos proporciona Google.Con esos pasos ya tenemos configurada nuestra aplicación con autenticacion contra Google.
  15. Autenticacion por WS externos SOAP:El servicio tiene que tener un formato de respuesta pre-establecido.Tenemos dos versiones soportadas. La version 2.0 da mayor flexibilidad dado que se pueden pasar y retornar mayor cantidad de parámetros del servicio.http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16512
  16. En algunos casos el proveedor de identidades externos debe manejar sesiones web, por lo cual no es posible que sea SOAP. En ese caso usamos el tipo de autenticación custom.http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?21751
  17. GAMexternalAuthorization:http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22898
  18. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18574
  19. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18682