Saltar al contenido
← Catálogo
Seguridad e identidadFundamental

AWS IAM

Identity and Access Management

Controla quién —persona, servicio o pipeline— puede hacer qué dentro de la cuenta de AWS.

En palabras simples

Es el sistema de llaves del edificio: define qué puertas abre cada credencial. No guarda nada adentro de las salas, solo decide quién entra a cuál.

Cuándo aplicarlo

Siempre. Cualquier persona, servicio o proceso automatizado que necesite tocar recursos de AWS pasa primero por IAM — es la base de la seguridad de toda la cuenta.

  • ▸Dar a GitHub Actions permiso para desplegar el sitio, sin guardar contraseñas
  • ▸Crear usuarios para cada miembro del club con acceso limitado a lo que necesitan
  • ▸Restringir qué puede hacer una función Lambda dentro de la cuenta
  • ▸Auditar quién hizo qué cuando algo se rompe

Vocabulario mínimo

Usuario
Una identidad permanente para una persona. Tiene credenciales propias de acceso.
Rol
Una identidad temporal que alguien o algo puede "asumir". Es la forma recomendada para servicios y automatizaciones.
Política
Un documento JSON que lista qué acciones están permitidas o denegadas sobre qué recursos.
Menor privilegio
El principio central: dar exactamente los permisos necesarios, nunca más "por si acaso".
Cuenta raíz
La identidad original de la cuenta. Solo debe usarse para tareas que la exigen, con MFA activado y nunca compartida.

Costo y capa gratuita

Cómo se cobra
IAM es gratuito. Solo pagas por los recursos que las identidades consumen.
Capa gratuita
Sin costo, sin límites de uso.

Cuidado con los créditos

  • ⚠IAM no cuesta, pero un permiso demasiado amplio sí: una credencial filtrada con acceso total puede consumir todos los créditos del club en horas.
  • ⚠Publicar por accidente claves de acceso en un repositorio público es la causa número uno de facturas inesperadas.

Descripción

IAM es el sistema de identidades y permisos de AWS. No almacena datos de la aplicación ni corre código: define quién puede hacer qué. Eso incluye personas — los miembros del club — pero también servicios de AWS actuando en nombre de otros procesos, como GitHub Actions desplegando este mismo sitio.

El principio central es el de menor privilegio: cada identidad debería tener exactamente los permisos que necesita, ni uno más.

Cómo funciona

  1. Creas usuarios para personas y roles para servicios o automatizaciones.
  2. Adjuntas políticas que describen acciones permitidas sobre recursos concretos.
  3. Cuando alguien intenta una acción, IAM evalúa las políticas aplicables: una denegación explícita siempre gana sobre cualquier permiso.
  4. Los roles se asumen temporalmente, entregando credenciales que expiran solas.

Manos a la obra

  • Crea un usuario nuevo sin ningún permiso e inicia sesión con él.
  • Intenta listar los buckets de S3: fallará con Access Denied.
  • Adjunta una política que permita solo s3:ListAllMyBuckets y repite: ahora funciona, pero abrir un bucket concreto sigue fallando.
  • Esa progresión — permiso por permiso — es la mejor forma de entender el menor privilegio.

Ejemplo visual

Despliegue sin claves guardadasasume (OIDC)sube dist/invalidaGitHub Actionssin secretosRol de IAMmenor privilegioAmazon S3bucket del sitioCloudFrontdistribución
Despliegue sin claves guardadasGitHub Actions se autentica ante AWS usando OIDC, una identidad federada, y asume un rol de IAM. Ese rol lleva una política acotada que solo permite dos cosas: escribir en el bucket de Amazon S3 del club e invalidar la caché de su distribución de CloudFront. Nunca existe una llave de AWS guardada como secreto en GitHub, y las credenciales del rol expiran solas.

El rol no contiene nada: solo autoriza. Si mañana se filtrara el workflow de GitHub, no habría ninguna llave que robar, y el permiso más amplio disponible seguiría siendo «escribir en ese bucket».

Cuándo NO es la mejor opción

  • AWS IAM Identity Center — si el club crece y necesitan gestionar accesos de muchas personas en varias cuentas de AWS a la vez.

Se usa junto con

Aparece en certificaciones

  • AWS Certified Cloud Practitioner
  • AWS Certified Solutions Architect – Associate
  • AWS Certified Security – Specialty