🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónControl por relaciones y grafos de permisos
5 tareas · 40 min · Principiante
En muchas plataformas el permiso no sale de un rol ni de un atributo suelto, sino de cómo se relacionan las cosas: esta persona es miembro de este grupo, este grupo es editor de esta carpeta, este documento cuelga de esa carpeta. Es el control de acceso por relaciones (ReBAC). El Estudio Pitayal, de arquitectura, comparte proyectos así y te entrega sus tuplas de relación. Aprendes a recorrer el grafo a mano y a encontrar los accesos que nadie escribió pero que existen.
Objetivo de la sala
En muchas plataformas el permiso no sale de un rol ni de un atributo suelto, sino de cómo se relacionan las cosas: esta persona es miembro de este grupo, este grupo es editor de esta carpeta, este documento cuelga de esa carpeta. Es el control de acceso por relaciones (ReBAC). El Estudio Pitayal, de arquitectura, comparte proyectos así y te entrega sus tuplas de relación. Aprendes a recorrer el grafo a mano y a encontrar los accesos que nadie escribió pero que existen.En el control por relaciones, el permiso se deduce de un grafo. Cada arista es una tupla: un objeto, una relación y un sujeto. Por ejemplo, «el documento X tiene como editor al grupo Y». Las reglas de derivación dicen cómo se propagan las relaciones: editar implica leer, y lo que cuelga de una carpeta hereda lo que la carpeta concede.
El diseño más citado de este estilo es Zanzibar, el sistema de autorización de Google, descrito en un artículo de 2019 (USENIX ATC). Muchos productos de autorización por relaciones lo toman como referencia. En Pitayal el modelo es una versión pequeña e inventada para el laboratorio.
La fortaleza es que los permisos siguen la estructura de los datos. La debilidad es que el acceso de una persona ya no se ve en una sola línea: hay que recorrer el grafo.
Responde para continuar
¿Qué diferencia a un modelo por relaciones de uno por roles fijos?
Abre el laboratorio. En la carpeta pitayal hay dos archivos: modelo.txt con las reglas de derivación (D1 a D5) y tuplas.txt con las relaciones. Con ls ves la carpeta y con cat lees cada uno.
Para saber quién edita el documento presupuesto, sube por la relación padre: su carpeta, la carpeta de esa carpeta, y mira quién es editor ahí. Después baja por los grupos anidados hasta las personas. Cuenta personas distintas, no grupos.
Responde para continuar
¿Cuántas personas distintas pueden editar el documento presupuesto?
Los grupos anidados son una fuente clásica de acceso que nadie recuerda haber dado. Una persona entra a un grupo pequeño y, sin que nadie lo escriba en la carpeta, queda dentro de otro más grande porque el pequeño es miembro del grande.
En tuplas.txt, el grupo obra tiene como miembro a otro grupo. Ese otro grupo es la razón por la que dos personas de diseño pueden editar la carpeta del proyecto.
Responde para continuar
¿Qué grupo está anidado dentro del grupo obra?
El estudio comparte con un cliente las actas de obra, pero no su presupuesto interno. Revisa si lo cumple: una persona externa, que aparece en un grupo llamado externos, figura también como lector directo de una carpeta. Por la regla de herencia, ser lector de esa carpeta alcanza todo lo que cuelga de ella.
Responde para continuar
¿Qué carpeta tiene a ese usuario externo como lector directo?
Un grafo se corrige quitando o cambiando aristas, y cada corte tiene un alcance. Piensa en lo que pasa si se borra la tupla que dice que casa-roble-costos tiene como padre a casa-roble: la carpeta de costos queda sola en el grafo, y lo que se heredaba por esa arista deja de heredarse.
Responde para continuar
Si se borra esa tupla de padre, ¿qué cambia para el documento presupuesto?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.