我想知道人们在使用Spring Cloud Config时是如何处理安全方面的。我计划将Spring Cloud Config Server和Client与Spring Boot一起使用。从实现的角度来看,这是非常直接的,但是您如何处理向每个开发人员泄露密码/访问权限的风险。例如,您运行一个中央配置服务器,其中包含所有环境的配置。在配置客户端应用程序的bootstrap.yml中,您必须配置username/password才能访问配置服务器。到目前为止一切顺利,但是当我知道在相应的yml文件中提交用户名/密码时,那么每个开发人员都可以通过将配置文件从development切换到production来访问所有环境(请不要开始讨论为什么不是每个开发人员都需要访问生产环境)。
我知道我可以加密配置中的所有密码,我们这样做,但这不是我想要的。加密只是一种功能,不将密码以明文形式存储在文件中,但是如果用户一开始就可以访问configserver,那么他实际上不需要知道明文密码就可以访问。
这也是为了避免开发过程中的错误……切换本地环境以连接到生产环境或任何其他环境是很容易的。
那么人们是如何处理这个问题的呢?您是否在开发中注入了与在其他环境中不同的bootstrap.yml?如果是这样,您如何管理/传播这些内容?
您是否在命令行上为配置用户设置密码?...?
发布于 2016-05-07 11:32:45
我们使用变量和默认值来配置服务器URL、用户和密码
${config_username:user}:${config_password:password}@${config_server:conf.mydomain.com}
默认值可以是开发环境的有效凭据。这样,您只需在开发时运行它即可。在部署到生产环境时,只需设置这些环境变量,您的应用程序就会连接到不同的配置服务器
发布于 2018-07-20 21:12:38
我自己也在考虑这一点,并提出了3个选择。在所有情况下,请在存储库中为敏感数据使用{cipher}值,并禁用允许解密或属性值列表的各种执行器端点。
https://stackoverflow.com/questions/32888808
复制相似问题