====== Gestión de Identidad y Acceso (IAM) en AWS ====== AWS Identity and Access Management (IAM) es un servicio que permite administrar de forma segura el acceso a los recursos de AWS. Con IAM, se pueden controlar quién está autenticado y autorizado para usar recursos dentro de la nube de AWS. ===== Conceptos Clave de IAM ===== ==== Usuarios ==== Los usuarios en IAM representan identidades individuales dentro de AWS. Cada usuario puede tener credenciales específicas, como una contraseña para la consola web o claves de acceso para la API. ===Buenas Prácticas:=== * Evitar el uso del usuario raíz. * Implementar autenticación multifactor (MFA) en todos los usuarios. * Utilizar roles en lugar de claves de acceso permanentes. ==== Grupos ==== Un grupo es una colección de usuarios a los que se pueden asignar políticas en común. Simplifica la administración del acceso. Ejemplo de uso: Un grupo "Administradores" puede tener permisos de administración completa, mientras que "Desarrolladores" puede tener acceso limitado. ==== Roles ==== Los roles permiten otorgar permisos temporales a entidades de AWS o usuarios sin necesidad de claves de acceso permanentes. Ejemplo de uso: * Una instancia de EC2 puede asumir un rol con permisos para acceder a S3 sin necesidad de credenciales almacenadas en la instancia. ==== Políticas ==== Las políticas son documentos en JSON que definen permisos dentro de AWS. Ejemplo básico de política JSON para acceso de solo lectura a S3: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example-bucket" } ] } ====Tipos de políticas:==== * Políticas administradas por AWS: Predefinidas por AWS. * Políticas administradas por el cliente: Creadas por el usuario y reutilizables. * Políticas en línea: Asociadas directamente a un usuario, grupo o rol. ==== Autenticación y Autorización ==== * Autenticación: IAM autentica identidades mediante usuarios, federación o roles. * Autorización: Se definen permisos mediante políticas JSON. ==== Buenas Prácticas de Seguridad en IAM ==== * Principio de privilegios mínimos: Asignar solo los permisos necesarios para cada usuario o recurso. * Habilitar MFA en el usuario raíz y en cuentas críticas. * Rotar credenciales periódicamente y eliminar claves de acceso no utilizadas. * Usar roles en lugar de credenciales almacenadas en instancias o código. * Activar AWS CloudTrail para auditar eventos de IAM. ==== Implementación Básica de IAM ==== - **Crear usuarios** con permisos específicos en lugar de usar la cuenta raíz. - **Asignar usuarios a grupos** según su función dentro de la organización. - **Definir políticas personalizadas** para restringir el acceso según sea necesario. - **Usar roles para servicios de AWS** en lugar de credenciales almacenadas. - **Configurar MFA en cuentas críticas** y forzar el uso de contraseñas seguras. ====== Auditoría y Monitoreo de IAM ====== Es recomendable habilitar los siguientes servicios para monitorear actividades en IAM: * **AWS CloudTrail:** Para registrar todas las acciones realizadas en IAM. * **AWS Config:** Para evaluar cambios en configuraciones de IAM. * **IAM Access Analyzer:** Para identificar accesos no intencionados a recursos. ====== Conclusión ====== IAM es un pilar fundamental en la seguridad de AWS. La implementación de buenas prácticas como el principio de privilegios mínimos, el uso de MFA y la auditoría de accesos garantiza un entorno seguro y controlado en la nube. Administrar correctamente IAM reduce riesgos y mejora la seguridad de la infraestructura en AWS.