Proyectos

Gestores de Contraseñas

Los gestores de contraseñas en Gigantics le permiten integrarse con soluciones externas de gestión de contraseñas para recuperar de forma segura las credenciales de la base de datos en tiempo de ejecución. Este enfoque elimina la necesidad de almacenar contraseñas sensibles directamente en la aplicación mientras proporciona acceso dinámico a las credenciales gestionadas por sistemas dedicados de gestión de contraseñas.

Descripción General

Gigantics admite dos métodos principales para integrarse con gestores de contraseñas:

  1. Integración API: Conectarse a APIs REST que proporcionan servicios de recuperación de credenciales
  2. Integración por línea de comandos: Ejecutar comandos externos para recuperar credenciales

Cuándo Usar Gestores de Contraseñas

Los gestores de contraseñas son particularmente útiles cuando:

  • Necesita cumplir con políticas de seguridad que prohíben almacenar contraseñas en bases de datos de aplicaciones
  • Su organización utiliza soluciones centralizadas de gestión de contraseñas como HashiCorp Vault, Cyberark Conjur, etc.
  • Quiere recuperar credenciales de forma dinámica sin actualizaciones manuales
  • Está tratando con contraseñas que se rotan frecuentemente
  • Necesita proporcionar anulaciones de nombre de usuario por conexión

Componentes de la Interfaz de Usuario

La interfaz de gestores de contraseñas consta de dos componentes principales:

Página de Lista de Gestores de Contraseñas

┌─────────────────────────────────────────────────────────────────────────────┐
│ GESTORES DE CONTRASEÑAS                                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│ Conéctese con sus gestores de contraseñas para autenticar una base de datos │
│ [ Crear ]                                                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│ [Buscar]                                                                    │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ Nombre      │ Tipo │ Creado Por │ Actualizado │ Acciones                │ │
│ │─────────────────────────────────────────────────────────────────────────│ │
│ │ My Vault    │ API  │ John Doe   │ hace 2      │ Editar                  │ │
│ │ Manager     │      │            │ horas       │ Eliminar                │ │
│ │             │      │            │             │                         │ │
│ │ https://    │      │            │             │                         │ │
│ │ yourserver/ │      │            │             │                         │ │
│ │ v1/secret/  │      │            │             │                         │ │
│ │ data        │      │            │             │                         │ │
│ │─────────────────────────────────────────────────────────────────────────│ │
│ │ CLI Pass    │ CMD  │ Jane Smith │ hace 1 día   │ Editar                  │ │
│ │ Manager     │      │            │             │ Eliminar                │ │
│ │             │      │            │             │                         │ │
│ │ /usr/local/ │      │            │             │                         │ │
│ │ bin/get-    │      │            │             │                         │ │
│ │ credentials │      │            │             │                         │ │
└─────────────────────────────────────────────────────────────────────────────┘

Formulario de Creación/Edición de Gestor de Contraseñas

El formulario se divide en tres secciones:

Sección General

  • Nombre: Un nombre descriptivo para su configuración de gestor de contraseñas

Sección de Conexión

  • Tipo: Elija entre métodos de integración "Rest API" o "Línea de comandos"
  • URL de API (tipo API): La URL del endpoint para recuperar credenciales
  • Encabezados (tipo API): Encabezados HTTP en formato YAML para autenticación
  • Ruta del Comando (tipo CMD): Ruta al comando ejecutable que recupera credenciales
  • Variables ENV (tipo CMD): Variables de entorno en formato YAML para pasar al comando
  • Formato de salida: Elija entre formato "JSON" o "Texto" para las respuestas de credenciales

Sección de Selectores

  • El nombre de usuario se proporcionará por conexión: Casilla de verificación para indicar si los nombres de usuario se proporcionarán por conexión
  • Nombre de usuario: Patrón o nombre de campo para extraer el nombre de usuario de la respuesta
  • Contraseña: Patrón o nombre de campo para extraer la contraseña de la respuesta

Métodos de Integración

Integración API

Para gestores de contraseñas basados en API:

  1. Configure la URL del endpoint que devuelve las credenciales
  2. Establezca los encabezados HTTP requeridos para autenticación (ej. tokens de API)
  3. Defina selectores para extraer nombre de usuario/contraseña de la respuesta
  4. Elija el formato de salida (JSON o Texto)

Ejemplo de configuración para HashiCorp Vault:

URL de API: https://your-vault-server.com/v1/secret/data/database-credentials
Encabezados:
  X-Vault-Token: s.abc123xyz
Formato de Salida: JSON
Selector de Nombre de Usuario: data.username
Selector de Contraseña: data.password

Integración por Línea de Comandos

