En este módulo, exploraremos las mejores prácticas de seguridad en Google Cloud Platform (GCP). La seguridad es un aspecto crítico en cualquier entorno de nube, y GCP ofrece una variedad de herramientas y servicios para ayudar a proteger tus recursos y datos. A continuación, desglosaremos las mejores prácticas en varias áreas clave.
- Gestión de Identidad y Acceso (IAM)
Conceptos Clave
- Principio de menor privilegio: Otorga solo los permisos necesarios para realizar una tarea específica.
- Roles y políticas: Utiliza roles predefinidos y personalizados para controlar el acceso.
- Cuentas de servicio: Usa cuentas de servicio para aplicaciones y servicios en lugar de cuentas de usuario.
Ejemplo Práctico
# Crear una política de IAM que otorga el rol de "Viewer" a un usuario específico
gcloud projects add-iam-policy-binding my-project \
--member="user:[email protected]" \
--role="roles/viewer"Ejercicio
- Crea una cuenta de servicio con permisos de lectura en un proyecto específico.
- Asigna esta cuenta de servicio a una instancia de Compute Engine.
Solución
# Crear una cuenta de servicio
gcloud iam service-accounts create my-service-account \
--display-name="My Service Account"
# Otorgar permisos de lectura
gcloud projects add-iam-policy-binding my-project \
--member="serviceAccount:[email protected]" \
--role="roles/viewer"
# Asignar la cuenta de servicio a una instancia de Compute Engine
gcloud compute instances set-service-account my-instance \
--service-account=my-service-account@my-project.iam.gserviceaccount.com
- Seguridad de la Red
Conceptos Clave
- Redes VPC: Configura redes virtuales privadas para segmentar y proteger tus recursos.
- Firewalls: Define reglas de firewall para controlar el tráfico de entrada y salida.
- VPN y Cloud Interconnect: Usa VPN y Cloud Interconnect para conexiones seguras entre tu infraestructura on-premises y GCP.
Ejemplo Práctico
# Crear una regla de firewall que permite el tráfico SSH desde una IP específica
gcloud compute firewall-rules create allow-ssh \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=203.0.113.0/24Ejercicio
- Configura una red VPC con subredes personalizadas.
- Crea reglas de firewall para permitir solo el tráfico HTTP y HTTPS.
Solución
# Crear una red VPC
gcloud compute networks create my-vpc --subnet-mode=custom
# Crear una subred
gcloud compute networks subnets create my-subnet \
--network=my-vpc \
--range=10.0.0.0/24
# Crear reglas de firewall para HTTP y HTTPS
gcloud compute firewall-rules create allow-http \
--network=my-vpc \
--allow=tcp:80
gcloud compute firewall-rules create allow-https \
--network=my-vpc \
--allow=tcp:443
- Protección de Datos
Conceptos Clave
- Cifrado en tránsito y en reposo: Asegúrate de que los datos estén cifrados tanto en tránsito como en reposo.
- Gestión de claves: Usa Cloud Key Management Service (KMS) para gestionar y controlar el acceso a las claves de cifrado.
- Auditoría y monitoreo: Implementa auditorías y monitoreo para detectar y responder a incidentes de seguridad.
Ejemplo Práctico
# Crear una clave de cifrado en Cloud KMS
gcloud kms keyrings create my-keyring --location=global
gcloud kms keys create my-key --location=global --keyring=my-keyring --purpose=encryptionEjercicio
- Crea una clave de cifrado y úsala para cifrar un archivo almacenado en Cloud Storage.
- Configura auditorías para monitorear el acceso a los datos cifrados.
Solución
# Cifrar un archivo usando la clave de KMS
gcloud kms encrypt \
--location=global \
--keyring=my-keyring \
--key=my-key \
--plaintext-file=plaintext.txt \
--ciphertext-file=ciphertext.txt
# Subir el archivo cifrado a Cloud Storage
gsutil cp ciphertext.txt gs://my-bucket/
# Configurar auditorías
gcloud logging sinks create my-sink storage.googleapis.com/my-bucket
gcloud logging sinks update my-sink --log-filter='resource.type="gcs_bucket"'
- Seguridad de Aplicaciones
Conceptos Clave
- Escaneo de vulnerabilidades: Usa herramientas de escaneo para identificar y corregir vulnerabilidades en tus aplicaciones.
- Autenticación y autorización: Implementa autenticación y autorización robustas para proteger el acceso a tus aplicaciones.
- Protección contra ataques DDoS: Usa Cloud Armor para proteger tus aplicaciones contra ataques de denegación de servicio distribuido (DDoS).
Ejemplo Práctico
# Configurar una política de seguridad en Cloud Armor
gcloud compute security-policies create my-security-policy
# Añadir una regla para bloquear tráfico malicioso
gcloud compute security-policies rules create 1000 \
--security-policy=my-security-policy \
--expression="evaluatePreconfiguredExpr('layer7-ddos-detection')" \
--action=deny-403Ejercicio
- Configura una política de seguridad en Cloud Armor para proteger una aplicación web.
- Implementa autenticación basada en OAuth 2.0 para una API.
Solución
# Asignar la política de seguridad a un backend service
gcloud compute backend-services update my-backend-service \
--security-policy=my-security-policy
# Implementar autenticación OAuth 2.0
# Este ejemplo asume que tienes una API en App Engine
gcloud app deploy
# Configurar OAuth 2.0 en la consola de API de Google
# 1. Ve a la consola de API de Google.
# 2. Crea un nuevo proyecto o selecciona uno existente.
# 3. Habilita la API de OAuth 2.0.
# 4. Configura las credenciales de OAuth 2.0.Conclusión
En este módulo, hemos cubierto las mejores prácticas de seguridad en GCP, incluyendo la gestión de identidad y acceso, la seguridad de la red, la protección de datos y la seguridad de aplicaciones. Implementar estas prácticas te ayudará a proteger tus recursos y datos en la nube, asegurando que tu entorno de GCP sea seguro y confiable.
Resumen
- IAM: Principio de menor privilegio, roles y políticas, cuentas de servicio.
- Seguridad de la red: Redes VPC, firewalls, VPN y Cloud Interconnect.
- Protección de datos: Cifrado en tránsito y en reposo, gestión de claves, auditoría y monitoreo.
- Seguridad de aplicaciones: Escaneo de vulnerabilidades, autenticación y autorización, protección contra ataques DDoS.
Preparación para el siguiente tema
En el próximo tema, exploraremos la Gestión y optimización de costos en GCP, donde aprenderás a controlar y optimizar los gastos en la nube.
Curso de Google Cloud Platform (GCP)
Módulo 1: Introducción a Google Cloud Platform
- ¿Qué es Google Cloud Platform?
- Configuración de tu cuenta de GCP
- Descripción general de la consola de GCP
- Comprensión de proyectos y facturación
Módulo 2: Servicios principales de GCP
Módulo 3: Redes y seguridad
Módulo 4: Datos y análisis
Módulo 5: Aprendizaje automático e IA
Módulo 6: DevOps y monitoreo
- Cloud Build
- Repositorios de código en la nube
- Cloud Functions
- Monitoreo de Stackdriver
- Cloud Deployment Manager
Módulo 7: Temas avanzados de GCP
- Híbrido y multi-nube con Anthos
- Computación sin servidor con Cloud Run
- Redes avanzadas
- Mejores prácticas de seguridad
- Gestión y optimización de costos
