July 31, 2025

IAM

📘 ¿Qué es AWS IAM?

AWS IAM (Identity and Access Management) es el servicio que permite gestionar de forma segura el acceso a los recursos de AWS. IAM te permite crear y administrar usuarios, grupos, roles y políticas de permisos que controlan quién puede hacer qué dentro de tu cuenta de AWS.

IAM es gratis y está disponible en todas las regiones de AWS.


🧩 Principales componentes

ComponenteDescripción
Usuario IAMRepresenta a una persona o aplicación. Tiene credenciales únicas.
GrupoConjunto de usuarios IAM que comparten permisos comunes.
Rol IAMIdentidad sin credenciales propias, usada para delegar acceso temporal.
Política (Policy)Documento JSON que define permisos (permitir o denegar).
PrincipalEntidad que puede autenticarse (usuario, rol, federado, etc.)

🔑 Tipos de autenticación en IAM

  • Acceso programático: mediante claves de acceso (Access Key ID + Secret Key)

  • Acceso a la consola de AWS: mediante usuario/contraseña

  • Autenticación multifactor (MFA): capa extra de seguridad (token físico o app)


🧱 Tipos de políticas en IAM

Tipo de políticaUso
Managed Policy de AWSPolíticas listas para usar, gestionadas por AWS
Customer Managed PolicyPolíticas creadas por el usuario
Inline PolicyPolítica adjunta directamente a un único recurso (usuario, grupo o rol)
Permissions BoundaryLímite superior de permisos para usuarios o roles
Service Control Policy (SCP)Políticas a nivel de organización (solo con AWS Organizations)
Session PolicyPolíticas temporales aplicadas a roles federados o sesiones STS

📘 Sintaxis básica de una política JSON

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::mi-bucket"
  }]
}
  • Effect: Allow / Deny

  • Action: Servicio y acción permitida

  • Resource: ARNs (Amazon Resource Names) específicos


🧠 ¿Qué es un Rol IAM?

  • No tiene credenciales propias

  • Se asume temporalmente con permisos específicos

  • Muy usado para:

    • Delegación de acceso entre cuentas

    • EC2, Lambda y otros servicios que necesitan permisos para actuar

    • Federación de identidad (SSO, SAML, OIDC)


🛡️ Buenas prácticas de seguridad

Práctica recomendadaDescripción
❌ No usar la cuenta root a diarioSolo para tareas críticas puntuales
✅ Activar MFA para todos los usuariosAutenticación multifactor
✅ Usar roles, no claves fijasMás seguro y gestionable
✅ Aplicar principio de menor privilegioSolo los permisos necesarios
✅ Revisar políticas con Access AnalyzerDetectar sobrepermisos o riesgos
✅ Rotar claves regularmenteMejora la seguridad en accesos API

💰 Costos

  • IAM no tiene costo adicional

  • Solo se paga por los recursos accedidos con permisos


🧠 Preguntas tipo certificación

  1. ¿Qué servicio gestiona los permisos en AWS?

    • ✅ AWS IAM
  2. ¿Qué componente se usa para delegar acceso temporal entre cuentas?

    • ✅ IAM Role
  3. ¿Cuál es el mejor lugar para aplicar el principio de menor privilegio?

    • ✅ IAM Policies
  4. ¿Cuál es el riesgo de usar usuarios IAM con claves de acceso fijas?

    • ❌ Pueden ser robadas o mal gestionadas
  5. ¿Cómo puedes evitar que un usuario tenga más permisos de los deseados?

    • ✅ Usando Permissions Boundaries

🔗 Integraciones y herramientas relacionadas

  • AWS Organizations: define límites con SCPs

  • IAM Access Analyzer: identifica accesos públicos o excesivos

  • AWS SSO: control centralizado de identidades externas

  • STS (Security Token Service): entrega tokens temporales de acceso

  • CloudTrail: audita actividades de IAM


📚 Recursos útiles