Chuyển đến nội dung chính

第 1 課:HashiCorp Vault 簡介 - 企業中的秘密管理

了解 HashiCorp Vault 是什麼、為什麼需要集中式機密管理、Vault 架構(存儲後端、屏障、機密引擎、身份驗證方法、審核設備、系統後端)、與 AWS Secrets Manager/Azure Key Vault/Google Secret Manager 的比較以及實際使用案例。 Vault 1.21.x 概述。

<定義> <線性漸變 id="bg-1997" x1="0%" y1="0%" x2="100%" y2="100%">

<矩形寬度=“1200”高度=“340”rx=“12”填滿=“url(#bg-1997)”/>

<圓cx =“670”cy =“208”r =“20”填滿=“#f472b6”不透明度=“0.05”/> <圓cx =“750”cy =“80”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“750”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“750”cy =“136”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“750”cy =“164”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“778”cy =“80”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“778”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“806”cy =“80”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“806”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“806”cy =“136”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“806”cy =“164”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“834”cy =“80”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“834”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“834”cy =“136”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“834”cy =“164”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“862”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“862”cy =“136”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“890”cy =“80”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“890”cy =“108”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“890”cy =“136”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <圓cx =“890”cy =“164”r =“1.5”填入=“#f472b6”不透明度=“0.15”/> <多邊形點=「1045.38268590218,208.5 1045.38268590218,235.5 1022,249 998.6173140978201,235.5 998.61738.61732095. 1022,195”填滿=“無”描邊=“#f472b6”描邊寬度=“1”不透明度=“0.12”/>

<矩形x =“60”y =“50”寬度=“4”高度=“60”rx =“2”填滿=“#f472b6”/> <矩形x =“80”y =“50”寬度=“121”高度=“28”rx =“14”填滿=“#f472b6”不透明度=“0.15”/> 🔒 DevSecOps — 第 1 課

第 1 課:HashiCorp Vault 簡介 - 秘密 企業管理

HashiCorp Vault 從基礎到進階

第 1 部分:HashiCorp Vault 平台

xdev.asia

1.什麼是 HashiCorp Vault?

HashiCorp Vault 是一種開源機密管理解決方案,能夠儲存、存取和嚴格控制敏感資訊,例如密碼、API 金鑰、憑證、加密金鑰和其他機密。 Vault 由 HashiCorp 開發,目前是基礎設施安全的領先工具之一。

Vault 為所有類型的機密提供統一的介面,同時嚴格控制存取並記錄每次互動的詳細審核日誌。

發展史

  • 2015:HashiCorp Vault 0.1 推出 - 基本機密管理

  • 2017 年:Vault 0.9 — 身分秘密引擎、Sentinel 策略(企業)

  • 2018:Vault 1.0 — 整合式儲存 (Raft)、自動解封、多項生產改善

  • 2020:Vault 1.5 — Transform Secrets Engine、UI 改進

  • 2022 年:Vault 1.12 — ACME 協定 cho PKI、Vault Agent 改良

  • 2024 年:Vault 1.17 — Vault Secrets Operator GA,事件系統

  • 2025-2026:Vault 1.21.x — 目前版本,具有 SPIFFE 驗證、MFA TOTP 自行註冊、Azure 靜態角色、機密復原

2.為什麼需要集中式秘密管理?

在現代企業系統中,秘密無所不在:

  • 每個微服務的資料庫憑證

  • 用於與第三方服務整合的 API 金鑰

  • 服務之間 mTLS 的 TLS 憑證

  • SSH 金鑰用於伺服器存取

  • 雲端憑證(AWS IAM、Azure 服務主體、GCP 服務帳戶)

  • 靜態資料的加密金鑰

如果沒有集中式解決方案,秘密通常是:

  • 秘密蔓延 - 秘密分散在設定檔、環境變數、CI/CD 管道

  • 缺乏輪替 - 切勿更改憑證,以免影響系統

  • 缺少審核 - 不知道誰在何時訪問了哪個秘密

  • 硬編碼機密 - 機密直接提交到原始碼

  • 權限過高 - 開發人員擁有超出必要的存取權

3. HashiCorp Vault 架構

Vault 採用模組化架構,包含以下主要元件:

儲存後端

儲存後端負責儲存加密資料。 Vault 與儲存後端無關—所有資料在寫入之前都經過加密。選項包括:

  • 整合式儲存 (Raft) — 建議、內建、HA 支援

  • Consul — HashiCorp Consul 儲存後端

  • File — 本機檔案系統,不支援HA

  • 記憶體中 - 僅用於開發

屏障(加密層)

Barrier 是 Vault 周圍的加密層。任何進出 Vault 的資料均使用 AES-256-GCM 進行加密。只有當金庫處於未密封狀態時,屏障才會「打開」。

秘密引擎

秘密引擎是儲存、產生或編碼資料的元件。每個引擎都安裝在單獨的路徑上:

  • KV — 儲存鍵值對(靜態秘密)

  • 資料庫 — sinh 動態資料庫憑證

  • PKI — 憑證授權單位、sinh TLS 憑證

  • Transit — 加密即服務

  • AWS/Azure/GCP — sinh 動態雲憑證

  • SSH — 簽署的 SSH 證書或 OTP

驗證方法

身份驗證方法對客戶端進行身份驗證並指派身份+策略:

  • 令牌 — 使用 Vault 令牌進行驗證

  • AppRole — cho 機器對機器驗證

  • LDAP/OIDC — 人類使用者驗證

  • Kubernetes — 基於 Pod 的身份驗證

  • AWS/Azure/GCP — 雲端工作負載驗證

  • SPIFFE — 基於 SVID 的驗證(1.21 中的新增功能)

審核設備

審核設備記錄 Vault 的每個請求和回應。無論身份驗證或授權成功或失敗,每個請求都會被記錄。

4。將 Vault 與其他解決方案進行比較

<表> <標題> 功能 HashiCorp 金庫 AWS Secrets Manager Azure 金鑰保管庫 GCP 秘密經理 <正文> 開源 ✅(社群版) ❌ ❌ ❌ 多雲 ✅ ❌(僅限 AWS) ❌(僅限 Azure) ❌(僅限 GCP) 動態秘密 ✅ ⚠️(有限) ❌ ❌ PKI/CA ✅ ❌ ✅(有限) ❌ 加密即服務 ✅(公車) ❌ ✅(有限) ❌ SSH 證書 ✅ ❌ ❌ ❌ 本地 ✅ ❌ ❌ ❌ 插件生態系 ✅(可擴展) ❌ ❌ ❌

5。 Vault 的關鍵用例

靜態機密管理

使用 KV 秘密引擎將任意字串儲存、旋轉和加密為鍵值對。適用於 API 金鑰、設定值、資料庫密碼。

動態憑證

為資料庫(PostgreSQL、MySQL、MongoDB)、雲端提供者(AWS IAM、Azure SP、GCP SA)和訊息傳遞系統產生具有有限 TTL 的按需憑證。憑證過期後會自動撤銷。

加密即服務

使用 Transit Secrets Engine 加密/解密數據,而無需在應用程式中儲存加密金鑰。應用程式將明文發送到 Vault 並接收傳回的密文。

PKI/憑證管理

Vault PKI Secrets Engine 充當完整的憑證授權機構,產生/簽署 TLS 憑證、管理憑證生命週期、CRL、OCSP 並支援 ACME 協定。

基於身分的存取

Vault 將多個身分來源(LDAP、OIDC、Kubernetes、Cloud IAM)組合成一個統一的實體,從而實現所有平台的一致策略管理。

6。 Vault 1.21.x — 新功能

  • SPIFFE 驗證 - 在 SPIFFE 環境中使用 SVID 對工作負載進行驗證

  • MFA TOTP 自行註冊 — 使用者登入時使用二維碼自行註冊 MFA

  • KV v2 版本歸屬 — 查看每個版本的金鑰的建立者

  • Azure 靜態角色 - 管理長期 Azure 憑證

  • 秘密恢復 - 從快照恢復秘密而不覆蓋現有資料

  • Snowflake Root Rotation - 自動輪替 Snowflake 的金鑰對根憑證

  • RACF 密碼短語支援 — 支援 LDAP Secrets Engine 中的較長密碼短語

  • PKI 憑證計數器 — 追蹤每月核發的憑證數量

7.摘要

HashiCorp Vault 是當今最全面的秘密管理解決方案,適用於本地和雲端環境。憑藉豐富的插件生態系統、動態憑證生成、加密即服務、PKI 管理和基於身分的訪問,Vault 是現代零信任架構中不可或缺的元件。

在下一篇文章中,我們將在許多不同的平台上安裝 Vault,並學習初始化和密封/解封過程。