生产环境数据库密码等私密信息怎么设置?

2021 年 1 月 1 日
 Zrehtt

转行过来的,没有接触过这个,看入门教程都是直接在代码中写,但生产环境肯定不行。是写入配置文件里还是怎么操作的?

4219 次点击
所在节点    程序员
20 条回复
loading
2021 年 1 月 1 日
一般写配置文件,起码我看到很多产品都是。
Jacky23333
2021 年 1 月 1 日
有个配置中心 Server,项目启动会自动从配置中心加载数据库信息
oott123
2021 年 1 月 1 日
配置文件 /环境变量 /分布式配置系统( etcd 之类的)
ginjedoad
2021 年 1 月 1 日
用 appolo 或者 etcd 建一个数据中心,你的项目初始化的时候读取一次配置中心的配置,加载到内存。设置一个回调事件,监听配置中心变动。有变动,马上更新全局配置值,perfect!
wpblank
2021 年 1 月 1 日
一般就写配置文件就好了,新手注意一下别把密码随代码传到公共的 git 上
YouLMAO
2021 年 1 月 1 日
我们用的 sql,nosql,newsql,全部都是 kerberos 验证,MySQL 是美国定制安全版的
YouLMAO
2021 年 1 月 1 日
都 2021 了,还用密码登录,就是侮辱先人了
Zrehtt
2021 年 1 月 1 日
@ginjedoad 了解了,非常感谢
hantsy
2021 年 1 月 1 日
Vault
hantsy
2021 年 1 月 1 日
大部分云环境都是支持 https://www.vaultproject.io/ 或者类型的产品。
hantsy
2021 年 1 月 1 日
所谓的数据堡垒,保险箱。
yungo8
2021 年 1 月 1 日
代码写和配置文件里写没啥本质区别,甚至代码写安全性更高,只是为了维护方便就用配置文件。
为了通过第三方代码安全扫描,会加盐加密配置在配置文件,代码里解密使用
makdon
2021 年 1 月 1 日
写配置文件。生产上网络隔离,外部访问生产集群只允许通过网关鉴权后访问 server 层机器,DB 不允许非白名单机器访问
xuanbg
2021 年 1 月 1 日
既不写在代码里面,也不写在配置文件里面。正确的做法是保存在配置中心,由专职的运维人员管理和维护。
danieladu
2021 年 1 月 1 日
key vault
boris93
2021 年 1 月 1 日
写在密钥库,搭配 CICD 工具在构建过程中注入
比如 Concourse + Vault
smilingsun
2021 年 1 月 2 日
@boris93 是把密码写到了 artifact 里面?
xiaochong0302
2021 年 1 月 2 日
@yeqizhang 之前项目用 ansible 搞过,想想就蛋疼
haosamax
2021 年 1 月 2 日
配置中心
boris93
2021 年 1 月 2 日
@smilingsun #17 我们用的是 AppEngine,所以最终状态下配置文件里还是占位符,运行时通过 AppEngine 的配置文件,用环境变量传进去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/740834

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX