微服务中的密钥管理

时间:2017-04-11 18:21:10

标签: java mysql security encryption dropwizard

我们有一个dropwizard微服务,可以访问MySQL数据库。我们目前在配置文件(env.properties)中存储了用于数据库访问的加密凭据,以便可以在部署时通过每个环境的ansible脚本对其进行更改。

加密密钥是我们解密凭证所需要的,而且存在一些关于如何存储它的争论。 一些选择:

  • 将密钥存储在配置文件中。关键是环境特定的,因为我们使用ansible部署代码,所以凭证和密钥不会存储在微服务存储库中。这里的缺点是加密的密码存储在与解密密钥相同的文件中。
  • 将密钥存储在启动脚本中,该脚本将值加载到环境变量中。 Ops不喜欢这样,因为他们必须管理两个文件。目前,他们只想管理单个环境属性文件。这是可以理解的,因为我们有足够的问题来管理这个文件。

管理此解密密钥的最佳做法是什么?

0 个答案:

没有答案