Conceptos generales de seguridad

1

Ciberseguridad para Desarrolladores: Protege tus Proyectos y Datos

2

Principales Riesgos de Seguridad en Empresas y Cómo Mitigarlos

3

Principios de Seguridad en AWS: Autenticación, Autorización y Auditoría

Funciona en mi local

4

Configuración de Webhooks y API REST con Go y ngrok

5

Creación de repositorios seguros y prevención de SQL Injection

6

Creación de Métodos Testeables con Mocks en Go

Introducción a DevSecOps

7

Implementación de DevSecOps con GitHub Actions para Desarrolladores

8

Automatización de Pruebas en Go con GitHub Actions

9

Pruebas Unitarias con Mocks en GitHub Actions

10

Gestión de Permisos y Presupuestos en AWS para Nuevas Arquitecturas

Seguridad en la arquitectura

11

Integración de GitHub Webhooks y AWS para Gestión de Commits

12

Gestión de Infraestructura como Código con Terraform en AWS

13

Infraestructura como Código con Terraform y Makefiles

14

Automatización de Infraestructura con Terraform: Roles y Políticas en AWS

15

Implementación de buckets y funciones Lambda con Terraform y AWS S3

16

Configuración de Bases de Datos en AWS con VPC y Seguridad IP

17

Configuración de Lambdas en VPC usando Terraform

18

Configuración de API Gateway para Lambdas en AWS

Evitando vulnerabilidades en el código

19

Configuración de Autenticación con Auth0 en Aplicaciones Web

20

Implementación de Authorizer con Auth0 en AWS Lambda

21

Conexión y Configuración de Lambda con AWS y Postgres

22

Configuración de Endpoints y Políticas en AWS con Terraform

23

Validación de Webhooks desde GitHub usando User Agent

24

Validación de Webhooks de GitHub con AWS Secrets Manager

Controles de seguridad sobre datos

25

Seguridad de Datos y Certificados SSL en AWS

26

Protección de Datos en Reposo con AWS KMS

Monitoring y alertas

27

Creación de un Sistema de Logs en Go para Observabilidad

28

Monitoreo y Auditoría en AWS con CloudWatch y CloudTrail

29

Creación de Alertas en AWS CloudWatch

CORS y cierre

30

Manejo de CORS en Desarrollo Web Seguro

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Integración de GitHub Webhooks y AWS para Gestión de Commits

11/30
Recursos

¿Cómo diseñar la arquitectura del proyecto?

Diseñar la arquitectura de un proyecto es un paso crucial que define cómo los diferentes componentes del sistema se interactuarán entre sí. En este proyecto, el objetivo principal es permitir que el Engineering Manager acceda a los datos de los commits realizados por los desarrolladores. Esto se logrará mediante GitHub Webhooks, dos funciones Lambda, una base de datos RDS en AWS, una API Gateway y el uso de Auth0 para autenticación. Este enfoque garantizara seguridad, eficacia y escalabilidad.

¿Cómo funcionan los GitHub Webhooks?

Cada vez que un desarrollador realice un push en GitHub, se activará un webhook que enviará datos a nuestro sistema. Este mecanismo simplifica la comunicación entre GitHub y nuestro proyecto, permitiendo recibir notificaciones en tiempo real de cada commit que se realiza.

¿Qué son las funciones Lambda y cuál es su rol aquí?

Utilizaremos dos funciones Lambda:

  1. GetMetrics: Será accesible solo por el Engineering Manager u otros usuarios registrados. Esta función obtendrá registros de la base de datos y proporcionará métricas relevantes.

  2. Handle GitHub Notifications: Se encargará de recibir mensajes exclusivamente desde GitHub, registrando los commits en nuestra base de datos.

Las funciones Lambda permiten ejecutar código en respuesta a eventos y escalan automáticamente, haciendo que sean ideales para manejar tareas específicas sin necesidad de gestionar servidores.

¿Cómo se estructura la base de datos RDS?

Optamos por una base de datos RDS de Amazon basado en SQL. Esta elección se debe a su alta disponibilidad, seguridad y facilidad de gestión. Aquí almacenaremos todos los datos relacionados con los commits, permitiendo al Engineering Manager consultar métricas detalladas a través de la función GetMetrics.

¿Cómo se gestiona la seguridad con API Gateway y Auth0?

Para asegurar que solo usuarios autorizados accedan a las funciones Lambda, utilizaremos una API Gateway con dos endpoints:

  • Uno dirige al Engineering Manager hacia la función GetMetrics.
  • Otro recibe las notificaciones de GitHub y dirige hacia Handle GitHub Notifications.

La API Gateway realizará la autorización utilizando Auth0, un proveedor de autenticación que facilita la implementación de inicio de sesión seguro. Este método asegura que solo los usuarios aprobados y las notificaciones de GitHub tengan acceso a nuestro sistema.

¿Por qué usar Secrets Manager para las credenciales?

Cuando se trata de bases de datos, el manejo seguro de las credenciales es esencial. Utilizaremos AWS Secrets Manager para almacenar y gestionar las credenciales de acceso a la base de datos. Esto evita que las credenciales queden expuestas en los archivos de configuración, minimizando el riesgo de filtraciones y aumentando la seguridad de nuestra arquitectura.

Recuerda que cada uno de estos componentes puede personalizarse según las necesidades específicas del proyecto y los requisitos de seguridad. Aprovecha estas herramientas para construir un sistema robusto y eficiente. ¡Sigue aprendiendo y desarrollando tus habilidades!

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ruta de AWS: <https://platzi.com/ruta/aws/>
![](https://static.platzi.com/media/user_upload/image-55f523f1-ba0c-444e-9448-da0fc78b016e.jpg)