AWS IAM
Servicio de gestión de identidad y acceso de AWS que controla quién puede hacer qué en tu cuenta, con políticas granulares basadas en el principio de mínimo privilegio.
¿Qué es?
AWS IAM (Identity and Access Management) controla la autenticación y autorización en AWS. Define quién (identidad) puede hacer qué (permisos) en qué recursos (scope). Es el sistema nervioso de seguridad de cualquier cuenta AWS.
Conceptos clave
- Users: identidades para personas
- Roles: identidades para servicios y aplicaciones (preferido sobre users)
- Policies: documentos JSON que definen permisos
- Groups: colecciones de users con políticas compartidas
Tipos de políticas
| Tipo | Alcance |
|---|---|
| Identity-based | Adjuntas a users, groups, roles |
| Resource-based | Adjuntas a recursos (S3 bucket policy) |
| Permission boundaries | Límite máximo de permisos |
| Service control policies | Límites a nivel de organización |
Principio de mínimo privilegio
Cada identidad debe tener solo los permisos estrictamente necesarios. En la práctica:
- Empezar sin permisos y agregar según necesidad
- Usar IAM Access Analyzer para identificar permisos no usados
- Preferir roles sobre access keys
- Rotar credenciales regularmente
IAM y Lambda
Cada función Lambda tiene un execution role que define qué servicios AWS puede invocar. Definir roles específicos por función, no compartir roles genéricos.
¿Por qué importa?
IAM es el sistema nervioso de la seguridad en AWS. Cada llamada a la API pasa por IAM. Entender políticas, roles y el principio de mínimo privilegio no es opcional — es la base sobre la que se construye cualquier arquitectura segura en la nube.
Referencias
- IAM Documentation — Documentación oficial.
- IAM Best Practices — AWS, 2024. Mejores prácticas de seguridad.
- IAM Policies — AWS, 2024. Guía de políticas de acceso.