HashiCorp Vault 開發環境部署

Vault,

§ 引言

經研究 HashiCorp Vault(簡稱 Vault)開源版可以部署在 windows, linux, docker。 這很難得,一般開源並可部署在 winodws 平台的都只願意開放到入門或只能測試的程度而已。

Vault 開源版可以部署成商用正式環境。

§ 有意義的部署

經研究 Vault 的保密性保證最終依據的依然是那個光,就是憑證(非對稱加密)與嚴謹的SOP設計。 它的SOP不在本文探討範圍因為那在企業版才能完整實現,其中最典型的應用是自動更換 DB 主機的帳號密碼。 把原本由系統工程師定期更換密碼變成由企業版的 Vault 定期更換密碼,去除一項人為的不保密風險。

開源版 Vault 仍有保管秘密的基本能力故還是有價值的。然而有意義的部署仍需要有正式的憑證加持。


§ Vault 部署紀錄摘要

部署版本: HashiCorp Vault 1.19.0

》 windows 入門練習部署摘要

部署指令:

> vault server -dev

說明:

不需要憑證。只適用CLI操作Vault的入門練習。 全程在記憶體內執行,每次重啟全部重置。

》 windows 開發環境部署

部署指令:

說明:

經由 hcl 組態檔設定。把 secrets 存入檔案。 可掛測試用的自簽憑證。 可用於開發以 web api 或專屬 client library 通訊操作。 參考後面段落詳細紀錄

》 windows 正式環境部署

部署成 windows service。 參考文章:Run Vault Agent as a Windows servicearrow-up-right 部署指令:

說明: 可以成功啟動但沒有正式憑證與正式環境可用,故先放著。因為沒有正式憑證就不給執行,出現下面錯誤畫面:

沒有正式憑證不給執行

》 docker 部署

預計目標部署在 docker 但未找到(直白)完整的說明文件又時間不足故先放著。

》 linux 部署

不在考慮內。文章最完整。


§ windows 開發環境部署紀錄

規格

  1. 支援 file 儲存模式

  2. 支援 log 紀錄檔

  3. 支援 TLS

  4. 啟動 audit log。在 CLI 下指令啟動。 (官網說明也可在 hcl 檔設定 audit,但實作無效。)

部署指令:

組態檔 config.hcl:

其中憑證的生成需另用 OpenSSL 協助。不在此文章說明。

§ 使用 CLI 進行 Vault 系統管理的

建議加入三個環境參數這樣使用起來比較方便。 但不建議加入系統環境設定,而是臨用時再加入因為這些參數都不應該公開或儲存。

§ 沒圖沒真象

主機端 console 畫面

Vault 服數啟動
檔案部局

Vault 網站每次啟動都先解封(unseal) 否則無法使用。 第一次啟動要先生成全新的 root token 與 unseal key 請妥善隱密的保存。

解封 Vault 數據

客戶端 console CLI 畫面

(EOF)

Last updated