Cerramos el capítulo de IAM con una lista práctica de buenas prácticas: las cosas que debes hacer siempre para mantener tu cuenta de AWS segura. Considéralo tu checklist de seguridad. Muchas ya las hemos visto a lo largo del capítulo; aquí las reunimos y ordenamos para que las apliques desde el primer día.

  1. Protege y no uses el usuario root

El usuario root (el correo con el que creaste la cuenta) tiene poder absoluto. Es tu activo más sensible.

  • Activa MFA en el root inmediatamente (subcapítulo 7.4).
  • No generes claves de acceso para el root. Si las tiene, bórralas.
  • No lo uses para el día a día. Crea un usuario IAM administrador para tu trabajo.
  • Guarda sus credenciales en un lugar muy seguro y úsalo solo para las pocas tareas que lo requieren obligatoriamente (como cerrar la cuenta o cambiar el plan de soporte).

Esta es la práctica número uno. Una cuenta root comprometida es una cuenta perdida por completo.

  1. Activa MFA en todas partes

  • MFA en el root (obligatorio).
  • MFA en todos los usuarios con permisos relevantes, especialmente administradores.
  • Para empresas, considera exigir MFA por política (que no se pueda hacer nada sensible sin él).

  1. Aplica el mínimo privilegio (siempre)

El principio del subcapítulo 7.2, en forma de acciones concretas:

  • Da solo los permisos necesarios, no AdministratorAccess por comodidad.
  • específico con acciones y recursos.
  • Revisa periódicamente y quita permisos que ya no se usan.
  • Usa IAM Access Analyzer (herramienta gratuita de AWS) para detectar permisos excesivos o accesos no intencionados desde fuera.

  1. Usa grupos para gestionar permisos de personas

  • No adjuntes políticas usuario por usuario. Crea grupos por función (Desarrolladores, Administradores, Soporte…) y asigna permisos al grupo.
  • Añadir o quitar a alguien es tan simple como meterlo o sacarlo del grupo.
  • Más fácil de mantener y menos propenso a errores.

  1. Usa roles para servicios y aplicaciones

  • Nunca incrustes claves de acceso dentro de una instancia EC2, una Lambda o el código de tu aplicación.
  • Asigna un rol con los permisos justos (subcapítulos 7.1 y 7.4). El servicio obtiene credenciales temporales automáticamente, sin claves que robar.
  • Esto vale también para tu canalización de CI/CD y para herramientas como Terraform.

  1. Evita las claves de acceso permanentes

  • Prefiere credenciales temporales (STS / roles) siempre que puedas.
  • Si necesitas claves permanentes para una persona, rótalas con regularidad (cámbialas cada cierto tiempo).
  • Nunca subas claves a un repositorio Git. Usa un gestor de secretos (Capítulo 23) y herramientas que detectan claves en el código antes de subirlo.
  • Desactiva las claves que no se usen.

Recordatorio del peligro real: los bots escanean GitHub buscando claves filtradas y las explotan en segundos. Una clave permanente filtrada con muchos permisos puede costarte miles de euros. Trata las claves como contraseñas: secretas, rotadas y mínimas.

  1. Usa contraseñas fuertes y una política de contraseñas

  • Define una política de contraseñas en tu cuenta: longitud mínima, mezcla de caracteres, caducidad razonable, no reutilización.
  • Anima al uso de gestores de contraseñas.

  1. Registra y vigila la actividad (auditoría)

No puedes proteger lo que no ves. Activa el registro de quién hace qué:

  • AWS CloudTrail: registra todas las acciones realizadas en tu cuenta (quién, qué, cuándo). Es tu «cámara de seguridad». Imprescindible y deberías activarlo desde el principio.
  • CloudWatch (Capítulo 24) para alarmas ante actividad sospechosa.
  • GuardDuty (Capítulo 23) para detección automática de amenazas.

Veremos estas herramientas en la Parte VI; por ahora, quédate con que la auditoría es parte de la seguridad.

  1. Centraliza la identidad si tienes un equipo

  • Para varias personas o varias cuentas, usa AWS IAM Identity Center (antes AWS SSO): acceso centralizado, con credenciales temporales y MFA, sin crear usuarios IAM uno a uno.
  • En entornos grandes, combina con AWS Organizations y Service Control Policies (Capítulo 23 y 30) para poner límites a nivel de toda la organización.

El checklist resumido

Tu lista mínima de seguridad IAM desde el día uno:

[ ] MFA activado en el usuario root
[ ] Usuario root sin claves de acceso y guardado a buen recaudo
[ ] Usuario IAM administrador para el trabajo diario (con MFA)
[ ] Permisos por mínimo privilegio (nada de admin "por si acaso")
[ ] Grupos para gestionar permisos de personas
[ ] Roles (no claves) para EC2, Lambda y demás servicios
[ ] Sin claves permanentes en el código ni en Git
[ ] Política de contraseñas configurada
[ ] CloudTrail activado para auditar la actividad

Consejo: Configura esto al crear la cuenta, antes de empezar a construir nada. Es mucho más fácil partir de una base segura que «arreglar la seguridad después».

Lo que debes recordar

  • Protege el root (MFA, sin claves, no usarlo a diario): es la prioridad número uno.
  • MFA en todas partes y mínimo privilegio siempre.
  • Grupos para personas, roles para servicios; evita claves permanentes y nunca las subas a Git.
  • Audita con CloudTrail desde el principio: la visibilidad es parte de la seguridad.
  • Para equipos y multi-cuenta, centraliza con IAM Identity Center y Organizations.
  • Aplica el checklist al crear la cuenta, no después.

Con esto cierras el Capítulo 7 y dominas la identidad y los accesos. En el Capítulo 8, el último de los servicios esenciales, veremos las bases de datos gestionadas de AWS.

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados