nacos
nacos copied to clipboard
mysql数据库连接密码加密
我们的系统对各类密码要求比较严格,所有数据库连接参数必须使用密文配置。不允许出现明文。 nacos目前的db.password好像只能配置为明文密码。这样运维人员直接就能看到mysql密码,无法满足我们运维的安全性要求
能否提供功能可以配置为密文,nacos服务通过解密在连接mysql?
mysql jdbc好像接受密文密码,直接配置mysql jdbc可识别的密文密码应该就可以了。
如果需要自定义加密算法,那只能自行修改nacos源代码,然后打包部署了。
具体可以说下mysql怎么配置密文密码吗
如果需要自定义加密算法,那只能自行修改nacos源代码,然后打包部署了。
为什么不可以在产品层面进行开发支持呢,预留出扩展接口进行密码解密操作,这个在我们企业级里面几乎是都要求的
如果需要自定义加密算法,那只能自行修改nacos源代码,然后打包部署了。
为什么不可以在产品层面进行开发支持呢,预留出扩展接口进行密码解密操作,这个在我们企业级里面几乎是都要求的
确实是,建议预留出来扩展点,能让客户自定义解密配置
欢迎大家把方案提出来。然后尝试处理这个需求。
可以提供一个类似于 spring boot 的 EnvironmentPostProcessor,作用于配置文件解析为环境配置对象后的时间点,其实不仅仅是密码的问题,如果用户能介入配置文件加载后的处理过程,就可以完全脱离现有配置文件的束缚,按自己的想法自定义很多行为。
可以借鉴一下 Druid 的密码加密方案
我们现在是监听ApplicationEnvironmentPreparedEvent事件,然后调用自己的解密算法解密加密配置来在运行时解密
可以参见这个实现,非常通用的方式 https://github.com/fuxiuzhan/fuled-component/tree/master/fuled-env-encryptor-starter 或者直接使用jasypt插件。
有道理,现在安全要求提高了很多, 例如检查到配置文件存了数据库的明文密码,不管你是否业务数据库,直接就不给通过了。 希望官方可以支持一下
我想法是在,我参考鉴权插件定义一个Environment 前置处理插件,提供spi。 EnvUtil.setEnvironment 处加载该插件,让用户自定义解密配置。 如果这个方案可行,我能尝试处理这个需求。
我想法是在,我参考鉴权插件定义一个Environment 前置处理插件,提供spi。 EnvUtil.setEnvironment 处加载该插件,让用户自定义解密配置。 如果这个方案可行,我能尝试处理这个需求。
有进展吗?期待能提供通用的解决方案。
Please assign to me