配置檔適用性:級別 1
Kubernetes 支援將秘密掛載為資料卷或作為環境變數。請盡量減少使用環境變數秘密。
應用程式代碼登出其環境(特別是在發生錯誤時)是相當常見的。這將包括作為環境變數傳遞的任何秘密值,因此秘密可能會輕易地暴露給任何有權訪問日誌的用戶或實體。
注意
注意
預設情況下,未定義任何秘密。

影響

應用程式代碼如果預期以環境變數的形式讀取秘密,則需要進行修改。

審計

執行以下命令以查找使用從秘密中定義的環境變數的物件參考。
kubectl get all -o jsonpath='{range .items[?(@..secretKeyRef)]} {.kind}
{.metadata.name} {"\n"}{end}' -A

補救

如果可能,請重寫應用程式代碼以從掛載的秘密文件中讀取秘密,而不是從環境變數中讀取。
注意
注意
將秘密作為卷掛載的額外好處是,可以在不重新啟動 Pod 的情況下更新秘密值