PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de...

29
Casos de uso de Entitlements Problemas de manejo de URN El futuro PAPI + openLDAP para control de acceso basado en entitlements Victoriano Giralt José A. Accino Servicio Central de Informática Universidad de Málaga Logroño, 23 de octubre de 2005 PAPI + openLDAP para control de acceso basado en entitlements

Transcript of PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de...

Page 1: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

PAPI + openLDAP para control de accesobasado en entitlements

Victoriano Giralt José A. Accino

Servicio Central de InformáticaUniversidad de Málaga

Logroño, 23 de octubre de 2005

PAPI + openLDAP para control de acceso basado en entitlements

Page 2: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Índice

1 Casos de uso de EntitlementsControl de solicitudes de gastoControl de usos del número de móvil

2 Problemas de manejo de URN

3 El futuro

PAPI + openLDAP para control de acceso basado en entitlements

Page 3: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Asigna niveles de acceso a la aplicación indicada:

Función

Modo de uso

Ventajas

entitlementel URN contiene un derecho del usuario o rol

PAPI + openLDAP para control de acceso basado en entitlements

Page 4: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Asigna niveles de acceso a la aplicación indicada:

Función

Modo de uso

Ventajas

applAccess

tipo de derecho, en este caso acceso a unaaplicación.

PAPI + openLDAP para control de acceso basado en entitlements

Page 5: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Asigna niveles de acceso a la aplicación indicada:

Función

Modo de uso

Ventajas

SolicitudGastoaplicación sobre la que se ejerce el derecho.

PAPI + openLDAP para control de acceso basado en entitlements

Page 6: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Asigna niveles de acceso a la aplicación indicada:

Función

Modo de uso

Ventajas

NIVELnivel de acceso concedido, específico de laaplicación:RUG, ROU, RGE

PAPI + openLDAP para control de acceso basado en entitlements

Page 7: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

Consulta LDAPConsulta convencional al directorio desde laaplicación para averiguar si el usuario que se haautenticado tiene derecho a usarla y el nivel deacceso que se le ha concedido.

PAPI + openLDAP para control de acceso basado en entitlements

Page 8: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

Consulta vía servicio webLa aplicación consulta un servicio web dándolecomo entrada los identificadores del usuario yde la aplicación, y obteniendo el nivel de accesoo la ausencia de derecho.

PAPI + openLDAP para control de acceso basado en entitlements

Page 9: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

PAPI (futuro)

El futuro, como tal, se verá más adelante.

PAPI + openLDAP para control de acceso basado en entitlements

Page 10: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

Punto único de autorizaciónTodas las autorizaciones de un objeto, explícitaso implícitas, están centralizadas en una entradadel directorio.

PAPI + openLDAP para control de acceso basado en entitlements

Page 11: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

Modelo único de autorizaciónEl formato URN nos permite expresar todas lasautorizaciones de la misma forma, dejando acada aplicación su propia semántica.

PAPI + openLDAP para control de acceso basado en entitlements

Page 12: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Control de solicitudes de gasto(en producción)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:applAccess:SolicitudGasto:NIVEL

Función

Modo de uso

Ventajas

Agente-Función-Calificador

Quién puede hacer Qué sobre Qué objeto

PAPI + openLDAP para control de acceso basado en entitlements

Page 13: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

Gestión personal de permisos

Es el usuario quien da permisos a lasaplicaciones sobre sus datos.¿Podemos usar los entitlements?¿Estamos dentro de la ortodoxia?¿Un nuevo irisUserPrivateAttribute?

PAPI + openLDAP para control de acceso basado en entitlements

Page 14: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

Control de acceso a atributosDiversas aplicaciones pueden quererutilizar un atributo, el usuario puededecidir si permite o no el uso del atributopara el fin de cada una de ellas.

PAPI + openLDAP para control de acceso basado en entitlements

Page 15: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

mobileEste atributo se puede utilizar paradiversas aplicaciones, como pueden ser:

+ cambio de claves olvidadas

+ envío de calificaciones

+ envío de notificaciones

PAPI + openLDAP para control de acceso basado en entitlements

Page 16: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

VALOR = passwordChange

El usuario autoriza el uso de su númerode móvil a la pasarela SMS para lafunción de cambio de claves. Visto deotra forma, el usuario permite que sunúmero de móvil se pueda usar parainiciar un cambio de clave de acceso.

PAPI + openLDAP para control de acceso basado en entitlements

Page 17: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

