Seguridad de nube e infraestructura

IAM (Gestión de Identidad y Acceso)

Se lee en aproximadamente 4 minutos

Qué es IAM

IAM (Identity and Access Management) es el término general para los mecanismos que gestionan "quién" puede realizar "qué operaciones" sobre "qué". Con las dos funciones centrales de autenticación (Authentication: verificación de identidad) y autorización (Authorization: concesión de permisos), controla el acceso a los recursos de la organización.

En entornos de nube, la importancia de IAM es especialmente alta. En entornos locales, el perímetro de red funcionaba como línea de defensa, pero en la nube, donde se accede a los recursos a través de Internet, IAM se convierte efectivamente en la primera línea de defensa. AWS IAM, Azure AD (Entra ID), Google Cloud IAM - los principales proveedores de nube proporcionan sus propios servicios IAM.

Principio de mínimo privilegio y patrones de implementación

El principio más importante del diseño IAM es el "principio de mínimo privilegio" (Principle of Least Privilege). Otorga a usuarios y servicios solo los permisos mínimos necesarios para su trabajo.

  • RBAC (Role-Based Access Control): Define roles según las funciones laborales y gestiona permisos por unidad de rol. Asigna conjuntos de permisos apropiados a roles como "desarrollador", "operador", "auditor"
  • ABAC (Attribute-Based Access Control): Determina permisos dinámicamente basándose en atributos del usuario (departamento, proyecto, etiqueta de entorno). Previene la explosión de roles en entornos con muchos recursos
  • Elevación temporal de privilegios: Normalmente otorga solo permisos de lectura y concede temporalmente permisos de escritura solo durante operaciones de cambio. AssumeRole de AWS y Azure PIM (Privileged Identity Management) corresponden a esto

En la arquitectura de confianza cero, se requiere autenticación y autorización IAM para todos los accesos independientemente de la posición en la red. Combinándolo con SSO, se puede fortalecer la seguridad sin perjudicar la experiencia del usuario.

Patrones de diseño de IAM en la nube

Mejores prácticas para el diseño de IAM en entornos de nube.

  • Sellado de la cuenta root: Configurar MFA en la cuenta root (máximo privilegio) de la nube y no usarla en operaciones diarias. Incluso los administradores deben usar usuarios IAM individuales o autenticación federada
  • Usar roles para autenticación entre servicios: Para autenticación entre aplicaciones y servicios, usar roles IAM (AWS) o identidades gestionadas (Azure) en lugar de claves de acceso. Reduce la carga de gestión de secretos y elimina el riesgo de filtración de credenciales
  • Políticas condicionales: Incorporar condiciones como restricción de IP, MFA obligatorio y restricción de horario en las políticas para hacer más estrictas las condiciones de ejercicio de permisos
  • Inventario periódico de permisos: Detectar y eliminar periódicamente permisos y usuarios no utilizados. Visualizar los permisos realmente utilizados con AWS IAM Access Analyzer y análisis de registros de CloudTrail

La integración con IdP externos utilizando OAuth 2.0 u OIDC también es una configuración estándar en entornos empresariales.

Errores comunes en la operación de IAM

IAM requiere gestión continua no solo en la fase de diseño sino también en la fase operativa.

  • Inflación de permisos: Repetir "agregar permisos porque no funciona" resulta en permisos excesivos sin darse cuenta. Los permisos añadidos durante la resolución de problemas deben eliminarse después de la resolución
  • Cuentas compartidas: Si varias personas comparten una cuenta, el seguimiento de operaciones se vuelve imposible. Asignar una identidad única a cada persona es un prerrequisito de auditoría
  • Cuentas de exempleados abandonadas: Las cuentas de empleados que se van o cambian de puesto que permanecen activas se convierten en rutas de acceso no autorizado. Construir un mecanismo de desactivación automática vinculado a eventos de recursos humanos
  • Complejidad de políticas: Las políticas con demasiadas ramificaciones condicionales generan permisos o denegaciones no intencionados. Mantén las políticas simples y verifica periódicamente con el simulador de políticas

En el modelo de responsabilidad compartida de la nube, la configuración de IAM es responsabilidad del usuario. El proveedor de nube proporciona el mecanismo IAM, pero la configuración y operación adecuadas deben ser realizadas por el usuario.

Conceptos erróneos comunes

A los administradores se les debe otorgar permisos completos (AdministratorAccess) sin problema
Incluso los administradores deben recibir solo los permisos necesarios para el trabajo diario. Si una cuenta con todos los permisos es comprometida, todo el entorno queda en peligro. Se recomienda trabajar normalmente con permisos restringidos y elevar temporalmente los privilegios solo cuando sea necesario.
Las políticas IAM no necesitan cambiarse una vez configuradas
Las políticas IAM necesitan revisarse continuamente según los cambios organizacionales, la introducción de nuevos servicios y los cambios en los requisitos de seguridad. Los permisos no utilizados amplían la superficie de ataque, por lo que el inventario periódico y la eliminación de permisos innecesarios son indispensables.

Términos relacionados

Artículos relacionados