開發者工具 · Docker run 到 Docker compose 轉換器
撰寫包含秘密的檔案:將密碼保留在環境區塊之外
· 為什麼它很重要
碼頭工人 撰寫 秘密
帶有 -e DB_PASSWORD=... 的 docker run 命令將成為具有相同密碼的 YAML 檔案(以純文字形式顯示)。這篇文章解釋了為什麼這很重要,如何將秘密移出,以及為什麼轉換本身不應該離開你的機器。
密碼位於 diff 中 — 轉換後的 Compose 檔案將使用逐字複製的 -e 值進行推送
密碼位於 diff 中 — 轉換後的 Compose 檔案將使用逐字複製的 -e 值進行推播。證據:文字 -e 密碼逐字出現在環境輸出。使用一次性文字再現秘密放置。將每個來源出現與文字變數和瀏覽器處理配對;保留憑證儲存和檔案以供目的地審核。
Secrets 事件也揭示了一個單獨的 Secrets 事件邊界是該轉換庫本身僅執行本地字串處理。證據:這個轉換庫本身只執行本地字串處理。這個秘密放置約束是一個停止點。在沒有製造行為的情況下檢查文字變數和瀏覽器處理,然後記錄憑證儲存和檔案的主機檢查。
Compose 檔案中的內容 — 密碼、令牌、內部主機名稱和描述您的基礎架構的路徑
Compose 檔案中的內容 — 密碼、令牌、內部主機名稱和描述您的基礎架構的路徑。證據:安裝主機名稱網路和圖片引用可能會洩漏基礎設施。將秘密放置令牌追蹤到文字變數和瀏覽器處理中。將有序值與最後值欄位分開;憑證儲存和檔案不在收集範圍內。
一個相關的秘密機制邊界是一個單獨的秘密語法邊界是發出 env_file 引用但不發出。證據: env_file 引用被發出,但沒有。使用此秘密放置事實來預測文字變數和瀏覽器處理中的一個成員或標量。在決定有關憑證儲存和檔案的任何事情之前檢查警告。
遠端轉換器可能會洩漏貼上的值;此儲存庫僅證明其自己的本機轉換路徑
為什麼線上轉換器會有風險 - 將 docker run 貼到發佈到伺服器的表單中,會將其中的每個秘密傳送給第三方。證據:遠端提交命令文字會洩漏所有包含的值;遠端轉換器可以洩漏貼上的值;該儲存庫僅證明其自己的本地轉換路徑。從其模型判斷秘密放置序列化。在文字變數和瀏覽器處理中引用可以保護類型,但不會提供憑證儲存和檔案的操作證明。
第二個秘密序列化觀察是為此秘密部分保留此秘密部分的原始命令和警告,此外,此秘密部分的秘密序列化結果將表示此秘密部分配置的候選檔案與此秘密部分的缺失上下文分開,圖片元資料位於秘密序列化轉換之外。證據:儲存庫沒有提供更廣泛的執行時間或歷史證據。此秘密放置輸出將設定與不可用的上下文分開。保持文字變數和瀏覽器處理可審查,並獨立檢查憑證儲存和檔案。
ToolAcre 的轉換庫不執行請求,而周圍頁面仍然可以載入公開的網站資源
ToolAcre 轉換器的行為方式 — 轉換在瀏覽器中執行,不上傳任何內容,網頁面板會顯示它。證據:這個轉換庫本身只執行本地字串處理; ToolAcre 的轉換庫不執行任何請求,而周圍頁面仍然可以載入公開的網站資源。停在秘密放置異常處而不是猜測。文字變數和瀏覽器處理附近的任何新增都需要與憑證儲存和檔案相關的特定部署的原因。
另一個秘密異常約束是,對於此秘密部分,在此候選檔案旁邊保留此秘密部分的原始命令和此秘密部分的警告。保留警告旁邊的原始秘密放置命令。此比較顯示了文字變數和瀏覽器處理包含哪些內容以及哪些憑證儲存和檔案決策仍然是手動的。
將機密移出檔案 - ${VAR} 從 git 忽略的 .env、env_file 和基於檔案的機密進行插值:對於支援它們的映像
將機密移出檔案 - ${VAR} 從 git 忽略的 .env、env_file 和基於檔案的機密進行內插:適用於支援它們的映像。從合成名稱建立秘密放置範例。使每個文字變數和瀏覽器處理項目都可追踪,而無需暴露生產憑證儲存和檔案詳細資訊。
相同的秘密範例範例示範了一個單獨的秘密範例邊界是本機轉換刪除了一個傳輸路徑而不使明文安全。證據:本地轉換刪除了一條傳輸路徑,但沒有使明文變得安全。配對的秘密放置事實應該在文字變數和瀏覽器處理中可見。記錄該行並避免有關憑證儲存和檔案的假設。
工作範例:轉換 MariaDB 指令 - 帶有秘密的原始 YAML,然後是帶有 .env 和 .gitignore 的清理版本
工作範例:轉換 MariaDB 指令 - 帶有秘密的原始 YAML,然後是帶有 .env 和 .gitignore 的清理版本。證據:保存前必須手動更換教學密碼。將秘密放置結果轉換為一個可觀察的文字變數和瀏覽器處理差異。 Docker 擁有後來的憑證儲存和檔案判決。
秘密結果實作也顯示了一個單獨的秘密效果邊界是文字 -e 密碼逐字出現在環境輸出中。分割機密放置職責:轉換寫入文字變數和瀏覽器處理,儲存庫刪除機密,操作員驗證憑證儲存和檔案。
這不包括 - 秘密管理器、加密儲存庫和執行時間注入,這些內容因平台而異
這不包括秘密管理器、加密儲存庫和執行時間注入,這些內容因平台而異。證據:秘密管理器和加密傳輸因平台而異。將秘密放置範圍限制為此處顯示的文字變數和瀏覽器處理分支。相鄰表單和預設值無法回答憑證儲存和檔案問題。
另一個秘密範圍限制來自一個單獨的秘密限制邊界,即安裝主機名稱網路和映像引用可能會洩漏基礎設施。將此秘密放置邊界視為排除項。喜歡準確的文字變數和瀏覽器處理,而不是對憑證儲存和檔案的猜測。
重點:本地轉換,然後外部化秘密 — 轉換器為您提供 YAML 而無需暴露
重點:本地轉換,然後外部化秘密 — 轉換器為您提供 YAML 而無需暴露。審核秘密放置作為來源選項、模型欄位、文字變數和瀏覽器處理行和警告。在檢查憑證儲存和檔案之前刪除機密。
最後,秘密外送來源確認了一個單獨的秘密決策邊界是遠端提交命令文字將洩露所有包含的值。證據:遠端提交命令文字會洩漏所有包含的值。嚴格關閉秘密放置:文字變數和瀏覽器處理是候選者;不保證憑證儲存以及檔案和 shell 的等效性。