Autorización y Control de Acceso Basado en Roles

Clase 3 de 25Curso de OAuth 2.0 y OpenID Connect: Flujos de Autenticación y Casos de Estudio

Contenido del curso

Open Authorization 2.0

Resumen

Comprender la diferencia entre autenticación y autorización es fundamental para diseñar sistemas seguros. Mientras la autenticación verifica quién eres, la autorización determina qué puedes hacer. A continuación se explican los puntos esenciales sobre cómo funciona este mecanismo de control de acceso, tanto en la vida cotidiana como en aplicaciones web.

¿Qué significa realmente la autorización?

La autorización es la acción de otorgar permisos a un usuario con acceso limitado a nuestros recursos [0:09]. Identificarse no es suficiente para acceder a un lugar o servicio. Aunque una persona presente documentos válidos que la identifiquen, eso no garantiza que pueda entrar a un edificio, un restaurante o un hostel. Es necesario contar con una reserva, una invitación o algún tipo de permiso previamente otorgado.

En muchos casos, el acceso se concede de forma parcial. Por ejemplo, alguien puede ingresar a un lugar como invitado, lo que implica permisos limitados frente a quienes tienen acceso completo [0:30].

¿Cómo se aplica la autorización en aplicaciones web?

En el contexto de las web apps, la autorización se materializa a través de permisos de lectura y escritura asignados a los usuarios [0:43]. Un sistema de administración de contenidos o un e-commerce son ejemplos claros:

  • Algunos usuarios pueden editar productos.
  • Otros solo tienen permiso de lectura de facturas.
  • Los administradores gestionan configuraciones generales.

Esta estructura se organiza habitualmente mediante grupos, roles y permisos [1:00]. El framework que respalda este modelo se conoce como role-based access control (RBAC), un estándar ampliamente utilizado para gestionar quién puede hacer qué dentro de un sistema.

¿Qué es el ejemplo del valet parking en autorización?

El caso más ilustrativo de autorización con permisos limitados es el servicio de valet parking [1:10]. Cuando entregas tu carro a un empleado para que lo estacione, le das las llaves, pero en vehículos modernos existen las llamadas llaves de valet parking. Estas llaves son diferentes a las convencionales porque restringen ciertas funciones del automóvil:

  • No permiten exceder cierta velocidad.
  • Limitan el rango de desplazamiento del vehículo.

Esto significa que el empleado puede usar el carro, pero con permisos limitados [1:42]. Es exactamente lo que ocurre en un sistema digital cuando un usuario recibe acceso parcial a los recursos disponibles.

¿Cuál es la diferencia clave entre autenticación y autorización?

Es importante no confundir ambos conceptos:

  • Autenticación: verificar la identidad de un usuario (quién eres).
  • Autorización: definir qué acciones puede realizar ese usuario una vez identificado (qué puedes hacer).

Tener documentos que te identifiquen no garantiza el acceso a un sitio [1:55]. En la web, esta separación se gestiona con roles y permisos que controlan cada recurso de forma granular.

¿Qué viene después de entender la autorización?

Con los conceptos de autenticación y autorización claros, el siguiente paso es comprender Open Authorization (OAuth) y OpenID Connect [2:15], los protocolos que dominan la autorización y la autenticación en la web moderna. Estos estándares permiten que aplicaciones de terceros accedan a recursos de un usuario sin compartir contraseñas, aplicando exactamente el principio de permisos limitados.

Comparte en los comentarios tu propia analogía de autorización en el mundo real. Intenta que sea un ejemplo diferente a los que ya se hayan mencionado.