IAM - Gestión de identidades y accesos
Lectura de 2 min aprox.
IAM (Identity and Access Management, gestión de identidades y accesos) es un mecanismo para administrar de forma centralizada «quién» puede realizar «qué tipo de operaciones» sobre «qué recursos». Al controlar de manera integrada la autenticación (verificación de identidad) y la autorización (concesión de permisos), garantiza un acceso adecuado a los recursos de la organización. Con la difusión de los entornos en la nube, IAM ha evolucionado de ser una mera herramienta de gestión de usuarios a una base de seguridad que constituye el núcleo de la arquitectura de confianza cero. La configuración incorrecta de IAM es una de las principales causas de filtraciones de datos y compromisos de sistemas, por lo que se sitúa como el elemento de máxima prioridad en cualquier lista de verificación de seguridad.
La diferencia entre autenticación y autorización
El concepto más importante para entender IAM es la distinción entre autenticación (Authentication) y autorización (Authorization). Ambos están estrechamente relacionados, pero son procesos completamente diferentes.
- Verifica «¿quién eres?»
- Contraseña, biometría, MFA
- Se ejecuta al iniciar sesión
- Emite un token de identidad (ID)
- Determina «¿qué tienes permitido hacer?»
- Roles, políticas, ámbitos (scopes)
- Se ejecuta al acceder a los recursos
- Valida el token de acceso
Un error común es suponer que «poder iniciar sesión significa que todas las operaciones están permitidas». Resulta más fácil de entender si piensas en la autenticación como el guardián de la entrada y en la autorización como la llave de cada habitación. OAuth es un protocolo representativo de la autorización, y SSO lo es de la autenticación.
Comparación de modelos de control de acceso
Existen varios modelos para implementar la autorización en IAM, que se eligen según la escala y los requisitos de la organización. El diseño del control de acceso es un ámbito donde se pone a prueba el equilibrio entre la seguridad y la eficiencia operativa.
| Modelo | Criterio de decisión | Ejemplo de aplicación | Desafío |
|---|---|---|---|
| RBAC | Rol (función) | Administrador, editor, lector | Explosión de roles (crecimiento combinatorio) |
| ABAC | Atributos (departamento, franja horaria, IP) | El elemento Condition de las políticas de AWS IAM | Aumento de la complejidad de las políticas |
| PBAC | Política (motor de reglas) | OPA (Open Policy Agent) | Altos costes de implantación y operación |
En la práctica, el enfoque predominante es uno híbrido que utiliza RBAC como base y combina ABAC en los puntos donde se necesita un control detallado. AWS IAM adopta exactamente este modelo híbrido, permitiendo añadir condiciones basadas en atributos a una estructura básica basada en roles mediante el elemento Condition.
El principio de mínimo privilegio
El principio de mínimo privilegio es un concepto que constituye la base del diseño de IAM. A los usuarios y servicios solo se les conceden los permisos mínimos necesarios para realizar sus tareas, y ningún permiso innecesario en absoluto. Sin embargo, en la práctica es fácil ceder a la tentación de «conceder permisos amplios sin más para que las cosas funcionen». Al igual que una política de contraseñas corporativa, las políticas de IAM también requieren revisiones periódicas y la eliminación de los permisos innecesarios.
Incidentes causados por una configuración incorrecta de IAM
La configuración incorrecta de IAM es la principal causa de incidentes de seguridad en los entornos en la nube. Los patrones de configuración incorrecta son muy variados e incluyen permisos de acceso público en buckets de S3, permisos excesivos en los roles de IAM y claves de acceso codificadas en el código. En el incidente de Capital One de 2019, la combinación de una configuración incorrecta del WAF y permisos excesivos en un rol de IAM provocó la filtración de la información personal de más de 100 millones de personas.
Para prevenir tales incidentes, resulta eficaz introducir herramientas de auditoría automática de políticas de IAM (como AWS IAM Access Analyzer y Azure AD Privileged Identity Management) y controlar las versiones de las configuraciones mediante infraestructura como código (IaC). También al implementar la seguridad de confianza cero, IAM es la base que debe establecerse en primer lugar.libros sobre IAM y seguridad en la nube (Amazon) son recomendables para un aprendizaje sistemático.
¿Te resultó útil este artículo?