2016-11-15 78 views
1

這似乎是常識,這是一個很好的做法,保守祕密文件(包含任何密碼,API密鑰等),檢查了您的git倉庫的(主治herehereherehere和還有更多)爲什麼你應該保存倉庫中的祕密?

爲什麼?

+0

這是一個單詞「祕密」的字典條目:http://www.dictionary.com/browse/secret。 –

+0

注意:「檢出」是錯誤的短語。只要說出來「。被「檢出」意味着他們首先處於存儲庫中。根據定義,存儲庫內的任何內容都不*祕密。 – torek

回答

1

通過使這些「祕密」(和其他密碼/安全/令牌相關值)的值僅在生產環境中知道,而不是在任何存儲庫被檢出的位置,這增強了安全性。如果可能的話,每個環境(例如本地開發,開發服務器,登臺/演示服務器,生產環境等)都應該有自己獨立的身份驗證或安全參數配置,這些應該在本地環境中配置,而不是存儲在應用程序的代碼本身。

即使您的存儲庫是私有的,它仍然不安全。開發人員來來去去。操作人員來去。項目管理來來去去。您可能有一些第三方承包商可以進行回購。一個足夠大的項目往往會有很多演員參與其中,隨着時間的推移,他們中的任何一個人都不需要知道生產配置值(除了民間操作人員)。即使擁有私有存儲庫,將密鑰/值公開給有回購訪問權限的任何人仍然存在安全風險。

+0

我見過的很多事情是,人們需要開發這些密鑰中的一些,然後將祕密的一個版本複製到他們的計算機上。如果你在開發中需要這些鍵,這是否意味着你做錯了什麼? –

+0

@MarcoPrins這取決於服務使用這些密鑰的重要性,並且需要您的經驗和專業知識才能做出判斷。在與開發人員協調並致力於創建該服務的僅限開發版本並最終遷移到單獨的每個環境配置文件時,可以快速移動新MVP項目以存儲一些不那麼關鍵的鍵。 ENV。只是不要把它作爲一個長期的計劃,將這些信息存儲在應用程序中,並且不要存儲關鍵的(財務?prod db creds?)服務認證數據。 – Todd

相關問題