Conceptos generales de seguridad
Por qué Ciberseguridad para Desarrollo Web
No estamos seguros
Autorización Autenticación y Accountability : AAA
Funciona en mi local
Empecemos por la lógica
SQL Injection
De local a producción
Introducción a DevSecOps
DevSecOps como cultura
Creando pipelines
Corriendo nuestras pruebas
Listas de control de privilegios
Seguridad en la arquitectura
Diseñando la arquitectura
Infraestructura como código
Creando la infraestructura
Creando roles y policies
Desplegando funciones lambda
El mundo de la Base de Datos
Conectando lambdas a una VPC
Single point of failure
Evitando vulnerabilidades en el código
Configurando Auth0
Creando un lambda Authorizer
Secretos y API Keys
Creando Endpoints
Evitando Cross Site Scripting o XSS
Validando la integridad de los datos con tokens
Controles de seguridad sobre datos
Conociendo la naturaleza de los datos
Protege tus datos con Key Management Services
Monitoring y alertas
Sistema de logs
Observabilidad
Alertas y Postmortems
CORS y cierre
Errores de CORS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Iniciar con infraestructuras como código es un paso crucial para gestionar eficientemente los recursos de computación en la nube. Primero, es necesario instalar las herramientas adecuadas en tu sistema. Make
, una herramienta para la automatización y gestión de procesos, ya debería estar instalada si estás utilizando una Mac o Linux. Para usuarios de Windows, puedes encontrar el enlace de instalación y verificar si funciona correctamente ejecutando make --version
.
Luego, instala Terraform, una herramienta esencial para definir y mantener la infraestructura de TI. Terraform debes instalarlo conforme al sistema operativo que utilices: Mac, Windows o Linux. Asegúrate de tenerlo correctamente instalado antes de proceder a idear tus archivos de infraestructura.
Ubícate en la raíz de tu proyecto donde gestionarás toda tu infraestructura. Crea una carpeta, sugiere llamarla infra
o Terraform
, y dentro genera submódulos según tus necesidades. Uno de los submódulos esenciales es IAM
, donde manejarás roles o políticas de acceso.
Asegúrate de tener configurado el backend de Terraform, ahorrando toda la metadata en un lugar seguro como S3. Verifica el nombre de tu bucket y configura la región correspondiente, lo cual es crítico si trabajas en AWS.
terraform {
backend "s3" {
bucket = "tu-bucket"
key = "tf-state"
region = "us-east-2"
}
}
Dentro del submódulo IAM
, se necesita definir roles y las políticas correspondientes que utilizarán tus recursos computacionales, como las funciones Lambda. Inicia creando los archivos de roles y define las políticas en un formato JSON utilizando el AWS Policy Generator.
Ejemplo de definición de una política que permite el acceso a RDS:
resource "aws_iam_policy" "can_access_rds" {
name = "can_access_rds"
description = "Policy to access RDS databases"
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = "rds:*"
Resource = "*"
}]
})
}
output "can_access_rds_arn" {
value = aws_iam_policy.can_access_rds.arn
}
Sigue un proceso similar para las políticas de logging y conecta estas políticas a los roles que desees crear, asegurándote que todos los nombres sean semánticos y entendibles para tu equipo.
Una vez construida la estructura adecuada de roles y políticas, inicializa los módulos en la carpeta infra
a través de terraform init
. Luego, formatea tu código para asegurar que esté ordenado con terraform fmt -recursive
.
Realiza un terraform plan
para verificar qué acciones tomará Terraform sin ejecutarlas realmente aún. Este comando ofrece la visualización de los cambios que se introducirán, ayudando a anticipar cualquier inconsistencia.
terraform init
terraform fmt -recursive
terraform plan
Resueltas las advertencias, aplica los cambios con terraform apply
, confirmando el proceso con yes
. Esto asegurará que tus roles y políticas queden creados en AWS.
La gestión de infraestructura con Terraform garantiza un manejo eficiente, confiable y replicable de tus recursos de TI. Continúa explorando nuevas herramientas y conceptos que te permitirán mejorar aún más el desarrollo automatizado de tu arquitectura.
Aportes 2
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?