Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

367
Vistas
¿Cómo crear un almacén de claves públicas para microservicios?

Implementé un conjunto de microservicios en un entorno docker. Y cada uno de estos servicios se comunica entre sí mediante tokens JWT. Cuando el servicio A llama al servicio B

  1. Servicio A, firma el token usando su clave privada y pasa al servicio B
  2. servicio B, obtiene la clave pública de ServiceA de un almacén de claves públicas y verifica el token

El proceso de generación de claves públicas/privadas lo realizan los propios microservicios y luego pasarán la clave pública al almacén de claves públicas. Entonces, lo único que tiene que hacer el almacén de claves públicas es

  1. Almacenar claves públicas enviadas por servicios
  2. Envíe la clave pública correcta a los servicios que lo soliciten

Lo que voy a hacer es similar a lo que se muestra en este diagrama.

Obtuve esta imagen de

Obtuve la imagen de arriba de: https://www.youtube.com/watch?v=dBdZrw2pPvc&t=462s

Entonces mi problema es, ¿existe alguna implementación estándar de este tipo de almacenamiento de claves públicas? ¿Si es así, Que son?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Divulgación: soy el CTO de Conjur.

Considere el flujo de trabajo:

  1. Se pone en marcha un contenedor del Servicio A.
  2. Genera un nuevo par de claves.
  3. Envía la clave pública al almacén de claves públicas.
  4. El almacén de claves públicas recibe la clave pública.
  5. El almacén de claves públicas asocia la clave pública que ha recibido con la identidad "servicio-a".
  6. El servicio A firma una solicitud al servicio B.
  7. El Servicio B solicita al almacén de claves las claves públicas conocidas del Servicio A.
  8. El almacén de claves proporciona las claves públicas.
  9. El servicio B verifica que la firma coincida con una de las claves.

El almacén de claves públicas debe asegurarse de:

  • Guarde las claves públicas a prueba de manipulaciones.
  • Asocie cada clave pública a una identidad de servicio de manera que también sea a prueba de manipulaciones.
  • Proporcione alguna forma para que los administradores manipulen el almacén de claves (p. ej., anule las claves de los contenedores inactivos).
  • Mantenga un registro de auditoría de todo lo que ha sucedido.

Pero también hay otra parte que es bastante difícil. En el paso (5), cuando el almacén de claves recibe la clave para el Servicio A, debe verificar que la clave realmente provenga del Servicio A y no de un impostor. En otras palabras, tiene que autenticar la solicitud.

La forma de hacerlo depende de los detalles de su infraestructura. Si está utilizando Docker sin formato (a diferencia de, por ejemplo, Kubernetes), puede usar un agente en el servidor para correlacionar la dirección IP del contenedor con la lista de contenedores ( docker ps ) en la máquina. Esto le indicará la imagen del contenedor, que debería indicarle la identidad del servicio.

Hay mucha sutileza en este problema y la solución es algo diferente para cada entorno de contenedor.

about 4 years ago · Santiago Trujillo Denunciar

0

Si la seguridad no es importante:

  • Redis: https://redis.io/
  • Cónsul: https://www.consul.io/
  • Etc.: https://coreos.com/etcd
  • Guardián del zoológico: https://zookeeper.apache.org/

Si la seguridad es importante:

  • Bóveda: https://www.vaultproject.io/
  • Conjurar: https://www.conjur.com/
  • Thycotic: https://thycotic.com/
  • Secretos de Docker: https://docs.docker.com/engine/swarm/secrets/

Honestamente, hay muchas más opciones, pero estas son algunas de las más famosas y examinadas por la comunidad DevOps.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda