2016-02-28 50 views
1

根據Kubernetes secrets docs,創建一個祕密就像base64編碼數據並將其放入一個文件一樣簡單。爲源代碼控制保護Kubernetes祕密文件?

那麼,如果base64可以像編碼一樣容易被解碼,那麼我們能夠保護/加密文件中的祕密值嗎?如果能夠將祕密文件提交到源代碼管理中將會很好,但是僅僅使用base64編碼的數據提交文件並不安全。

例如,這裏是在文檔中給出的示例:

apiVersion: v1 
kind: Secret 
metadata: 
    name: mysecret 
type: Opaque 
data: 
    password: dmFsdWUtMg0K 
    username: dmFsdWUtMQ0K 

如果你去base64decode.org,你會看到那些密碼/用戶名值根本就「值2」。該文件不適合源代碼管理。我們如何確保文件中的數據安全,以確保源代碼管理的安全?或者這被認爲是不好的做法,我們應該將文件添加到.gitignore?

回答

6

它不是基於安全的base64編碼,它允許二進制內容存儲在祕密中。您可能不應將密碼定義提交給源代碼管理。

0

對於機密密鑰,您可以將它們存儲在etcd中並用confd檢索它們嗎?

否則,如果你真的想在scm中使用它們,那麼你可以使用git-crypt嗎? https://github.com/AGWA/git-crypt