一開始在 Python 板上看到有人提問
之後 FB/Backend 版[1] 有人提出一串可能性
原始的問題很簡單 但是在開發中很容易遇到 也就是在後端 Server 部分
如何儲存資料庫的登入資訊 或者第三方服務的認證資訊
就實務上來說:敏感資訊可以是 帳號、密碼、API Secret Key 等等
在一開始開發過程中最常使用的應該就是 hard-code 寫死或者 command-line 輸入
但是準備上到正式環境 這種作法很顯然的是不被允許的 (如果貴單位有要求的話)
接下來的方式轉為透過外部設定檔 (e.g. staging.conf / production.conv)
各自切換適合的執行環境參數 這也是有多種環境時會使用的一種技巧
不巧的是 當使用微。服務 (已 docker 為例) 就變成你 docker image 含有敏感資訊了
能夠下載 docker image 的人同時擁有敏感資訊
再者 也是常見的方式則是透過環境變數 讓執行程式可以獲取登入資訊
但這樣的問題就會變成 確保環境內的每個環節都要是可信任的
最後 也會有人試著在上述幾種方式中 額外再針對敏感資訊進行第二次加密
透過額外的加密來增加安全性