Desarrollo de Software con IA

Roles y permisos: admin no es un botón, es una matriz

Construir una matriz rol-permiso-acción y exigírsela a la IA como criterio de aceptación.

El poder se diseña en una tabla, no en un botón

Cuando solo hay «usuario» y «admin», el admin puede con todo y cualquier error de uno es un desastre total. La forma profesional es una matriz de roles y permisos: filas = roles, columnas = acciones, y en cada casilla decides sí o no. Esa matriz, y no una sensación, es lo que le pides a la IA que implemente.

Una matriz para un gestor de tareas

Cada casilla es una decisión tuya. La IA implementa EXACTAMENTE esta tabla, ni una fila más de poder.
RolVer tareaCrearEditar la suyaEditar la ajenaBorrarVer a todos
InvitadoSí (asignadas)NoNoNoNoNo
MiembroSí (proyecto)SíSíNoSolo la suyaNo
ManagerSíSíSíSíSíSí
AdminSíSíSíSíSíSí (y gestiona roles)

Tres principios que evitan el abuso de poder

La matriz hace visible dónde puede colarse un abuso

Prompt con la matriz

La matriz como criterio de aceptación
Implementa control por roles con esta matriz EXACTA (ningun rol obtiene permiso extra sin que lo diga):\n- Invitado: solo VER tareas asignadas.\n- Miembro: ver/crear/editar SUS tareas; borrar solo las suyas.\n- Manager: ademas editar/ver tareas ajenas y del proyecto.\n- Admin: todo lo anterior + gestionar roles.\n\nReglas:\n- la comprobacion se hace en el SERVIDOR en cada endpoint, leyendo el rol del token\n- si un endpoint pide permiso que el rol no tiene, responde 403\n- al final, generame la lista de endpoints y que rol necesita cada uno para que yo la audite.

Prueba

Un «Invitado» logra borrar una tarea llamando directo al endpoint DELETE aunque su rol no lo permite. ¿Qué falló en la implementación?

Dar al rol «admin» el mayor número posible de permisos es una buena práctica.

Detecta el diseño de permisos defectuoso

Revisas una matriz de roles que propuso una IA. Señala la decisión que rompe el principio de mínima autoridad:

  1. El Miembro solo puede editar sus propias tareas.
  2. El Manager puede ver todas las tareas del proyecto.
  3. Todos los roles, incluido Invitado, pueden borrar cualquier tarea «por si acaso».
  4. El Admin gestiona los roles además de lo demás.

Identifica la linea con error.

Dibuja la matriz de roles y permisos de tu proyecto (3-4 roles, tus acciones reales). Conviértela en criterio de aceptación y pide a la IA que la aplique en el servidor y te la devuelva para auditar.

PistaSi no escribiste la matriz, la IA decidirá quién puede hacer qué… y no consultó contigo.