Sandbox Accounts for Events en AWS para entornos temporales seguros

Apasionado por la tecnología con más de 10 años de experiencia. Actualmente trabajando con tecnologías Cloud y Devops.
☁️ AWS Certified Solutions Architect – Associate ☁️ AWS Certified Security – Specialty
En el ámbito de la computación en la nube, contar con entornos temporales y controlados se convirtió en una necesidad clave para capacitar equipos, realizar hackatones o pruebas de desarrollo. Sin embargo, administrar múltiples cuentas de AWS para estos fines puede ser una tarea compleja y propensa a errores.
Para abordar este desafío, AWS Labs desarrolló Sandbox Accounts for Events, una solución que automatiza la creación y gestión de cuentas temporales de AWS para eventos como talleres y hackatones. Esta herramienta permite a los organizadores configurar y entregar cuentas temporales con facilidad, asegurando que sean eliminadas o reiniciadas una vez finalizadas.
En este artículo, vamos a explorar qué es esta solución, cómo instalarla y cómo configurarla para aprovechar al máximo sus capacidades.
¿Qué es Sandbox Accounts for Events?
Sandbox Accounts for Events es un sistema que permite asignar cuentas temporales de AWS a varios usuarios al mismo tiempo. A través de una interfaz gráfica fácil de usar, los administradores pueden distribuir cuentas a los participantes y controlar su uso mediante una funcionalidad de "arrendamientos" o leases temporales.
El backend de la solución se basa en el proyecto Disposable Cloud Environment™ (DCE), que se encarga de gestionar los recursos asociados, limpiar las cuentas al finalizar el arrendamiento y garantizar que los costos estén dentro de los límites establecidos. Esto permite a las organizaciones controlar tanto la seguridad como los presupuestos durante los eventos.
Principales características
Gestión de cuentas temporales: Permite crear y asignar cuentas temporales a múltiples usuarios autenticados.
Control de gastos: Configura presupuestos máximos por cuenta para evitar costos inesperados.
Eliminación automática: Utiliza AWS Nuke para limpiar las cuentas después de su expiración.
Escalabilidad: Puede manejar múltiples usuarios simultáneamente, ideal para grandes eventos.
Casos de uso
Sandbox Accounts for Events es ideal para una amplia gama de escenarios, incluyendo:
Talleres educativos: Proporciona un entorno controlado para que los participantes aprendan a usar servicios de AWS.
Hackatones: Ofrece cuentas aisladas y temporales para equipos que desarrollan soluciones innovadoras durante competencias.
Pruebas y experimentos: Facilita la experimentación en entornos separados del entorno de producción, reduciendo riesgos.
Capacitación interna: Equipos de desarrollo o investigación pueden acceder a entornos temporales para probar nuevas ideas.
Instalación de Sandbox Accounts for Events
A continuación, te muestro cómo instalar y configurar esta herramienta en tu cuenta de AWS. El proceso es simple, pero requiere algunos pasos previos.
Prerrequisitos
Antes de empezar, necesitas tener lo siguiente:
Una cuenta de AWS: Es preferible usar una cuenta vinculada a AWS Organizations para un mejor control.
Herramientas necesarias:
AWS CLI: Instrucciones de instalación.
GNU Make: Instrucciones de instalación.
Git: Descargar Git.
Bucket de S3: Vas a necesitar un bucket para almacenar los artefactos de despliegue.
Pasos de instalación
1- Clona el repositorio
Abrí tu terminal y ejecuta:
git clone https://github.com/awslabs/sandbox-accounts-for-events.git
cd sandbox-accounts-for-events
2- Crea un bucket de S3
Este bucket va a almacenar los archivos necesarios para la implementación:
aws s3 mb s3://<nombre-de-tu-bucket>
3- Construye los artefactos
Compila los artefactos necesarios ejecutando:
make build
4- Despliega la solución
Implementa la aplicación en tu cuenta de AWS:
make deploy BUCKET_NAME=<nombre-de-tu-bucket>
5- Configura el frontend
Una vez completada la implementación, vas a tener una URL para el frontend de la aplicación. Esta URL puede ser compartida con los usuarios para que se registren y accedan a sus cuentas temporales.
Configuración avanzada
Integración con AWS Organizations
Aunque esta herramienta puede usarse sin AWS Organizations, se recomienda su integración para un mejor control. AWS Organizations permite:
Limitar el acceso a servicios y regiones específicas mediante políticas SCP (Service Control Policies).
Administrar las cuentas sandbox desde una unidad organizativa centralizada.
Implementar medidas de seguridad avanzadas para proteger los entornos.
Definir límites de tiempo y presupuesto
Al configurar la solución, podes ajustar la duración máxima de los arrendamientos y establecer presupuestos por cuenta. Esto asegura que los recursos sean liberados automáticamente una vez que se alcanza el tiempo límite o el presupuesto asignado.
Mejores prácticas de seguridad
Es importante seguir las siguientes recomendaciones para garantizar la seguridad al utilizar esta herramienta:
Mantén el software actualizado: Las versiones más recientes del proyecto solucionan vulnerabilidades como CVE-2023-50928, que permitía a usuarios autenticados acceder a cuentas vacías.
Monitorea el uso: Utiliza herramientas como AWS CloudWatch para supervisar el uso de las cuentas temporales y asegurarte de que no excedan los presupuestos.
Limita los accesos: Configura políticas de IAM estrictas para evitar que los usuarios accedan a recursos no autorizados.
Enlace al repositorio
Consulta el repositorio oficial para obtener más detalles y acceder a actualizaciones:
Sandbox Accounts for Events en GitHub.
Conclusión
Sandbox Accounts for Events es una herramienta poderosa para gestionar entornos temporales en AWS. Su capacidad de automatizar la creación, asignación y limpieza de cuentas permite a los organizadores centrarse en el contenido de los eventos, en lugar de en la administración de los recursos.
Con esta solución, podes ofrecer experiencias de aprendizaje y desarrollo seguras y escalables, optimizando tanto la seguridad como los costos.





