问题:如何为微服务创建公钥存储?

我在 docker 环境中实现了一组微服务。这些服务中的每一个都使用 JWT 令牌相互通信。当服务 A 调用服务 B

  1. 服务A,使用他的私钥签署令牌并传递给服务B

2.服务B,从公钥存储中获取ServiceS的公钥并验证token

公钥/私钥生成过程由微服务本身完成,然后它们会将公钥传递给公钥存储。所以公钥存储唯一要做的事情,

  1. 存储服务发送的公钥

  2. 根据请求向服务发送正确的公钥

我要做的与此图中显示的类似。

我从得到这张图片

我从上图得到:https://www.youtube.com/watch?vu003ddBdZrw2pPvc&tu003d462s

所以我的问题是,这种公钥存储有什么标准实现吗?如果有,它们是什么?

解答

如果安全性不重要:

  • Redis:https://redis.io/

  • 领事:https://www.consul.io/

  • 等:https://coreos.com/etcd

  • 动物园管理员:https://zookeeper.apache.org/

如果安全很重要:

  • 保险库:https://www.vaultproject.io/

  • 魔术师:https://www.conjur.com/

  • Thycotic:https://thycotic.com/

  • Docker 秘密:https://docs.docker.com/engine/swarm/secrets/

老实说,还有更多选择,但这些是 DevOps 社区最有名且经过审查的一些。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