Acceso administrado por el usuario


El acceso administrado por el usuario (UMA) es un estándar de protocolo de administración de acceso basado en OAuth . La versión 1.0 del estándar fue aprobada por la Iniciativa Kantara el 23 de marzo de 2015. [1]

Como se describe en los estatutos del grupo que desarrolló UMA, [2] el propósito de las especificaciones del protocolo es “permitir que el propietario de un recurso controle la autorización del intercambio de datos y otros accesos a recursos protegidos realizados entre servicios en línea en nombre del propietario o con autorización del propietario por parte solicitante autónoma”. Este propósito tiene implicaciones de privacidad y consentimiento para las aplicaciones web y la Internet de las cosas (IoT), según lo explorado por la colección de estudios de casos aportados por los participantes en el grupo de estándares. [3]

El Grupo de Trabajo UMA de la Iniciativa Kantara [4] celebró su primera reunión [5] el 6 de agosto de 2009. Los principios de diseño y el diseño técnico de UMA se basaron en el trabajo anterior de los empleados de Sun Microsystems, iniciado en marzo de 2008, en un protocolo llamado ProtectServe. A su vez, ProtectServe se vio influenciado por los objetivos del movimiento de gestión de relaciones con proveedores y un esfuerzo derivado llamado VRM basado en fuentes.

Las primeras versiones de ProtectServe y UMA aprovecharon el protocolo OAuth 1.0. A medida que OAuth experimentó un cambio significativo a través de la publicación de la especificación del Protocolo de autorización de recursos web (WRAP) y, posteriormente, los borradores de OAuth 2.0, la especificación UMA ha seguido el ritmo y ahora utiliza la familia de especificaciones OAuth 2.0 para varios flujos de protocolo clave.

UMA no utiliza ni depende de OpenID 2.0 como medio de identificación del usuario. Sin embargo, opcionalmente utiliza el protocolo OpenID Connect basado en OAuth como un medio para recopilar declaraciones de identidad de una parte solicitante para intentar satisfacer la política de acceso del usuario que autoriza.

UMA tampoco utiliza ni depende del lenguaje de marcado de control de acceso extensible ( XACML ) como medio para codificar políticas de usuario o solicitar decisiones de políticas. UMA no dicta el formato de la política, ya que la evaluación de la política se realiza internamente en el servidor de autorización (AS) desde la perspectiva de UMA. Por lo general, XACML se usaría para implementar las políticas dentro del AS. Su implementación está fuera del alcance de UMA. Los flujos del protocolo UMA para solicitar permisos de acceso tienen algunas características en común con el protocolo XACML.


Este diagrama proporciona una descripción general de alto nivel de las entidades y relaciones involucradas en la especificación UMA.