Para gestores de contraseñas basados en línea de comandos:

  1. Especifique la ruta al ejecutable que recupera credenciales
  2. Configure las variables de entorno necesarias para el comando
  3. Defina selectores para extraer nombre de usuario/contraseña de la salida del comando
  4. Elija el formato de salida (JSON o Texto)

Ejemplo de configuración para un script personalizado:

Ruta del Comando: /usr/local/bin/get-db-credentials
Variables ENV:
  VAULT_ADDR: https://your-vault-server.com
  VAULT_TOKEN: s.abc123xyz
Formato de Salida: JSON
Selector de Nombre de Usuario: username
Selector de Contraseña: password

Soluciones de Gestión de Contraseñas Admitidas

HashiCorp Vault

Vault es una solución popular de gestión de secretos que proporciona almacenamiento seguro y acceso a credenciales. Puede integrarse con Vault a través de su API REST para recuperar dinámicamente credenciales de bases de datos.

Recursos:

Cyberark Conjur

Cyberark Conjur es una plataforma de gestión de secretos de nivel empresarial que proporciona almacenamiento seguro de credenciales, rotación y control de acceso.

Recursos:

AWS Secrets Manager

AWS Secrets Manager le ayuda a proteger los secretos necesarios para acceder a sus aplicaciones, servicios y recursos de TI.

Recursos:

Azure Key Vault

Azure Key Vault es un servicio en la nube para almacenar y acceder a secretos de forma segura.

Recursos:

Mejores Prácticas

  1. Seguridad Primero: Siempre use conexiones seguras (HTTPS) al integrarse con gestores de contraseñas
  2. Variables de Entorno: Use variables de entorno para configuraciones sensibles como tokens de API en lugar de almacenarlas directamente
  3. Selectores Apropiados: Asegúrese de que sus selectores de nombre de usuario y contraseña extraen correctamente las credenciales del formato de respuesta
  4. Pruebas: Pruebe su configuración de gestor de contraseñas para asegurarse de que recupera correctamente las credenciales
  5. Manejo de Errores: Implemente manejo apropiado de errores para fallos en la recuperación de credenciales
  6. Controles de Acceso: Asegúrese de que solo los usuarios autorizados puedan crear o modificar configuraciones de gestores de contraseñas

Enfoques Estratégicos de Implementación

Para Integración con HashiCorp Vault

  • Cree políticas en Vault que limiten el acceso solo a las credenciales de base de datos necesarias
  • Use las capacidades de secretos dinámicos de Vault cuando sea posible para rotación automática de credenciales
  • Implemente autenticación por approle para la aplicación Gigantics en Vault
  • Estructure sus rutas de Vault lógicamente para coincidir con la organización de proyectos de Gigantics

Para Integración con Cyberark Conjur

  • Aproveche las funciones de gestión de identidad y acceso de Conjur para controlar quién puede recuperar qué credenciales
  • Use la API de Conjur para recuperar secretos en tiempo de ejecución en lugar de almacenarlos
  • Implemente identidades de host para la aplicación Gigantics en Conjur
  • Utilice las capacidades de rotación de secretos de Conjur para actualizar automáticamente las credenciales

Para Soluciones Personalizadas

  • Asegúrese de que sus herramientas personalizadas de línea de comandos muestren credenciales en un formato consistente y analizable
  • Implemente registro adecuado y manejo de errores en sus herramientas personalizadas
  • Use métodos seguros para pasar tokens de autenticación a sus herramientas personalizadas (variables de entorno, archivos temporales, etc.)
  • Valide y sane la salida de sus herramientas personalizadas antes del procesamiento

Consideraciones de Seguridad

Al implementar gestores de contraseñas, considere estos aspectos de seguridad:

  1. Rotación de Credenciales: Intégrese con gestores de contraseñas que admitan rotación automática de credenciales
  2. Registros de Auditoría: Use gestores de contraseñas que proporcionen registros de auditoría para el acceso a credenciales
  3. Mínimo Privilegio: Configure sus gestores de contraseñas para proporcionar acceso mínimo necesario
  4. Cifrado: Asegúrese de que toda la comunicación con gestores de contraseñas esté cifrada
  5. Autenticación: Use mecanismos de autenticación fuertes para acceder a gestores de contraseñas

Usando Gestores de Contraseñas con Fuentes de Datos

Una vez que haya configurado un gestor de contraseñas, puede asociarlo con fuentes de datos:

  1. Navegue a la configuración de su fuente de datos
  2. En la sección de autenticación, seleccione "Gestor de Contraseñas" como tipo de autenticación
  3. Elija el gestor de contraseñas que desea usar del menú desplegable
  4. Opcionalmente especifique un nombre de usuario si no está usando nombres de usuario por conexión
  5. Guarde la configuración de la fuente de datos

El sistema recuperará automáticamente las credenciales de su gestor de contraseñas cada vez que se establezca una conexión.