certmundo.
es‑mx

7 min de lectura

¿Cómo controlar el acceso a AWS con IAM?

IAM (Identity and Access Management) es el sistema de AWS que controla quién puede entrar a tu cuenta y qué acciones puede realizar.

El día que un error de permisos cuesta caro

Imagina que contratas a un desarrollador junior en tu startup. Le das acceso completo a AWS para que suba unos archivos. Al día siguiente, por error, elimina la base de datos de producción. Todos los pedidos del día se pierden. Ese escenario ocurre en empresas reales. La buena noticia es que IAM existe exactamente para evitarlo. Con IAM defines reglas precisas: quién entra, a qué recurso y qué puede hacer con él.

El Sistema de Mínimos Privilegios

IAM funciona bajo un principio llamado mínimo privilegio. La idea es simple: cada persona o sistema recibe solo los permisos que necesita para hacer su trabajo, ni uno más.

Piensa en un edificio corporativo como el de Liverpool en Perisur. El personal de limpieza tiene llave del baño y los pasillos. No tiene acceso a la bóveda de contabilidad. El director de finanzas sí. Cada persona tiene una llave diferente según su rol. IAM funciona igual, pero para tus recursos en la nube.

Este sistema tiene cuatro componentes principales: usuarios, grupos, políticas y roles. Vamos a ver cada uno.

Los Cuatro Pilares de IAM

Usuarios

Un usuario IAM representa a una persona o a un sistema que accede a AWS. Cuando creas un usuario, AWS genera credenciales únicas: usuario y contraseña para la consola web, o llaves de acceso (Access Key y Secret Key) para la línea de comandos.

Ejemplo práctico: en una empresa de logística como Estafeta, crearías un usuario llamado ana.garcia para la desarrolladora Ana García. Ese usuario existe solo para Ana. Nadie más lo comparte.

Regla de oro: nunca uses la cuenta raíz (root) de AWS para el trabajo diario. La cuenta raíz tiene poder total sobre todo. Crea un usuario IAM con permisos de administrador y usa ese para operar.

Grupos

Un grupo IAM es una colección de usuarios que comparten los mismos permisos. En lugar de asignar permisos uno por uno, los asignas al grupo y todos los miembros los heredan automáticamente.

Ejemplo con FEMSA: supón que tienes tres equipos en tu empresa.

  • Grupo Desarrolladores: puede lanzar instancias EC2 y subir archivos a S3.
  • Grupo Analistas: puede leer datos de S3 pero no modificarlos.
  • Grupo Finanzas: puede ver el panel de costos pero no tocar ningún recurso técnico.

Cuando entra un nuevo desarrollador, lo agregas al grupo Desarrolladores y listo. Hereda todos los permisos del grupo en segundos.

Políticas

Una política IAM es un documento JSON que define exactamente qué acciones están permitidas o negadas. Es el contrato legal que AWS lee para decidir si una acción procede o no.

