Java 如何处理配置/属性文件中的密码
我们在不同的团队之间有一个共享的代码库。在spring属性文件中存储管理员凭据有什么最佳实践吗?我不想让任何人看到用户名或密码。我们正在使用docker,我知道我可以使用docker机密,但我不想将密码绑定到docker。即使我们不使用docker,我也希望访问密码。您可以尝试使用jasypt来解决此问题Java 如何处理配置/属性文件中的密码,java,docker,spring-boot,Java,Docker,Spring Boot,我们在不同的团队之间有一个共享的代码库。在spring属性文件中存储管理员凭据有什么最佳实践吗?我不想让任何人看到用户名或密码。我们正在使用docker,我知道我可以使用docker机密,但我不想将密码绑定到docker。即使我们不使用docker,我也希望访问密码。您可以尝试使用jasypt来解决此问题 链接:我知道最好的解决方案之一是Blackbox(通过stackexchange;)加密应用程序.properties文件,然后用git跟踪它 然后只需进入解密的应用程序.properties
链接:我知道最好的解决方案之一是Blackbox(通过stackexchange;)加密
应用程序.properties
文件,然后用git
跟踪它
然后只需进入解密的
应用程序.properties简单方法:使用环境变量,而不是将敏感值放入application.properties文件中
高级方法:查看该项目,了解如何利用Spring应用程序使用Vault的更多详细信息。在Docker Swarm中使用机密。在普通Docker守护程序中,使用环境变量或env_文件
,我个人认为在SCM中添加属性的加密版本毫无意义。只要只有有限数量的秘密,共享加密密钥或密码就没有什么区别。我将从属性中删除密码,并实现属性覆盖机制。SpringBoot已经提供了合并不同位置属性的可能性。将密码属性添加到本地环境配置中,就完成了。