Autorización

La autorización es el proceso de verificar los permisos de un usuario para acceder a recursos específicos o realizar ciertas acciones dentro de un sistema después de que su identidad ha sido autenticada.

La autorización determina lo que un usuario puede hacer. Sigue a la autenticación, que confirma quién es el usuario. La autorización se basa en mecanismos de control de acceso, como el control de acceso basado en roles (RBAC) o el control de acceso basado en atributos (ABAC), para otorgar o denegar el acceso según reglas y políticas predefinidas. Este proceso garantiza que los usuarios solo tengan acceso a los recursos y funcionalidades que están autorizados a usar, lo que mejora la seguridad y previene acciones no autorizadas.

        graph LR
  Center["Autorización"]:::main
  Pre_authentication["authentication"]:::pre --> Center
  click Pre_authentication "/terms/authentication"
  Rel_rbac["rbac"]:::related -.-> Center
  click Rel_rbac "/terms/rbac"
  Rel_authentication["authentication"]:::related -.-> Center
  click Rel_authentication "/terms/authentication"
  Rel_single_sign_on_sso["single-sign-on-sso"]:::related -.-> Center
  click Rel_single_sign_on_sso "/terms/single-sign-on-sso"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explícalo como si tuviera 5 años

🔑 La autorización es como un bibliotecario que revisa tu carné de biblioteca para ver *qué libros* puedes tomar prestados, no solo si eres tú.

🤓 Expert Deep Dive

``markdown
## Especificación Técnica: Autorización - Análisis Profundo

La autorización es el proceso de verificar y aplicar derechos y permisos de acceso para un principal autenticado (usuario, servicio, etc.) a recursos y acciones específicos. Opera después de una autenticación exitosa.

### Conceptos Clave

Distinción de la Autenticación: La autenticación confirma la identidad ('quién eres'); la autorización define las operaciones permitidas ('qué puedes hacer').
Toma de Decisiones Basada en Políticas: El acceso se concede o se deniega basándose en la evaluación de políticas predefinidas frente a las solicitudes.
Granularidad de los Permisos: Los permisos van desde roles amplios hasta acciones de grano fino (por ejemplo, leer, escribir, eliminar, ejecutar) sobre recursos específicos.
Centrado en el Recurso vs. Centrado en la Identidad: La autorización puede modelarse definiendo qué principales pueden acceder a un recurso, o a qué recursos y acciones se permite acceder a un principal.
Autorización Contextual: Las decisiones de acceso pueden incorporar factores ambientales dinámicos (por ejemplo, hora, ubicación, postura del dispositivo).

### Modelos de Autorización

Listas de Control de Acceso (ACLs): Permisos adjuntos a los recursos, especificando el acceso para los principales.
Control de Acceso Basado en Roles (RBAC): Los permisos se asignan a roles, que luego se asignan a los usuarios. Simplifica la gestión.
Control de Acceso Basado en Atributos (ABAC): Las decisiones de acceso se basan en políticas que evalúan atributos del sujeto, objeto, acción y entorno. Muy flexible.
Control de Acceso Basado en Políticas (PBAC): El acceso está impulsado por políticas explícitas y declarativas; a menudo abarca ABAC.

### Ciclo de Vida de la Decisión de Autorización

Punto de Aplicación de Políticas (PEP): Intercepta las solicitudes y las reenvía para su decisión.
Punto de Decisión de Políticas (PDP): Evalúa las políticas y toma una decisión de Permitir/Denegar.
Punto de Información de Políticas (PIP): Proporciona contexto o atributos al PDP.
* Punto de Administración de Políticas (PAP): Gestiona las políticas.

### Consideraciones Técnicas

Incluye almacenamiento de datos (IAM, bases de datos), mecanismos de aplicación (pasarelas de API, service meshes), autorización dinámica vs. estática, desafíos de sistemas distribuidos (JWTs, microservicios), escalabilidad, revocación, auditoría, el Principio de Mínimo Privilegio y la Separación de Funciones.

### Analogía Sencilla (ELI5): El Sistema de la Biblioteca

La autenticación es mostrar el DNI para obtener un carné de biblioteca. La autorización es lo que permite tu carné: tomar prestados libros, acceder a salas de estudio o consultar archivos raros. El bibliotecario compara los permisos de tu carné con las reglas de la biblioteca (políticas) para determinar tu acceso.
``

🔗 Términos relacionados

Requisitos previos:

📚 Fuentes