[闲聊] 如何在微。服务中储存敏感资讯

楼主: CMJ0121 (请多指教!!)   2020-11-09 00:04:53
一开始在 Python 板上看到有人提问
之后 FB/Backend 版[1] 有人提出一串可能性
原始的问题很简单 但是在开发中很容易遇到 也就是在后端 Server 部分
如何储存数据库的登入资讯 或者第三方服务的认证资讯
就实务上来说:敏感资讯可以是 帐号、密码、API Secret Key 等等
在一开始开发过程中最常使用的应该就是 hard-code 写死或者 command-line 输入
但是准备上到正式环境 这种作法很显然的是不被允许的 (如果贵单位有要求的话)
接下来的方式转为透过外部设定档 (e.g. staging.conf / production.conv)
各自切换适合的执行环境参数 这也是有多种环境时会使用的一种技巧
不巧的是 当使用微。服务 (已 docker 为例) 就变成你 docker image 含有敏感资讯了
能够下载 docker image 的人同时拥有敏感资讯
再者 也是常见的方式则是透过环境变量 让执行程式可以获取登入资讯
但这样的问题就会变成 确保环境内的每个环节都要是可信任的
最后 也会有人试着在上述几种方式中 额外再针对敏感资讯进行第二次加密
透过额外的加密来增加安全性
作者: yoche2000 (Sushi Desu! 在下寿司)   2020-11-09 01:20:00

Links booklink

Contact Us: admin [ a t ] ucptt.com