簡體   English   中英

從 github 公共回購中隱藏 API 密鑰

[英]Hide API keys from github public repo

我正在尋找一種方法來防止 api 密鑰等在公共回購中結束。 (它的托管位置實際上並不重要)

所以我知道常見的解決方案是將包含 api 鍵的文件添加到 .gitignore ,這樣它基本上永遠不會被提交給 repo。

問題是我寧願提交文件,但將密鑰本身替換為“您的 API KEY HERE”之類的文本。

我發現這個答案建議使用 git 過濾器分支,但它似乎真的很受歡迎,並不推薦。

有沒有其他方法可以實現這一目標? 有什么方法可以確保 git 過濾器分支真正起作用? 有什么辦法可以追溯嗎? 應該在 git 添加之后還是之前完成?

您建議的是合理的方法:使用配置文件和填充符或占位符數據創建一個模板文件,然后將其復制到您想要的位置,該位置在.gitignore中列出。 如果您願意,您實際上可以有一個腳本來生成文件並提供 API 密鑰作為命令行參數或來自環境。

另一種方法是始終從環境中導入配置,而根本不將配置寫入磁盤。 在許多環境中,這可以使用像 Vault 這樣的加密秘密存儲來完成,但也有其他選擇。

這兩種方法根本不會提交秘密,因此您不必擔心它們最終會出現在代碼庫中。 如果它們已經在代碼庫中,那么您需要使用git filter-branch或類似工具將它們過濾掉,或者只是旋轉它們並假設舊值已被破壞(您可能應該首先假設) .

你讀過.git/info/exclude嗎? 它在與gitignore相同的聯機幫助頁中進行了描述,並且基本上允許您在回購級別本地指定您不希望 Git 看到的模式。 這里的模式語法與.gitignore中的相同。

這將允許您最初提交占位符配置文件,然后在本地修改.git/info/exclude 然后,您可以安全地將實際的 API 密鑰放在該文件中 - 當您這樣做時,運行git status以確認您的配置文件更改被排除在外。

這里有另一個關於這個的問答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM