01

Una decisión contextual

RBAC agrupa permisos por rol; ABAC incorpora atributos del sujeto, recurso y contexto. El caso combina ambos: el rol permite intentar una acción y la política verifica grupo, propiedad, estado y separación de funciones. Parte de denegación por defecto y especifica las excepciones necesarias.

La reserva R-001 pertenece a G-A y fue creada por U-01. U-02 puede coordinar G-A, pero ese dato no lo habilita para actuar en G-B. La política debe ser igual de efectiva al llamar directamente a la API que al utilizar la interfaz visible.

02

De dónde proviene el grupo

Un parámetro groupId enviado por el cliente expresa lo que desea consultar, no una prueba de pertenencia. Obtén la identidad validada y contrasta la relación vigente desde una fuente confiable. Si la persona pertenece a varios grupos, valida explícitamente el grupo seleccionado en cada operación.

Acota la consulta de datos al ámbito autorizado. Evita cargar un recurso ajeno y serializarlo antes de verificar acceso. Un identificador difícil de adivinar puede reducir descubrimiento, pero no sustituye autorización. Revisa búsquedas, descargas, relaciones anidadas y trabajos asíncronos.

03

Acciones y propiedades sensibles

Consultar, editar, cancelar y aprobar son capacidades distintas. Modificar una descripción no implica cambiar groupId, creatorId, status o approvedBy. El servidor calcula esos campos y rechaza intentos de asignarlos desde un contrato de entrada que no los permite.

La transición de estado debe validar la política con los datos que realmente se actualizarán. Entre leer y escribir puede cambiar una pertenencia o la versión de la reserva. Utiliza transacciones o control de concurrencia para evitar que la comprobación se aplique a una versión y la escritura a otra.

04

Una matriz que encuentra fallos

Cruza sujeto, acción, recurso y estado. Incluye acceso propio, ajeno del mismo grupo, de otro grupo, identidad sin permisos y cuenta técnica. Para la lectura de este ejercicio, el solicitante consulta solo sus reservas; coordinación consulta las de su ámbito. Son reglas ficticias elegidas para hacer explícita la política.

La respuesta denegada debe ser consistente y no filtrar detalles de la reserva. Documenta la decisión de utilizar 403 o una respuesta que oculte existencia, sin confundirla con la ausencia de autenticación. No cierres el trabajo por un caso positivo: el aislamiento se demuestra principalmente intentando cruzar límites.

Criterios para aplicarlo

  • U-01 consulta R-A; se deniega consultar R-B aunque envíe groupId de G-B.
  • U-02 coordina G-A y no obtiene acceso a G-B por su rol.
  • S-AVISO no aprueba reservas; los campos de grupo y aprobación los controla el servidor.

05 · Práctica guiada · opcional

Practica lo aprendido

Especifica ocho decisiones permitidas o denegadas y justifica su evidencia.

  1. 01Define permisos por acción y estado.
  2. 02Combina U-01, U-02 y S-AVISO con R-A y R-B.
  3. 03Incluye listados, campos protegidos y pertenencia retirada.
  4. 04Describe dónde se aplica la política y cómo evitas cambios concurrentes.
Ver solución orientativa

U-01 consulta R-A; se deniega consultar R-B aunque envíe groupId de G-B.

U-02 coordina G-A y no obtiene acceso a G-B por su rol.

S-AVISO no aprueba reservas; los campos de grupo y aprobación los controla el servidor.

Revalidar política y versión al escribir; probar listados y exportaciones con datos de ambos grupos.

06

Comprueba lo aprendido

Responde antes de abrir la explicación. Esta comprobación es opcional y no guarda una puntuación.

01¿Un UUID evita accesos cruzados?

No. Un identificador no demuestra permiso sobre el objeto.

02¿Validar acceso solo en el portal basta?

No. La API y las rutas alternativas deben aplicar la política sobre el recurso.

Cómo demostrar el objetivo

Compara tu práctica con estos resultados. Si solo diseñaste una prueba, registra su resultado como esperado, no como observado.

  • La matriz incluye grupo propio, ajeno, permiso faltante y cambio de pertenencia.
  • Los casos denegados no revelan datos ni modifican reservas del otro grupo.

Qué debes recordar

  • La autorización se comprueba en cada solicitud.
  • El identificador de una reserva no es un permiso.
  • Los filtros de listado y las exportaciones también necesitan aislamiento.
Tu cuaderno · notas personales

Cuaderno local

Tus notas del contenido

Se guardan únicamente en este dispositivo. Puedes exportarlas cuando quieras.

Guardado local automático
Material de apoyo · descarga, glosario y referencias