En seguridad de sistemas informáticos, el control de acceso basado en relaciones (ReBAC) define un paradigma de autorización donde el permiso de un sujeto para acceder a un recurso está definido por la presencia de relaciones entre esos sujetos y los recursos.
En general, la autorización en ReBAC se realiza recorriendo el gráfico dirigido de relaciones. Los nodos y los bordes de este gráfico son muy similares a los triples en el formato de datos de Resource Description Framework (RDF) . [1] Los sistemas ReBAC permiten jerarquías de relaciones y algunos permiten definiciones más complejas que incluyen operadores algebraicos en relaciones como unión, intersección y diferencia. [2]
ReBAC ganó popularidad con el auge de las aplicaciones web de redes sociales, donde los usuarios necesitan controlar su información personal en función de su relación con el receptor de datos en lugar del rol del receptor. [3] El uso de ReBAC permitió definir colectivamente permisos para equipos y grupos, eliminando así la necesidad de establecer permisos individualmente para cada recurso.
A diferencia del control de acceso basado en roles (RBAC) , que define roles que llevan un conjunto específico de privilegios asociados con ellos y a los cuales se asignan sujetos, [4] ReBAC (como ABAC [5] ), permite definir permisos más detallados. [4] Por ejemplo, si un sistema ReBAC define recursos de tipo document , que pueden permitir una acción editor , si el sistema contiene la relación ('alice', 'editor', 'document:budget') , entonces el sujeto Alice puede editar el recurso específico document:budget . La desventaja de ReBAC es que, si bien permite un acceso más detallado, esto significa que la aplicación puede necesitar realizar más verificaciones de autorización.
Los sistemas ReBAC son denegados por defecto y permiten construir sistemas RBAC sobre ellos. [2]
Historia
El término ReBAC fue acuñado por Carrie E. Gates en 2006. [3]
En 2019, Google publicó un artículo que presentaba "Zanzibar: el sistema de autorización global y coherente de Google". [2] El artículo define un sistema compuesto por una configuración de espacio de nombres y datos de relación expresados como triples.
Desde la publicación de ese documento, varias empresas han creado ofertas comerciales y de código abierto de sistemas ReBAC.
Véase también
Referencias
- ^ "Introducción a RDF 1.1: Triples". www.w3.org . Consultado el 7 de julio de 2022 .
- ^ abc Pang, Ruoming; Caceres, Ramon; Burrows, Mike; Chen, Zhifeng; Dave, Pratik; Germer, Nathan; Golynski, Alexander; Graney, Kevin; Kang, Nina; Kissner, Lea; Korn, Jeffrey L. (2019). "Zanzíbar: el sistema de autorización global y coherente de Google". Conferencia técnica anual de USENIX de 2019 (USENIX ATC '19) . Renton, WA.
- ^ ab Gates, Carrie (2007). "Requisitos de control de acceso para la seguridad y privacidad de la Web 2.0". IEEE Web . 2 : 12–15.
- ^ ab "Autorización - Serie de hojas de referencia de OWASP". cheatsheetseries.owasp.org . Consultado el 21 de junio de 2022 .
- ^ Hu, Vincent C.; Ferraiolo, David; Kuhn, Rick; Schnitzer, Adam; Sandlin, Kenneth; Miller, Robert; Scarfone, Karen (enero de 2014). "Guía para la definición y consideraciones del control de acceso basado en atributos (ABAC)". NIST . doi :10.6028/nist.sp.800-162 . Consultado el 7 de julio de 2022 .