Conceptos generales de seguridad
Ciberseguridad para Desarrolladores: Protege tus Proyectos y Datos
Principales Riesgos de Seguridad en Empresas y Cómo Mitigarlos
Principios de Seguridad en AWS: Autenticación, Autorización y Auditoría
Funciona en mi local
Configuración de Webhooks y API REST con Go y ngrok
Creación de repositorios seguros y prevención de SQL Injection
Creación de Métodos Testeables con Mocks en Go
Introducción a DevSecOps
Implementación de DevSecOps con GitHub Actions para Desarrolladores
Automatización de Pruebas en Go con GitHub Actions
Pruebas Unitarias con Mocks en GitHub Actions
Gestión de Permisos y Presupuestos en AWS para Nuevas Arquitecturas
Seguridad en la arquitectura
Integración de GitHub Webhooks y AWS para Gestión de Commits
Gestión de Infraestructura como Código con Terraform en AWS
Infraestructura como Código con Terraform y Makefiles
Automatización de Infraestructura con Terraform: Roles y Políticas en AWS
Implementación de buckets y funciones Lambda con Terraform y AWS S3
Configuración de Bases de Datos en AWS con VPC y Seguridad IP
Configuración de Lambdas en VPC usando Terraform
Configuración de API Gateway para Lambdas en AWS
Evitando vulnerabilidades en el código
Configuración de Autenticación con Auth0 en Aplicaciones Web
Implementación de Authorizer con Auth0 en AWS Lambda
Conexión y Configuración de Lambda con AWS y Postgres
Configuración de Endpoints y Políticas en AWS con Terraform
Validación de Webhooks desde GitHub usando User Agent
Validación de Webhooks de GitHub con AWS Secrets Manager
Controles de seguridad sobre datos
Seguridad de Datos y Certificados SSL en AWS
Protección de Datos en Reposo con AWS KMS
Monitoring y alertas
Creación de un Sistema de Logs en Go para Observabilidad
Monitoreo y Auditoría en AWS con CloudWatch y CloudTrail
Creación de Alertas en AWS CloudWatch
CORS y cierre
Manejo de CORS en Desarrollo Web Seguro
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Al tener nuestras funciones Lambda dentro de una VPC, se encuentran completamente aisladas del acceso público, lo cual es ideal para protegerlas. Sin embargo, para poder interactuar con ellas, necesitamos establecer un método de acceso controlado y seguro. Aquí es donde entra en juego el API Gateway, que actuará como puerta de entrada, definiendo los diversos endpoints necesarios para llegar a nuestras Lambdas.
El API Gateway no solo facilita el acceso a nuestras Lambdas, sino que también se convierte en el único punto de conexión a ellas. Sin embargo, esto lo vuelve el único punto de falla, es decir, si el API Gateway falla, no podremos acceder a nuestras funciones Lambda. Para mitigar este riesgo, podemos implementar diferentes estrategias:
Dentro del servicio de API Gateway en AWS, existen varias opciones para crear APIs, tales como:
En este caso, nos enfocaremos en crear una HTTP API que apunta directamente a nuestras Lambdas.
Una vez configurada nuestra API desde la consola de AWS, el siguiente paso es definir las integraciones y las rutas:
Añadir Integraciones: Conectar la API a recursos como URLs HTTP y funciones Lambda. En este ejemplo, integraremos dos Lambdas: handle.github.webhook
y getmetrics
.
Definir Rutas: Determinar el método HTTP (GET, POST, etc.) y el recurso al que se asignará cada Lambda. Por ejemplo:
handle.github.webhook
será un POST al recurso commit
.getmetrics
será un GET al recurso metrics
, con un posible filtro por email.Tras crear y configurar nuestra API Gateway, el paso final es probar su funcionamiento. Para ello, podemos usar herramientas de prueba como Postman:
Crear una nueva petición GET: Pegar la URL generada y añadir /metrics/dummy
para comprobar la ruta getmetrics
. Al enviar la petición, deberíamos recibir una respuesta como "hello from getmetrics".
Configurar una petición POST: Usar /commit
según la ruta configurada para handle.github.webhook
. La respuesta debería ser "Hello from handle GitHub notifications".
Estas pruebas nos confirman que las peticiones son gestionadas adecuadamente por el API Gateway, y que nuestras Lambdas permanecen seguras e invisibles al mundo exterior.
Finalmente, te animamos a seguir explorando y perfeccionando tus habilidades en el uso de AWS y herramientas relacionadas. Aprender a interactuar eficazmente con estas tecnologías fortalece tus capacidades y abre un universo de posibilidades en el desarrollo de aplicaciones escalables y seguras. ¡Continúa aprendiendo y ampliando tu horizonte tecnológico!
Aportes 1
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?