Skip to main content

Command Palette

Search for a command to run...

Sandbox Accounts for Events en AWS para entornos temporales seguros

Updated
4 min read
Sandbox Accounts for Events en AWS para entornos temporales seguros
M

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:

  1. Talleres educativos: Proporciona un entorno controlado para que los participantes aprendan a usar servicios de AWS.

  2. Hackatones: Ofrece cuentas aisladas y temporales para equipos que desarrollan soluciones innovadoras durante competencias.

  3. Pruebas y experimentos: Facilita la experimentación en entornos separados del entorno de producción, reduciendo riesgos.

  4. 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:

  1. Una cuenta de AWS: Es preferible usar una cuenta vinculada a AWS Organizations para un mejor control.

  2. Herramientas necesarias:

  3. 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:

  1. 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.

  2. Monitorea el uso: Utiliza herramientas como AWS CloudWatch para supervisar el uso de las cuentas temporales y asegurarte de que no excedan los presupuestos.

  3. 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.

More from this blog

B

Blog de CloudAcademy

80 posts