Una política básica se ve así:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::mi-bucket-reportes/*"
    }
  ]
}

Esta política dice: "Permite leer archivos del bucket llamado mi-bucket-reportes". Nada más. El usuario con esta política no puede eliminar archivos, no puede subir archivos y no puede ver otros buckets.

AWS ya ofrece políticas prediseñadas llamadas políticas administradas. Por ejemplo, AmazonS3ReadOnlyAccess da acceso de solo lectura a todos los buckets. Puedes usarlas directamente o como base para crear las tuyas.

Roles

Un rol IAM es como una política temporal que asumes cuando la necesitas. La diferencia con un usuario es que el rol no tiene credenciales permanentes. En cambio, genera credenciales temporales automáticamente.

Los roles son perfectos para servicios de AWS que necesitan hablar entre sí. Por ejemplo: una función Lambda en Bimbo necesita leer datos de una tabla en DynamoDB. No creas un usuario para eso. Creas un rol con permiso para leer DynamoDB y se lo asignas a la función Lambda. AWS genera las credenciales temporales en cada ejecución.

Cómo Crear un Usuario IAM Paso a Paso

Este flujo aplica para cualquier empresa en México que empiece a organizar su equipo en AWS.

Paso 1. Entra a la consola de AWS y busca el servicio IAM.

Paso 2. Ve a "Usuarios" y haz clic en "Crear usuario".

Paso 3. Escribe el nombre del usuario. Usa el formato nombre.apellido para que sea fácil de identificar. Ejemplo: carlos.mendoza.

Paso 4. Activa el acceso a la consola de administración si el usuario va a usar la interfaz web. Define una contraseña temporal y marca la opción para que el usuario la cambie al primer inicio de sesión.

Paso 5. Asigna permisos. La forma más ordenada es agregar al usuario a un grupo existente. Si el grupo Desarrolladores ya tiene las políticas correctas, solo selecciónalo.

Paso 6. Revisa y crea el usuario. AWS te mostrará las credenciales una sola vez. Descarga el archivo CSV o copia las llaves en ese momento.

Errores Comunes al Usar IAM

Equivocarse en IAM puede abrir huecos de seguridad o bloquear a tu equipo. Estos son los errores más frecuentes.

Error 1: Compartir credenciales entre personas. Si dos personas usan el mismo usuario IAM, no puedes saber quién eliminó un recurso o quién accedió a un archivo sensible. Crea un usuario por persona, siempre.

Error 2: Dar permisos de administrador a todo el equipo. Es tentador asignar AdministratorAccess a todos para evitar problemas. Pero eso elimina cualquier barrera de seguridad. Si las credenciales de alguien se filtran, el atacante tiene control total de tu cuenta de AWS.

Error 3: No rotar las llaves de acceso. Las llaves (Access Key y Secret Key) son como contraseñas. Deben cambiarse periódicamente. AWS recomienda rotarlas cada 90 días. IAM tiene un reporte de credenciales que te muestra cuándo fue el último uso de cada llave.

Error 4: Pegar llaves de acceso en código público. Un error gravísimo es subir código a GitHub con las llaves escritas en el archivo. Hay bots que escanean GitHub en tiempo real buscando exactamente eso. En minutos, alguien podría lanzar cientos de servidores en tu cuenta y dejarte con una factura de miles de pesos.

Error 5: Ignorar MFA (autenticación de dos factores). IAM permite activar MFA para cualquier usuario. Con MFA, aunque alguien robe tu contraseña, necesita también tu teléfono para entrar. Actívalo siempre, especialmente para usuarios con privilegios elevados.

Un Ejemplo Real: Startup de E-commerce en México

Supón que tienes una tienda en línea que compite con Mercado Libre en el nicho de artesanías mexicanas. Tu equipo tiene cuatro personas.

  • Lucía es la CTO. Necesita acceso completo.
  • Roberto y Diana son desarrolladores. Necesitan acceso a EC2, S3 y RDS.
  • Sofía es la contadora. Solo necesita ver los reportes de facturación.

Tu estructura IAM quedaría así:

Grupo Miembros Políticas
Administradores Lucía AdministratorAccess
Desarrolladores Roberto, Diana EC2, S3, RDS (lectura y escritura)
Finanzas Sofía Billing (solo lectura)

Con esta estructura, si Roberto renuncia, solo lo eliminas del grupo Desarrolladores. Sus permisos desaparecen al instante. No hay que buscar qué permisos tenía ni editarlos manualmente.

Cómo Verificar que tus Permisos Están Bien Configurados

IAM incluye una herramienta llamada IAM Policy Simulator. Con ella puedes probar si un usuario específico puede realizar una acción antes de que lo intente en producción.

Por ejemplo, puedes preguntar: "¿Puede el usuario diana.castro eliminar un bucket de S3?" El simulador responde con "Permitido" o "Denegado" y explica qué política tomó esa decisión. Es una forma segura de verificar sin arriesgar recursos reales.

IAM es la primera línea de defensa de tu infraestructura en AWS: si lo configuras bien desde el inicio, proteges tu empresa, tu equipo y tu presupuesto.

Puntos clave

  • IAM controla quién accede a tu cuenta de AWS y qué puede hacer. Usa el principio de mínimo privilegio: cada persona recibe solo los permisos que necesita para su trabajo.
  • Organiza los permisos en grupos, no en usuarios individuales. Cuando alguien entra o sale del equipo, solo lo agregas o eliminas del grupo y los permisos se actualizan al instante.
  • Nunca uses la cuenta raíz (root) para el trabajo diario y nunca pegues llaves de acceso en código que subas a GitHub. Estas dos reglas evitan los errores más costosos en AWS.
  • Activa MFA (autenticación de dos factores) para todos los usuarios con privilegios elevados. Una contraseña robada sin MFA da acceso total a tu infraestructura.
  • Usa roles IAM cuando un servicio de AWS necesita comunicarse con otro, como Lambda leyendo DynamoDB. Los roles generan credenciales temporales automáticamente y son más seguros que las llaves permanentes.

Comparte esta lección:

¿Cómo controlar el acceso a AWS con IAM? | Introducción a AWS: Amazon Web Services desde cero | Certmundo