Tema 3

3. Diferencias entre autenticación, autorización, accounting e identidad

En seguridad de acceso, los errores de diseño más persistentes no siempre aparecen por desconocer una tecnología, sino por mezclar conceptos que cumplen funciones distintas. Identidad, autenticación, autorización y accounting forman un conjunto relacionado, pero no intercambiable. Separarlos con claridad mejora el diseño, la implementación y la auditoría.

Objetivo Distinguir con precisión cada concepto
Enfoque Conceptual con impacto directo en arquitectura
Resultado Evitar errores comunes de modelado y control de acceso

3.1 Introducción

En conversaciones técnicas es frecuente escuchar expresiones como “el sistema ya autentica roles” o “si el token es válido entonces está autorizado”. Estas frases muestran una confusión común: usar palabras distintas para describir etapas diferentes del mismo flujo como si fueran equivalentes.

Ese problema no es meramente terminológico. Cuando una aplicación mezcla identidad, autenticación, autorización y trazabilidad en una sola lógica difusa, aparecen permisos inconsistentes, código difícil de mantener, controles incompletos y auditoría deficiente.

Por eso este tema pone orden conceptual. Antes de estudiar factores de autenticación, modelos de permisos o protocolos como OAuth 2.0, conviene fijar con claridad qué problema resuelve cada capa.

3.2 Visión general del conjunto

Podemos pensar estos conceptos como partes de una cadena de confianza:

  • Identidad: define quién es el sujeto dentro del ecosistema.
  • Autenticación: verifica que el sujeto que opera corresponde con esa identidad.
  • Autorización: decide qué puede hacer esa identidad en un contexto determinado.
  • Accounting o trazabilidad: registra qué ocurrió, cuándo, desde dónde y con qué resultado.

Estas piezas se alimentan entre sí, pero no se sustituyen. Un sistema puede autenticar muy bien y autorizar mal. Puede autorizar correctamente y aun así no dejar registros suficientes. Puede tener una identidad definida de forma pobre y entonces contaminar el resto del flujo.

La secuencia correcta no es “logueado o no logueado”. El problema real es: qué identidad representa al sujeto, cómo se autentica, qué autorización recibe y qué evidencia queda de su actividad.

3.3 Identidad: la base semántica del acceso

La identidad responde a la pregunta “¿quién es este sujeto dentro del sistema?”. No se trata todavía de demostrar nada, sino de representar al sujeto de forma consistente.

Esa representación incluye identificadores, atributos, relaciones, estado y, en muchos casos, vínculos con una organización, tenant, grupo o unidad funcional. La identidad puede ser humana o no humana, persistente o temporal, local o federada.

Si la identidad está mal modelada, todos los pasos posteriores se debilitan. Por ejemplo, si un sistema no diferencia correctamente personas de cuentas técnicas, puede aplicar políticas inadecuadas. Si no distingue identidades activas de suspendidas, puede dejar accesos abiertos por error.

3.4 Autenticación: probar que el sujeto es quien dice ser

La autenticación responde a la pregunta “¿puedo confiar razonablemente en que este sujeto corresponde a la identidad declarada?”. Para ello evalúa pruebas: contraseñas, certificados, tokens, passkeys, OTP, biometría o combinaciones de varios factores.

Autenticar no consiste solo en validar un secreto. También implica considerar el contexto de uso, la fortaleza del mecanismo, la resistencia al replay, la vigencia de la credencial y, en entornos modernos, señales de riesgo o comportamiento anómalo.

Un error habitual es pensar que una autenticación exitosa equivale a acceso total. En realidad, autenticar es solamente habilitar la siguiente pregunta: ahora que sé quién eres con cierto nivel de confianza, ¿qué puedes hacer?

3.5 Autorización: decidir lo permitido

La autorización responde a la pregunta “¿qué acciones están permitidas para esta identidad sobre este recurso, en este contexto?”. No evalúa si el sujeto existe ni si la prueba de identidad fue válida; toma esas piezas como insumo.

Una autorización puede apoyarse en:

  • Roles o grupos.
  • Atributos de la identidad.
  • Propiedades del recurso.
  • Relaciones entre sujeto y recurso.
  • Contexto, horario, ubicación, tipo de dispositivo o nivel de riesgo.

Autorización no es sinónimo de “tiene sesión”. Tampoco es igual a “trae un token válido”. Un token válido puede representar una identidad real, pero aun así no autorizar la operación que intenta ejecutar.

3.6 Accounting: trazabilidad, registro y evidencia

Accounting, en el contexto AAA, se refiere al registro de actividad relevante asociada a identidades y decisiones de acceso. En entornos modernos suele hablarse más de trazabilidad, auditoría o logging de seguridad, pero la idea central es la misma.

Esta capa responde a preguntas como:

  • ¿Quién inició sesión?
  • ¿Con qué mecanismo se autenticó?
  • ¿Qué operación intentó ejecutar?
  • ¿Fue permitida o rechazada?
  • ¿Desde qué IP, dispositivo, tenant o aplicación ocurrió?
  • ¿Qué cambió como resultado?

Sin accounting no hay investigación seria, no hay posibilidad de reconstruir incidentes y no hay base sólida para cumplimiento o recertificación de accesos.

3.7 Tabla comparativa de los cuatro conceptos

Concepto Pregunta principal Entrada típica Salida o resultado
Identidad ¿Quién es el sujeto en este ecosistema? Datos de registro, atributos, relaciones, fuentes maestras Representación consistente del sujeto
Autenticación ¿Es realmente ese sujeto? Credenciales, factores, señales contextuales Nivel de confianza o autenticación exitosa/fallida
Autorización ¿Qué puede hacer? Identidad autenticada, recurso, acción, políticas Permitir, denegar o condicionar acceso
Accounting ¿Qué ocurrió y cómo queda registrado? Eventos, decisiones, contexto, resultados Logs, auditoría, evidencia y trazabilidad

3.8 Ejemplo completo de flujo

Supongamos una aplicación de gestión de pagos. Una persona ingresa al portal, completa login con contraseña y segundo factor, abre una factura y trata de aprobar un pago.

  1. El sistema identifica a la persona como una identidad registrada en la organización.
  2. Valida contraseña y segundo factor para autenticarla.
  3. Consulta políticas para saber si esa identidad puede aprobar ese tipo de pago.
  4. Registra el intento, la decisión y el contexto para auditoría.

Si cualquiera de estas partes falla, el flujo queda incompleto. Si la autenticación es exitosa pero la autorización está mal diseñada, la persona puede aprobar pagos fuera de su alcance. Si la operación se autoriza pero no se registra, luego no habrá evidencia suficiente para investigar.

3.9 Por qué autenticación y autorización suelen confundirse

La confusión aparece porque ambas ocurren muy cerca en el tiempo y muchas aplicaciones pequeñas las implementan juntas. Por ejemplo, después del login se carga un objeto de sesión que ya contiene roles o flags, y todo parece una sola cosa.

Sin embargo, conceptualmente siguen siendo distintas:

  • La autenticación valida la identidad.
  • La autorización evalúa permisos sobre acciones y recursos.

Si esta separación no se respeta, surgen problemas como usar “si está logueado, puede entrar” para operaciones que deberían requerir controles específicos, o reutilizar un token de autenticación como si fuera prueba suficiente de privilegio para cualquier endpoint.

3.10 Por qué identidad y autenticación no son lo mismo

Otra confusión habitual es pensar que la identidad “es” la contraseña, el token o el mecanismo de login. En realidad, la identidad existe antes y después del acto de autenticación. La autenticación es un evento o proceso; la identidad es la entidad persistente representada por el sistema.

Esto se vuelve evidente cuando una persona cambia de contraseña, registra una nueva passkey o utiliza otro proveedor de identidad. El mecanismo de autenticación cambia, pero la identidad subyacente sigue siendo la misma.

Diseñar como si identidad y autenticación fueran equivalentes hace muy difícil soportar múltiples métodos de acceso, federación, recuperación de cuenta o rotación de credenciales.

3.11 Por qué accounting no debe quedar como un agregado opcional

En muchos proyectos, la trazabilidad se piensa al final: primero se resuelve login, luego permisos, y recién después se agregan algunos logs. Ese enfoque es débil porque la observabilidad de seguridad no se improvisa.

Un sistema serio necesita decidir desde el diseño:

  • Qué eventos se registran.
  • Con qué granularidad.
  • Qué contexto acompaña cada evento.
  • Cómo se correlacionan identidad, sesión, recurso y decisión.
  • Qué eventos son sensibles y deben protegerse contra alteración o borrado.

Accounting no solo sirve para incidentes. También ayuda a detectar abuso interno, revisar accesos, cumplir con normas y explicar decisiones automatizadas de autorización.

