🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPolíticas como código, leer las reglas de un motor
5 tareas · 38 min · Principiante
Cuando las reglas de acceso se escriben como código, se pueden revisar, probar y versionar como cualquier otro código. A cambio, quien las audita tiene que saber leerlas y simular a mano lo que el motor decidiría. Zumbambico Logística publicó la versión 2 de su política en un lenguaje propio. Aprendes a evaluar una solicitud contra una lista de reglas con la denegación prevalente, a reconocer una regla demasiado ancha y a entender qué significa «negado por defecto».
Objetivo de la sala
Cuando las reglas de acceso se escriben como código, se pueden revisar, probar y versionar como cualquier otro código. A cambio, quien las audita tiene que saber leerlas y simular a mano lo que el motor decidiría. Zumbambico Logística publicó la versión 2 de su política en un lenguaje propio. Aprendes a evaluar una solicitud contra una lista de reglas con la denegación prevalente, a reconocer una regla demasiado ancha y a entender qué significa «negado por defecto».Una política como código es un archivo de texto que un motor evalúa: recibe quién pide, qué pide y sobre qué, y devuelve permitir o denegar. Hay motores reales de este tipo, como Open Policy Agent y Cedar. El lenguaje de este laboratorio es inventado y más sencillo, pero la lectura es la misma.
Lo valioso de tenerla en un archivo es que se guarda en un repositorio, alguien más la revisa antes de publicarla, se prueba con casos y se sabe qué cambió entre una versión y la siguiente. Lo que no cambia es el trabajo de fondo: hay que decidir bien qué se permite.
Responde para continuar
¿Qué se gana principalmente al tener la política en un archivo versionado?
Abre el laboratorio. En la carpeta zumbambico hay tres archivos: lenguaje.txt explica cómo decide el motor, politica_v2.txt trae las siete reglas y solicitudes.txt las nueve peticiones del día. Con ls y cat los lees.
El motor aplica tres pasos en orden: si alguna regla de denegar se cumple, se deniega; si no, se permite cuando alguna regla de permitir se cumple; y si no se cumple ninguna, se deniega. Evalúa las nueve solicitudes con cuidado: una regla solo se cumple si todas sus comparaciones se cumplen. Cuenta cuántas se permiten.
Responde para continuar
¿Cuántas de las nueve solicitudes se permiten?
La regla que se evalúa primero cambia el resultado. Hay una solicitud que cumple una regla de permitir y a la vez una de denegar: si el motor fuera «el primero que coincide gana» podría salir distinto, pero con denegación prevalente el resultado es negar. Es el patrón que se usa para poner un límite que nada puede levantar, como un cliente especial que requiere un nivel alto.
Encuentra la solicitud que tendría permiso por una regla y queda negada por otra.
Responde para continuar
¿Qué solicitud tiene una regla que la permite y otra que la deniega?
Una regla de permitir conviene que diga sobre qué recurso aplica. Una que solo mira el rol y el inicio del nombre de la acción alcanza todo lo que empiece así, incluso recursos que quien la escribió nunca tuvo en mente. En la política de Zumbambico solo una regla de permitir no acota el tipo de recurso, y por eso una solicitud sobre un pago quedó permitida por ella.
Responde para continuar
¿Qué regla de permitir no limita el tipo de recurso sobre el que aplica?
Una de las solicitudes se niega sin que ninguna regla de denegar se cumpla: simplemente nadie la permitió. Es el comportamiento por defecto de la política, que protege cuando surgen casos que nadie previó, y tiene un costo: cada permiso legítimo hay que escribirlo. Cuando un usuario se queja de que «no puede» algo, lo primero es mirar si existe una regla que lo permita, no solo si hay una que lo niegue.
Responde para continuar
¿Qué significa que una solicitud se niegue por defecto en esta política?
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.