Tema 4

4. Gestión de identidades y accesos: IAM, MFA, roles, políticas y privilegio mínimo

En cloud, la identidad es una de las superficies de ataque más importantes. Una credencial con permisos excesivos puede modificar infraestructura, acceder a datos, desactivar controles y desplegar recursos sin tocar físicamente ningún servidor.

Objetivo Diseñar accesos cloud con mínimo privilegio
Enfoque IAM, MFA, roles, políticas y cuentas de servicio
Resultado Reducir impacto de credenciales comprometidas

4.1 Introducción

La gestión de identidades y accesos define quién puede hacer qué dentro de una plataforma cloud. No se trata solo de crear usuarios: implica administrar permisos humanos, permisos de aplicaciones, cuentas de servicio, roles temporales, políticas, autenticación fuerte y auditoría.

En entornos cloud, muchas operaciones críticas se realizan mediante APIs. Crear una máquina virtual, leer un secreto, modificar una política de red o borrar un bucket puede depender de una llamada autenticada. Por eso una credencial comprometida puede tener un impacto inmediato y amplio.

El objetivo de IAM es permitir el trabajo necesario sin otorgar más poder del imprescindible. Esta disciplina es la base de una arquitectura segura.

4.2 Qué es IAM

IAM significa Identity and Access Management. Es el conjunto de mecanismos para identificar actores, autenticar su identidad, autorizar acciones y registrar actividad.

En una plataforma cloud, IAM suele administrar:

  • Usuarios humanos que acceden a consolas, APIs o herramientas de línea de comandos.
  • Grupos que agrupan permisos por función o equipo.
  • Roles que pueden asumirse temporalmente bajo ciertas condiciones.
  • Políticas que definen acciones permitidas o denegadas sobre recursos.
  • Cuentas de servicio usadas por aplicaciones, pipelines o workloads.
  • Credenciales, tokens, claves, certificados y sesiones.
  • Registros de auditoría sobre autenticación, autorización y cambios.
IAM debe responder una pregunta concreta: quién puede ejecutar qué acción, sobre qué recurso, desde qué contexto y bajo qué condiciones.

4.3 Identidades humanas e identidades de máquina

No todas las identidades son iguales. Una persona necesita autenticarse, recibir permisos según su función y dejar trazabilidad. Una aplicación o pipeline necesita permisos específicos para operar sin intervención humana.

Tipo de identidad Ejemplos Control principal
Humana Administradores, desarrolladores, operadores, auditores SSO, MFA, roles temporales y trazabilidad individual
Aplicación Backend que lee una base, servicio que accede a una cola Cuentas de servicio con permisos mínimos
Pipeline CI/CD que construye imágenes o despliega infraestructura Roles por entorno, aprobaciones y credenciales efímeras
Workload Pod de Kubernetes, función serverless, job batch Identidad asociada al workload, no claves embebidas
Tercero Proveedor, integración SaaS, herramienta de monitoreo Scopes limitados, expiración, auditoría y revisión contractual

4.4 Autenticación fuerte y MFA

La autenticación confirma que un actor es quien dice ser. En cloud, las cuentas privilegiadas deben usar MFA de forma obligatoria. Una contraseña sola es insuficiente para proteger acceso administrativo.

Buenas prácticas:

  • Exigir MFA para usuarios humanos, especialmente administradores y operadores.
  • Centralizar autenticación mediante SSO o identidad federada.
  • Evitar usuarios locales permanentes salvo cuentas de emergencia controladas.
  • Bloquear autenticación débil y credenciales sin rotación.
  • Monitorear inicios de sesión anómalos por ubicación, horario o dispositivo.
  • Proteger cuentas de emergencia con almacenamiento seguro, alertas y uso excepcional.

MFA reduce el impacto del robo de contraseñas, pero no corrige permisos excesivos. Debe combinarse con roles bien diseñados.

4.5 Autorización, roles y políticas

La autorización define qué acciones puede ejecutar una identidad. En cloud, esa autorización se expresa mediante políticas asociadas a usuarios, grupos, roles o recursos.

Una política suele responder a cuatro elementos:

  • Principal: quién solicita la acción.
  • Acción: qué operación quiere realizar.
  • Recurso: sobre qué objeto se aplica la acción.
  • Condición: bajo qué contexto se permite o deniega.
Elemento Ejemplo Riesgo si es amplio
Principal Rol de despliegue de una aplicación Muchas identidades pueden asumir el mismo poder
Acción Leer objetos de almacenamiento Permitir escritura o borrado sin necesidad
Recurso Un bucket específico de la aplicación Acceso a todos los buckets del entorno
Condición Solo desde una red, cuenta o etiqueta determinada Uso válido desde cualquier contexto

4.6 Principio de mínimo privilegio

El mínimo privilegio indica que una identidad debe tener solo los permisos necesarios para cumplir su función, durante el tiempo necesario y en el contexto adecuado.

Aplicarlo exige trabajo concreto:

  • Definir funciones y responsabilidades antes de asignar permisos.
  • Separar roles de lectura, operación, despliegue, administración y auditoría.
  • Evitar políticas comodín como * en acciones o recursos.
  • Usar permisos temporales para tareas elevadas.
  • Revisar permisos no utilizados y eliminarlos periódicamente.
  • Asignar permisos a grupos o roles, no directamente a usuarios individuales.
El mínimo privilegio no se consigue en una sola configuración inicial. Es un proceso de ajuste continuo basado en uso real, auditoría y revisión de riesgo.

4.7 Roles temporales y credenciales efímeras