3.12 La relación con el modelo AAA

Históricamente, muchos sistemas de acceso se explicaron con AAA: Authentication, Authorization y Accounting. Ese marco sigue siendo útil porque organiza tres funciones esenciales.

Sin embargo, en arquitecturas modernas el plano de identidad amplía el problema. Ya no basta con autenticar y autorizar dentro de una única aplicación. Hay directorios, proveedores de identidad, federación, SSO, identidades no humanas, gobierno de ciclo de vida y múltiples dominios de confianza.

Por eso hoy suele hablarse de AAA dentro de un ecosistema IAM más amplio. AAA sigue siendo válido, pero ya no alcanza para describir todo el problema por sí solo.

3.13 Caso práctico en una API

Imaginemos una API de facturación protegida con bearer tokens.

  • Identidad: el token representa a un cliente o usuario concreto.
  • Autenticación: la API valida firma, emisor, audiencia, vigencia y otros controles del token.
  • Autorización: la API decide si ese sujeto puede leer o emitir facturas según scopes y políticas del negocio.
  • Accounting: registra qué endpoint se invocó, por quién, con qué resultado y sobre qué recurso.

Es un error común asumir que “token válido” equivale a “operación autorizada”. Validar el token es solo una parte. La API todavía debe decidir si la acción concreta está permitida y dejar trazabilidad suficiente.

3.14 Caso práctico en un entorno corporativo

Supongamos una organización con SSO. Un empleado inicia sesión en el proveedor de identidad y luego accede al portal de recursos humanos y al sistema financiero.

La autenticación puede ser única, pero la autorización no necesariamente lo es. Ambos sistemas consumen la misma identidad autenticada, aunque cada uno aplica reglas diferentes. Un empleado puede ver recibos de sueldo en el portal de RR.HH. y no tener ningún permiso para aprobar órdenes de compra en finanzas.

Además, cada sistema debería registrar de forma independiente y correlacionable las acciones relevantes. Compartir autenticación no elimina la necesidad de autorización local ni de accounting específico.

3.15 Errores frecuentes al mezclar conceptos

  • Asumir que un usuario autenticado puede ejecutar cualquier acción de la aplicación.
  • Usar roles o claims como si reemplazaran toda la lógica de autorización contextual.
  • Guardar decisiones de permiso dentro del mismo mecanismo que maneja login sin separación clara.
  • Validar un token y omitir verificaciones de recurso, tenant o relación con el dato.
  • No registrar intentos fallidos o decisiones denegadas, perdiendo visibilidad de abuso.
  • Tratar la identidad como si fuera una credencial o una sesión.
  • Confiar en la autenticación del proveedor externo y asumir que toda autorización queda resuelta.

3.16 Cómo se reparten responsabilidades en una arquitectura

En sistemas modernos, estas responsabilidades suelen estar distribuidas:

  • Un directorio o sistema maestro define identidades y atributos.
  • Un proveedor de identidad autentica y emite afirmaciones.
  • Una aplicación o API aplica autorización sobre recursos concretos.
  • Un sistema de observabilidad o auditoría centraliza eventos y trazas.

Esta separación no es burocracia. Permite escalabilidad, mantenimiento, interoperabilidad y una mejor delimitación de responsabilidades. También evita que una sola pieza concentre demasiada lógica difícil de verificar.

3.17 Qué debes recordar de este tema

  • Identidad define al sujeto; autenticación prueba quién es; autorización decide qué puede hacer; accounting registra lo ocurrido.
  • Autenticación exitosa no implica autorización automática.
  • Una identidad no es lo mismo que una credencial, una cuenta o una sesión.
  • La trazabilidad no es un complemento opcional, sino parte del control de acceso.
  • En SSO y APIs, compartir autenticación no elimina la necesidad de autorización específica por recurso.
  • Separar conceptos mejora el diseño, la seguridad y la capacidad de auditoría.

3.18 Conclusión

La claridad conceptual en identidad y acceso no es un lujo académico. Es una condición práctica para construir sistemas que puedan autenticarse, autorizarse y auditarse de forma correcta. Cuando estos conceptos se mezclan, el resultado suele ser un control de acceso frágil, difícil de explicar y más difícil todavía de evolucionar.

En el próximo tema entraremos en los modelos de autenticación y en los distintos tipos de factores: conocimiento, posesión, inherencia y contexto.