Volver al Blog

Cómo compartir credenciales de base de datos en pipelines CI/CD

Aprende a gestionar y compartir credenciales de bases de datos de forma segura durante la configuración de CI/CD.

Las credenciales de bases de datos son algunos de los secretos más sensibles en cualquier organización. Una contraseña de base de datos filtrada puede llevar a brechas de datos, violaciones de cumplimiento y daño financiero significativo.

Por qué se filtran las credenciales de bases de datos

Codificadas en el código

Los desarrolladores a veces codifican cadenas de conexión directamente en el código de la aplicación, archivos Docker Compose o archivos de configuración que se suben al control de versiones.

Pegadas en Slack/Confluence

Al configurar un nuevo pipeline de CI/CD o incorporar un miembro del equipo, las credenciales a menudo terminan pegadas en canales de Slack o páginas de Confluence.

Opciones de gestión de secretos CI/CD

Secretos de GitHub Actions

GitHub Actions proporciona secretos cifrados que pueden usarse en archivos de workflow. Los secretos se almacenan cifrados y se enmascaran en los logs.

AWS Systems Manager Parameter Store

Para infraestructura basada en AWS, AWS Systems Manager Parameter Store y AWS Secrets Manager proporcionan almacenamiento seguro y centralizado de secretos.

Enlaces de un solo uso para configuración inicial

Cuando se configura un nuevo pipeline, alguien necesita introducir las credenciales iniciales. En lugar de pegarlas en un mensaje, crea un enlace autodestructivo.

Cuándo los enlaces de un solo uso llenan el vacío

Los gestores de secretos son esenciales para sistemas de producción, pero hay situaciones donde una transferencia segura de un solo uso es la solución práctica.

Paso a paso con PassLink

  1. 1Copia la cadena de conexión o credenciales de la base de datos que necesitas compartir
  2. 2Ve a PassLink y pégalas en el formulario cifrado
  3. 3Configura la expiración a 1 hora y activa la protección por contraseña
  4. 4Envía el enlace a la persona que configura el pipeline
  5. 5Abren el enlace, copian las credenciales en el almacén de secretos del CI/CD, y el enlace se destruye

Resumen de mejores prácticas

  • Nunca subas credenciales de bases de datos al control de versiones
  • Usa la gestión de secretos integrada de tu plataforma CI/CD para producción
  • Usa enlaces de un solo uso para el intercambio inicial de credenciales durante la configuración
  • Rota las contraseñas de bases de datos después de compartirlas para configuración
  • Audita quién tiene acceso a las credenciales de bases de datos regularmente
  • Usa credenciales separadas para desarrollo, staging y producción

Principios de seguridad para la gestión de credenciales de bases de datos

  • Privilegio mínimo: Otorga solo los permisos mínimos de base de datos requeridos para cada entorno y rol.
  • Rotación de credenciales: Rota las contraseñas de bases de datos en un calendario regular, especialmente después de salidas de miembros del equipo.
  • Registro de auditoría: Habilita logs de auditoría de base de datos para rastrear quién accede a qué datos y cuándo.
  • Separación de entornos: Nunca compartas credenciales de producción por los mismos canales que las credenciales de desarrollo.

Preguntas frecuentes

¿Es seguro almacenar credenciales de base de datos en variables de entorno?

Las variables de entorno son mejor que hardcodear, pero aún pueden filtrarse a través de listados de procesos, volcados de memoria o logging mal configurado. Para sistemas de producción, usa un gestor de secretos dedicado como AWS Secrets Manager o HashiCorp Vault.

¿Con qué frecuencia deben rotarse las contraseñas de bases de datos?

La mejor práctica es rotar las contraseñas de bases de datos de producción cada 90 días, e inmediatamente después de que cualquier miembro del equipo con acceso abandone la organización.

Prueba PassLink — Es Gratis

Crea un enlace cifrado y autodestructivo en 10 segundos. Sin registro.

Crear un Enlace Secreto Ahora

¿Listo para Compartir de Forma Segura?

Crear Enlace Secreto