Saltar al contenido principal

🔐 AWSAM - AWS Access Monitor

AWS AWS Python Status

Sistema automatizado de monitoreo y notificación en tiempo real de actividad de usuarios IAM en AWS.

📖 Descripción

AWSAM (AWS Access Monitor) es una solución serverless que te permite monitorear y recibir alertas instantáneas sobre cualquier actividad de usuarios IAM en tu cuenta AWS, incluyendo:

  • 🖥️ Logins a la consola AWS
  • 🔑 Asunción de roles IAM
  • 🔐 Accesos vía CLI/API
  • 📧 Notificaciones por email en tiempo real

✨ Características Principales

  • Tiempo Real: Notificaciones en menos de 1 minuto
  • 💰 Costo Cero: Completamente dentro de la capa gratuita de AWS
  • 🚀 Despliegue IaC: CloudFormation y Terraform
  • 🔒 Seguro: Implementa principios de mínimo privilegio
  • 📊 Completo: Captura eventos de consola, CLI y API

🏗️ Arquitectura

💡 Ver ejemplo completo
            ┌─────────────────┐
│ Usuario IAM │
│ (Login/CLI) │
└───────┬─────────┘


┌─────────────────────────────────────────┐
│ CloudTrail │
│ Registra todos los eventos │
└────────┬────────────────────┬───────────┘
│ │
│ ConsoleLogin │ CLI/API Events
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ CloudWatch Logs │ │ EventBridge │
│ + Filter │ │ Rule │
└────────┬────────┘ └────────┬────────┘
│ │
└──────────┬─────────┘

┌─────────────────┐
│ Lambda │
│ Function │
└────────┬────────┘


┌─────────────────┐
│ SNS Topic │
└────────┬────────┘


┌─────────────────┐
│ 📧 Email │
└─────────────────┘

🚀 Inicio

Elige como quieres tu despliegue:

☁️ Opción 1: CloudFormation (Nativo AWS)

🏗️ Opción 2: Terraform (Multi-cloud)

📊 CloudFormation vs Terraform

CaracterísticaCloudFormationTerraform
SintaxisYAMLHCL
Nativo AWS✅ Sí❌ No
Multi-cloud❌ No✅ Sí
EstadoGestionado por AWSArchivo externo (S3)
RollbackAutomáticoManual
Validaciónaws cloudformation validate-templateterraform validate
PreviewChange Setsterraform plan
MódulosNested StacksTerraform Registry
Curva de aprendizaje⭐⭐⭐⭐⭐⭐⭐

💡 ¿Cuál elegir?

Usa CloudFormation si:

  • ✅ Solo trabajas con AWS
  • ✅ Quieres integración nativa
  • ✅ Prefieres que AWS gestione el estado
  • ✅ Necesitas rollback automático

Usa Terraform si:

  • ✅ Trabajas con múltiples clouds, recuerda que podras reciclar tu codigo para otros proveedores
  • ✅ Prefieres HCL sobre YAML
  • ✅ Quieres usar módulos de la comunidad
  • ✅ Necesitas más control sobre el estado

📧 Ejemplo de Notificación, así es como se ve la alerta en tu correo

🚨 ALERTA DE ACTIVIDAD IAM

🔑 AssumeRole
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👤 Usuario: admin-user
📅 Fecha/Hora: 2025-12-05T10:30:15Z
🌐 IP Origen: 003.0.113.42
🔧 Acción: AssumeRole
💻 User Agent: aws-cli/2.31.31

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Región: us-east-1


💰 Costes

Completamente GRATIS para uso normal (dentro de la capa gratuita de AWS):

ServicioCapa GratuitaUso Estimado
CloudTrailIncluidoYa activo
EventBridge1M eventos/mes~1,000/mes
Lambda1M invocaciones/mes~1,000/mes
SNS1,000 emails/mes~1,000/mes
TOTAL€0/mes

🔒 Seguridad


✅ **Principio de mínimo privilegio** - Roles IAM con permisos mínimos
✅ **Confirmación de email** - Suscripciones SNS requieren confirmación
✅ **Auditoría completa** - Logs de CloudWatch para todas las operaciones
✅ **Sin credenciales hardcodeadas** - Usa variables de entorno
✅ **Timeout limitado** - Lambda con timeout de 30 segundos

🎯 Roadmap

Nuestra solución puede potenciarse con más funcionalidades:

  • Captura de ConsoleLogin en tiempo real
  • Soporte para roles asumidos (AssumedRole)
  • Integración con Slack/Microsoft Teams
  • Dashboard de CloudWatch con métricas
  • Detección de IPs sospechosas
  • Alertas diferenciadas por severidad
  • Análisis de patrones de comportamiento

Hecho con 💪 para mejorar la seguridad en AWS