VALOR = marksEl usuario autoriza el uso de su númerode móvil para el acceso a sus notas ypara que se le envíen sus calificaciones.

PAPI + openLDAP para control de acceso basado en entitlements

Page 18: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

VALOR = maySpam

El usuario autoriza el uso de su númerode móvil para el envío decomunicaciones desde la Universidad.

PAPI + openLDAP para control de acceso basado en entitlements

Page 19: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

irisUserEntitlementContiene permisos que se conceden alobjeto (usuario).

PAPI + openLDAP para control de acceso basado en entitlements

Page 20: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

irisUserPrivateAttributeContiene permisos que el objeto(usuario) concede para acceder a susatributos.

PAPI + openLDAP para control de acceso basado en entitlements

Page 21: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Control de solicitudes de gastoControl de usos del número de móvil

Usos del número de móvil(un caso más complicado)

irisUserEntitlement = urn:mace:rediris.es:uma.es:entitlement:attrAccess:mobile:VALOR

Usuario a aplicación

El problema

Ejemplos

Pero ...

¿Nuevo irisUserPrivateAttribute?

¿Cambiamos a un modelo de URN?¿Podría funcionar?

PAPI + openLDAP para control de acceso basado en entitlements

Page 22: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Sobre los problemas de manejo de URNo, en realidad, de la ausencia de ellos

Los problemas del uso de URNs son más de percepción quereales

Búsqueda de URNs

Procesamiento deEntitlements

Procesamiento deURNs

URN = cadena de textoSi se indiza adecuadamente , LDAPdestaca por la rapidez de búsqueda desubcadenas; da igual la longitud de lasmismas.

PAPI + openLDAP para control de acceso basado en entitlements

Page 23: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Sobre los problemas de manejo de URNo, en realidad, de la ausencia de ellos

Los problemas del uso de URNs son más de percepción quereales

Búsqueda de URNs

Procesamiento deEntitlements

Procesamiento deURNs

Entitlement = atributo multivaluadoSu tratamiento no es más complejo queel de otros atributos multivaluados.

PAPI + openLDAP para control de acceso basado en entitlements

Page 24: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

Sobre los problemas de manejo de URNo, en realidad, de la ausencia de ellos

Los problemas del uso de URNs son más de percepción quereales

Búsqueda de URNs

Procesamiento deEntitlements

Procesamiento deURNs

URN = cadena de textoLa búsqueda de datos en un URN es unsimple proceso de cadenas, que loslenguajes al uso realizan con granfacilidad.

PAPI + openLDAP para control de acceso basado en entitlements

Page 25: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

El futuroes hoy

Eliminar acceso LDAP

Servicios web

PAPI

PAPI + openLDAP para control de acceso basado en entitlements

Page 26: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

El futuroes hoy

Eliminar acceso LDAP

Servicios web

PAPI

El acceso, NO el directorioLas aplicaciones no pueden tenerel control de acceso.El directorio no puede saber si laaplicación usa las credencialesque le corresponden.Por ello, podrían usar informaciónpara la que no están autorizadas.

PAPI + openLDAP para control de acceso basado en entitlements

Page 27: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

El futuroes hoy

Eliminar acceso LDAP

Servicios web

PAPI

Control de credencialesLas aplicaciones NO DEBENtener acceso a las credenciales.¿Por qué?¿Hay solución?

PAPI + openLDAP para control de acceso basado en entitlements

Page 28: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

El futuroes hoy

Eliminar acceso LDAP

Servicios web

PAPI

Solución para el acceso

Son el interfaz entre lasapllicaciones y el directorio.Al ser pocos, permiten unarevisión exhaustiva del códigopara verificar que es acorde a lapolítica de acceso a los atributos.

PAPI + openLDAP para control de acceso basado en entitlements

Page 29: PAPI + openLDAP para control de acceso basado en entitlements€¦ · Control de solicitudes de gasto (en producción) irisUserEntitlement = urn:mace:rediris.es:uma.es: entitlement:applAccess:SolicitudGasto:NIVEL

Casos de uso de EntitlementsProblemas de manejo de URN

El futuro

El futuroes hoy

Eliminar acceso LDAP

Servicios web

PAPI

Atenticación Y AutorizaciónEl AS es el único punto conacceso a las credenciales.La aserción de PAPI puedecontener los entitlements definidospor el administrador para cadaPOA (=aplicación).El AS controla el acceso a losatributos.

PAPI + openLDAP para control de acceso basado en entitlements