La autorización es el proceso que decide qué puede hacer un usuario, dispositivo o aplicación ya identificado: qué datos puede leer, qué acciones puede realizar y a qué recursos puede acceder.
Cómo funciona la autorización
La autorización viene después de la autenticación: la autenticación responde a «¿quién eres?» y la autorización, a «¿qué puedes hacer?». Los sistemas la aplican mediante modelos de control de acceso:
- Listas de control de acceso (ACL): permisos asociados a cada archivo u objeto;
- Control de acceso basado en roles (RBAC): derechos asignados a roles como «contabilidad» o «soporte técnico»;
- Control de acceso basado en atributos (ABAC): decisiones según atributos como departamento, estado del dispositivo, ubicación u hora;
- Control de acceso basado en relaciones: lo usan los servicios en la nube para compartir documentos con personas concretas.
En la web, OAuth 2.0 (RFC 6749) es un marco de autorización: permite que un usuario conceda a una aplicación acceso limitado a sus datos sin compartir la contraseña, mediante tokens de acceso con ámbitos (scopes) definidos.
Por qué importa la autorización
Los fallos de autorización están entre las vulnerabilidades graves más comunes. El «control de acceso roto» (broken access control) ocupa el primer puesto del OWASP Top 10 (2021), y la autorización rota a nivel de objeto (BOLA) encabeza el OWASP API Security Top 10. Estas debilidades se catalogan como CWE-862 (falta de autorización) y CWE-863 (autorización incorrecta). Un ejemplo típico es la referencia directa insegura a objetos (IDOR): cambiar un identificador en la URL muestra la factura de otro cliente. Este tipo de errores ha expuesto millones de registros, y los fallos que permiten a un usuario ejecutar funciones de administrador llevan directamente a la escalada de privilegios.
Buenas prácticas
- Comprobar los permisos en el servidor en cada petición, nunca solo en la interfaz de usuario.
- Denegar por defecto y seguir el principio de mínimo privilegio.
- Centralizar la lógica de autorización y revisar periódicamente roles y permisos.
- Incluir casos de control de acceso en las pruebas automatizadas y en las pruebas de penetración.





