Introducción a IAM en AWS: Usuarios, Grupos, Roles y Políticas

Clase 6 de 75Curso de AWS Certified Solutions Architect Associate

Gestión Avanzada de IAM en Nexiia Bank

En Nexiia Bank, la seguridad en la nube es prioritaria. En esta clase profundizaremos en aspectos avanzados de IAM que nos permitirán validar permisos, delegar roles entre cuentas de forma segura y garantizar la actualización constante de credenciales. Además, integraremos ejemplos de condicionales en las políticas de IAM para lograr controles de acceso precisos.


1. Validación de Permisos con IAM Policy Simulator

El IAM Policy Simulator es una herramienta fundamental para Nexiia Bank al permitirnos probar las configuraciones de políticas antes de aplicarlas en producción. Gracias a esta herramienta, podemos:

  • Verificar si las políticas aplicadas a usuarios, grupos o roles permiten o restringen las acciones deseadas.
  • Detectar configuraciones erróneas o permisos excesivos que puedan comprometer la seguridad.
  • Simular diferentes escenarios de acceso, comprobando la efectividad de los controles implementados.

Por ejemplo, para garantizar que los desarrolladores solo accedan a recursos sensibles desde la red corporativa, se puede emplear un condicional basado en direcciones IP en la política:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::nexiia-bank-buckets/*", "Condition": { "IpAddress": { "aws:SourceIp": "203.0.113.0/24" } } } ] }

Este ejemplo asegura que las acciones sobre S3 se limiten únicamente a solicitudes provenientes de la red autorizada en Nexiia Bank.


2. Roles Delegados entre Cuentas (Federación y AWS STS)

En un entorno con múltiples cuentas AWS, es frecuente que distintos equipos y aplicaciones requieran acceso a recursos repartidos en diferentes cuentas. AWS facilita esta interoperabilidad mediante:

  • Federación de Identidades: Permite integrar usuarios externos u organizaciones a través de proveedores de identidad (como SAML), evitando la necesidad de crear usuarios IAM individuales en cada cuenta.
  • AWS Security Token Service (STS): Permite generar credenciales temporales al asumir roles en otra cuenta, lo que refuerza la seguridad y simplifica el acceso transaccional.

image.png

Para configurar una delegación de roles, se define una política de confianza en la cuenta receptora, especificando quién puede asumir el rol. Por ejemplo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "NexiiaBankFederation" } } } ] }

Esta política permite a la cuenta externa identificar a Nexiia Bank mediante un identificador único (ExternalId) para asumir el rol y obtener acceso a los recursos de manera controlada y segura.


3. Rotación de Credenciales y Uso de AWS Secrets Manager o Parameter Store

La rotación de credenciales es esencial para proteger el acceso a los recursos. En Nexiia Bank, la actualización periódica de claves de acceso y otros secretos disminuye el riesgo ante posibles compromisos. Las herramientas que facilitan esta práctica son:

image.png

  • AWS Secrets Manager:

    Se utiliza para gestionar, almacenar y rotar secretos de aplicaciones—como contraseñas, tokens y claves API—de forma automática. Secrets Manager se integra con AWS Lambda para automatizar la rotación, reduciendo la intervención manual y garantizando que siempre se usen credenciales actualizadas.

  • AWS Systems Manager Parameter Store:

    Permite almacenar parámetros sensibles de manera segura, con la opción de cifrado mediante AWS KMS. Es ideal para centralizar la gestión de configuraciones y secretos en las aplicaciones de Nexiia Bank, manteniendo un control sólido sobre la información crítica.

La combinación de estas técnicas permite a nuestro equipo asegurar que incluso si una credencial queda expuesta, su ciclo de vida sea corto, minimizando el riesgo de acceso indebido.


4. Condicionales en Políticas IAM para Accesos Condicionados

Además de las validaciones de IP o identidad, es posible aplicar condicionales avanzadas que permitan definir reglas contextuales de acceso. Por ejemplo, para limitar operaciones críticas a determinados horarios, se puede utilizar una política como la siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:StartInstances", "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2025-02-13T08:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2025-02-13T18:00:00Z" } } } ] }

De esta forma, Nexiia Bank se asegura de que las operaciones sobre instancias EC2 se realicen únicamente durante las horas laborales, reduciendo el riesgo de acciones no autorizadas fuera de horario.


Conclusión

En un entorno tan exigente como el de Nexiia Bank, la correcta implementación de políticas avanzadas en IAM es crucial. El uso del IAM Policy Simulator permite validar los permisos antes de la implementación, garantizando configuraciones precisas. La delegación de roles entre cuentas a través de federación e STS facilita el acceso controlado entre diferentes entornos, y la rotación de credenciales con AWS Secrets Manager o Parameter Store refuerza nuestra seguridad operativa. Finalmente, la incorporación de condicionales en las políticas de IAM nos permite definir reglas de acceso contextuales, asegurando que las acciones se realicen según criterios específicos (como IP, horario o identificadores externos).

Adoptar estas prácticas avanzadas no solo mejora la seguridad de la infraestructura, sino que también optimiza la eficiencia y el control, permitiendo a Nexiia Bank cumplir con estrictos requerimientos de seguridad y operación en la nube.