Las credenciales permanentes son difíciles de controlar. Pueden quedar en laptops, scripts, repositorios, variables de entorno o herramientas de terceros. Por eso las arquitecturas cloud modernas prefieren roles temporales y tokens de corta duración.

Ventajas de las credenciales efímeras:

  • Reducen el tiempo útil de una credencial robada.
  • Permiten exigir condiciones para asumir un rol.
  • Facilitan auditoría de quién asumió qué rol y cuándo.
  • Evitan distribuir claves estáticas entre equipos y pipelines.
  • Permiten separar permisos por ambiente y por tarea.

4.8 Cuentas de servicio y workloads

Las aplicaciones también necesitan identidad. Un servicio puede requerir leer una cola, escribir logs, consultar un secreto o acceder a una base de datos. Esos permisos deben pertenecer al workload específico, no a una clave genérica compartida.

Buenas prácticas:

  • Crear una cuenta de servicio por aplicación o componente relevante.
  • Limitar permisos a recursos específicos.
  • Evitar reutilizar la misma identidad entre ambientes.
  • No incluir claves dentro de imágenes de contenedores ni repositorios.
  • Usar mecanismos nativos de identidad para workloads cuando estén disponibles.
  • Rotar y revocar credenciales cuando un servicio cambia o deja de existir.

4.9 IAM en pipelines CI/CD

Los pipelines suelen necesitar permisos sensibles: construir artefactos, publicar imágenes, modificar infraestructura o desplegar en ambientes. Si esos permisos no se acotan, el pipeline se convierte en una ruta privilegiada hacia producción.

Controles recomendados:

  • Separar roles por etapa: build, test, publicación, despliegue y administración de infraestructura.
  • Usar permisos distintos para desarrollo, staging y producción.
  • Exigir aprobaciones para asumir roles productivos.
  • Evitar secretos permanentes en variables del pipeline.
  • Limitar qué repositorios o ramas pueden desplegar.
  • Registrar quién aprobó y qué versión fue desplegada.

4.10 Políticas basadas en condiciones

Las condiciones agregan contexto a una decisión de acceso. Permiten que una acción no dependa solo de identidad y recurso, sino también de señales como origen, hora, etiqueta, autenticación fuerte o entorno.

Condición Uso típico Beneficio
MFA presente Permitir acciones administrativas solo con segundo factor Reduce abuso de contraseñas robadas
Red de origen Restringir administración a VPN o red corporativa Limita accesos desde ubicaciones no esperadas
Etiqueta del recurso Permitir gestión solo de recursos del equipo correspondiente Reduce permisos cruzados entre aplicaciones
Ambiente Separar permisos de desarrollo y producción Evita cambios accidentales en sistemas críticos
Tiempo de sesión Limitar duración de permisos elevados Reduce ventana de exposición

4.11 Auditoría y revisión de accesos

IAM no termina cuando se asigna un rol. Los permisos cambian con el tiempo, los equipos evolucionan y las excepciones temporales tienden a volverse permanentes. Por eso la revisión continua es obligatoria.

Una revisión de accesos debe responder:

  • ¿Qué identidades tienen permisos administrativos?
  • ¿Qué permisos no se usan desde hace semanas o meses?
  • ¿Qué roles pueden modificar políticas, logs, claves o redes?
  • ¿Qué cuentas de servicio no tienen dueño claro?
  • ¿Existen claves estáticas activas sin rotación?
  • ¿Las acciones privilegiadas generan alertas o tickets?

4.12 Errores frecuentes

  • Usar usuarios administrativos para tareas diarias.
  • Asignar permisos directamente a personas en lugar de roles o grupos.
  • Reutilizar la misma cuenta de servicio en varias aplicaciones.
  • Guardar claves cloud en repositorios, imágenes o archivos locales.
  • Dar permisos de escritura cuando solo se necesita lectura.
  • Permitir que pipelines desplieguen a producción sin aprobación ni trazabilidad.
  • No revisar permisos heredados después de cambios de equipo o proyecto.
  • Confiar en MFA mientras se mantienen roles excesivamente amplios.
La mayoría de los problemas de IAM no aparecen por falta de funciones en la plataforma, sino por permisos asignados sin diseño, sin dueño y sin revisión.

4.13 Lista de verificación IAM

  • ¿Todos los usuarios humanos privilegiados usan MFA?
  • ¿El acceso se integra con SSO o identidad federada?
  • ¿Los permisos se asignan mediante grupos o roles?
  • ¿Las cuentas de servicio tienen dueño, propósito y permisos mínimos?
  • ¿Los pipelines usan credenciales temporales en lugar de secretos permanentes?
  • ¿Existen alertas para cambios en políticas, roles y claves?
  • ¿Se revisan permisos no utilizados y claves antiguas?
  • ¿Los roles productivos requieren aprobación o condiciones adicionales?

4.14 Qué debes recordar de este tema

  • En cloud, la identidad es un perímetro crítico de seguridad.
  • MFA protege autenticación, pero no reemplaza el diseño correcto de permisos.
  • El mínimo privilegio debe aplicarse a usuarios, aplicaciones, workloads y pipelines.
  • Las credenciales temporales son preferibles a claves permanentes.
  • IAM requiere auditoría continua porque los permisos tienden a crecer con el tiempo.

4.15 Conclusión

Una gestión de identidades sólida reduce el impacto de errores y credenciales comprometidas. Los roles, políticas, condiciones, MFA y revisiones periódicas permiten operar cloud con control, trazabilidad y menor superficie de ataque.

En el próximo tema estudiaremos la seguridad de redes cloud: VPC, subredes, security groups, firewalls y conectividad privada.