Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何处理配置/属性文件中的密码_Java_Docker_Spring Boot - Fatal编程技术网

Java 如何处理配置/属性文件中的密码

Java 如何处理配置/属性文件中的密码,java,docker,spring-boot,Java,Docker,Spring Boot,我们在不同的团队之间有一个共享的代码库。在spring属性文件中存储管理员凭据有什么最佳实践吗?我不想让任何人看到用户名或密码。我们正在使用docker,我知道我可以使用docker机密,但我不想将密码绑定到docker。即使我们不使用docker,我也希望访问密码。您可以尝试使用jasypt来解决此问题 链接:我知道最好的解决方案之一是Blackbox(通过stackexchange;)加密应用程序.properties文件,然后用git跟踪它 然后只需进入解密的应用程序.properties

我们在不同的团队之间有一个共享的代码库。在spring属性文件中存储管理员凭据有什么最佳实践吗?我不想让任何人看到用户名或密码。我们正在使用docker,我知道我可以使用docker机密,但我不想将密码绑定到docker。即使我们不使用docker,我也希望访问密码。

您可以尝试使用jasypt来解决此问题


链接:

我知道最好的解决方案之一是Blackbox(通过stackexchange;)

加密
应用程序.properties
文件,然后用
git
跟踪它


然后只需进入解密的
应用程序.properties

简单方法:使用环境变量,而不是将敏感值放入application.properties文件中


高级方法:查看该项目,了解如何利用Spring应用程序使用Vault的更多详细信息。

Docker Swarm中使用机密。在普通Docker守护程序中,使用环境变量或
env_文件

,我个人认为在SCM中添加属性的加密版本毫无意义。只要只有有限数量的秘密,共享加密密钥或密码就没有什么区别。我将从属性中删除密码,并实现属性覆盖机制。SpringBoot已经提供了合并不同位置属性的可能性。将密码属性添加到本地环境配置中,就完成了。