V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Zrehtt
V2EX  ›  程序员

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

  •  
  •   Zrehtt · 2021-01-01 10:49:31 +08:00 via iPhone · 3600 次点击
    这是一个创建于 1421 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    20 条回复    2021-01-02 22:29:12 +08:00
    loading
        1
    loading  
       2021-01-01 10:54:46 +08:00 via Android
    一般写配置文件,起码我看到很多产品都是。
    Jacky23333
        2
    Jacky23333  
       2021-01-01 10:55:11 +08:00 via Android   ❤️ 1
    有个配置中心 Server,项目启动会自动从配置中心加载数据库信息
    oott123
        3
    oott123  
       2021-01-01 10:55:13 +08:00 via Android
    配置文件 /环境变量 /分布式配置系统( etcd 之类的)
    ginjedoad
        4
    ginjedoad  
       2021-01-01 11:39:21 +08:00   ❤️ 1
    用 appolo 或者 etcd 建一个数据中心,你的项目初始化的时候读取一次配置中心的配置,加载到内存。设置一个回调事件,监听配置中心变动。有变动,马上更新全局配置值,perfect!
    wpblank
        5
    wpblank  
       2021-01-01 11:59:41 +08:00
    一般就写配置文件就好了,新手注意一下别把密码随代码传到公共的 git 上
    YouLMAO
        6
    YouLMAO  
       2021-01-01 12:19:55 +08:00 via Android
    我们用的 sql,nosql,newsql,全部都是 kerberos 验证,MySQL 是美国定制安全版的
    YouLMAO
        7
    YouLMAO  
       2021-01-01 12:20:38 +08:00 via Android
    都 2021 了,还用密码登录,就是侮辱先人了
    Zrehtt
        8
    Zrehtt  
    OP
       2021-01-01 12:44:23 +08:00 via iPhone
    @ginjedoad 了解了,非常感谢
    hantsy
        9
    hantsy  
       2021-01-01 13:12:31 +08:00
    Vault
    hantsy
        10
    hantsy  
       2021-01-01 13:13:29 +08:00
    大部分云环境都是支持 https://www.vaultproject.io/ 或者类型的产品。
    hantsy
        11
    hantsy  
       2021-01-01 13:13:55 +08:00
    所谓的数据堡垒,保险箱。
    yeqizhang
        12
    yeqizhang  
       2021-01-01 13:18:13 +08:00 via Android
    代码写和配置文件里写没啥本质区别,甚至代码写安全性更高,只是为了维护方便就用配置文件。
    为了通过第三方代码安全扫描,会加盐加密配置在配置文件,代码里解密使用
    makdon
        13
    makdon  
       2021-01-01 13:19:06 +08:00
    写配置文件。生产上网络隔离,外部访问生产集群只允许通过网关鉴权后访问 server 层机器,DB 不允许非白名单机器访问
    xuanbg
        14
    xuanbg  
       2021-01-01 14:29:10 +08:00
    既不写在代码里面,也不写在配置文件里面。正确的做法是保存在配置中心,由专职的运维人员管理和维护。
    danieladu
        15
    danieladu  
       2021-01-01 14:38:00 +08:00 via Android
    key vault
    boris93
        16
    boris93  
       2021-01-01 15:06:28 +08:00 via Android
    写在密钥库,搭配 CICD 工具在构建过程中注入
    比如 Concourse + Vault
    smilingsun
        17
    smilingsun  
       2021-01-02 07:04:38 +08:00
    @boris93 是把密码写到了 artifact 里面?
    xiaochong0302
        18
    xiaochong0302  
       2021-01-02 09:03:15 +08:00 via iPhone
    @yeqizhang 之前项目用 ansible 搞过,想想就蛋疼
    haosamax
        19
    haosamax  
       2021-01-02 11:28:14 +08:00 via iPhone
    配置中心
    boris93
        20
    boris93  
       2021-01-02 22:29:12 +08:00 via Android
    @smilingsun #17 我们用的是 AppEngine,所以最终状态下配置文件里还是占位符,运行时通过 AppEngine 的配置文件,用环境变量传进去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1169 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:19 · PVG 02:19 · LAX 10:19 · JFK 13:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.