[英]Best practice for managing web service credentials for Node.JS?
我們正在計划一個安全的Node.JS服務器,該服務器使用多個第三方Web服務。 每個都需要運營團隊需要配置的憑據。
顯然,他們可以簡單地將它們以純文本形式放入配置文件中。
Microsoft .NET似乎為DPAPI提供了更好的選擇 - 請參閱憑據存儲最佳實踐 。 有沒有辦法通過IISNode提供此功能? 或者是否有其他選項可以在Node-JS配置中保護此類憑據?
這里有幾個選項的廣泛討論,包括xShirase建議的兩個選項:
http://pmuellr.blogspot.co.uk/2014/09/keeping-secrets-secret.html
用戶定義的服務解決了這個問題,但僅適用於Cloud Foundry。
這篇博客http://encosia.com/using-nconf-and-azure-to-avoid-leaking-secrets-on-github/指出你經常可以在服務器上單獨設置環境變量,並建議使用nconf來讀取它們和配置文件分開。
我仍然想知道IIS是否有特價?
安全地有兩種方法:
第一個是在啟動應用程序時使用命令行參數。
然后在process.argv
找到這些參數
那么, node myapp.js username password
會給你:
process.argv[0]=node
process.argv[1]=/.../myapp.js (absolute path)
process.argv[2]=username
process.argv[3]=password
其次是將憑證設置為ENV變量。 它通常被認為是最佳實踐,因為只有您可以訪問這些變量。
您必須使用export命令設置變量,而不是在process.env
訪問它
我目前必須為我的外部API憑據做同樣的事情。 這就是我做的
希望這可以幫助。
所以你的配置可以和節點代碼在同一個容器中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.