第 1 部分:HashiCorp Vault 平台
第 1 課:HashiCorp Vault 簡介 - 企業中的秘密管理
HashiCorp Vault 是什麼?發展歷程(從HashiCorp到CNCF)
為什麼我們需要集中式秘密管理?
Vault 架構:儲存後端、屏障、秘密引擎、驗證方法、審核設備
比較 Vault、AWS Secrets Manager、Azure Key Vault 與 Google Secret Manager
使用案例:靜態機密、動態憑證、加密即服務、PKI、SSH
第 2 課:安裝 Vault - 獨立版、Docker 與 Kubernetes
在 Ubuntu/CentOS 上安裝 Vault(套件管理器)
使用 Docker 和 Docker Compose 執行 Vault
Kubernetes Helm 圖表部署
配置儲存後端(整合式儲存、檔案、Consul)
開發伺服器與生產模式
初始化 Vault(操作員 init)、密封/解封工作流程
第 3 課:Vault CLI、API 與 Web UI
Vault CLI 指令(讀取、寫入、列出、刪除、kv、驗證、機密、策略、操作員)
環境變數(VAULT_ADDR、VAULT_TOKEN、VAULT_NAMESPACE)
Vault HTTP API、cURL 範例
SDK 用戶端(Go、Python、Java、Node.js)
Vault Web UI 概述與導航
第 4 課:密封/解封、自動解封和恢復金鑰
密封/解封機制與 Shamir 秘密分享
關鍵份額、關鍵閾值、主密鑰
自動解封(AWS KMS、Azure Key Vault、GCP Cloud KMS、Transit、HSM)
恢復金鑰和重新產生金鑰(操作員重新產生金鑰)
密鑰輪換和密封遷移
第 5 課:代幣、租賃與續約
令牌類型:服務令牌、批次令牌
令牌層次結構、孤立令牌、令牌存取器
令牌角色、定期令牌、TTL 和最大 TTL
租約概念、租約續約、租約撤銷
Cubbyhole 回應包裝
第 2 部分:秘密引擎 - 管理機密
第 6 課:KV 秘密引擎 - 靜態秘密管理
KV v1 與 KV v2 詳細比較
啟用/設定 KV 秘密引擎
CRUD 操作、版本控制、元資料
KV v2 版本歸屬(Vault 1.21)
檢查與設定(CAS)、軟刪除、補丁操作
第 7 課:資料庫機密引擎 - 動態憑證
資料庫機密引擎概念
設定連線:PostgreSQL、MySQL、MongoDB、MSSQL
動態角色與靜態角色
根憑證輪替
與實際應用程式整合
第 8 課:PKI 秘密引擎 - 憑證授權單位
建立根 CA 和中間 CA
證書角色、頒發/簽署證書
CRL、OCSP、自動輪調、ACME 協定
PKI 憑證計數器(Vault 1.21)
與憑證管理器、Nginx、mTLS 整合
第 9 課:傳送秘密引擎 - 加密即服務
加密/解密操作
金鑰管理與輪調
金鑰類型、HMAC、簽章/驗證
資料金鑰產生、融合加密
BYOK 與批次操作
第 10 課:AWS、Azure、GCP 與雲端秘密引擎
AWS Secrets Engine(IAM、STS AssumeRole)
Azure Secrets Engine(1.21 中的靜態角色)
GCP Secrets Engine(服務帳戶、OAuth2)
多雲秘密管理最佳實務
第 3 部分:驗證方法 - 驗證與授權
第 11 課:基本驗證方法 - 令牌、使用者密碼和 AppRole
令牌驗證方法,根令牌
使用者密碼驗證方法、密碼原則
AppRole(RoleID、SecretID、CIDR 綁定)
回應包裝 cho SecretID
AppRole cho CI/CD 管道
第 12 課:LDAP、OIDC 和 JWT 驗證方法
LDAP 驗證方法(Active Directory 整合)
OIDC 驗證方法(Keycloak、Azure AD、Okta)
JWT 驗證方法(GitHub 操作 OIDC、GitLab CI)
綁定宣告、宣告映射
第 13 課:Kubernetes、AWS 和雲端驗證方法
Kubernetes 驗證方法(服務帳號令牌審核)
AWS 驗證方法(IAM、EC2)
Azure、GCP 驗證方法
SPIFFE 驗證方法(1.21 中的新增功能)
工作負載身分最佳實務
第 14 課:策略 - ACL、Sentinel 和 RBAC
HCL 策略語法,基於路徑的策略
功能(建立、讀取、更新、刪除、列出、sudo、拒絕)
策略範本(身分參數)
細粒度控制(allowed_parameters、denied_parameters)
哨兵策略(企業)- EGP、RGP
第 15 課:身分秘密引擎、實體與 MFA
身分秘密引擎、實體與別名
內部組與外部組
身分令牌(OIDC 提供者)
MFA — TOTP、Duo、Okta、PingID
MFA TOTP 自行註冊(Vault 1.21)
第 4 部分:高級秘密引擎
第 16 課:SSH 秘密引擎與 TOTP
SSH 簽章憑證(CA 模式)
SSH 一次性密碼(OTP 模式)
主機金鑰簽署、允許的使用者/擴充
TOTP 秘密引擎
LDAP 秘密引擎(RACF 密碼短語支援 1.21)
第 17 課:轉換與標記化 - 資料保護
轉換 Secrets Engine(企業)
格式保留加密 (FPE)、屏蔽
令牌化儲存(內部、外部)
PCI DSS 合規性、PII 保護
Transit 與 Transform — 何時使用哪一個
第 18 課:KMIP、Consul、Nomad Secrets 引擎和自訂外掛程式
KMIP 秘密引擎(金鑰管理互通性協定)
Consul 和 Nomad 秘密引擎
Vault外掛系統和外掛程式目錄
開發自訂秘密引擎/驗證方法(Go)
外掛程式多重化和版本化外掛程式
第 5 部分:Vault 代理、代理和 Kubernetes 整合
第 19 課:Vault 代理與 Vault 代理
Vault 代理程式:自動驗證、範本渲染、檔案接收器
代理程式快取、行程管理器
Vault代理:API代理模式,靜態秘密快取
代理與代理 — 何時使用哪一個
部署模式(systemd、Docker sidecar)
第 20 課:Kubernetes 上的 Vault - Helm、Operator 和 CSI
使用 Helm 圖表部署 Vault(獨立、HA、外部)
Vault Secrets Operator(VaultAuth、VaultStaticSecret、VaultDynamicSecret)
Vault CSI 提供者(SecretProviderClass)
Vault 代理注入器(註解、模板)
VSO、CSI 與代理注入器比較
第 6 部分:整合實際應用
第 21 課:將 Vault 與 Spring Boot 和 Node.js 整合
Spring Cloud Vault 整合
Java 中的資料庫憑證輪替
有 Node-vault 的 Node.js、Python HVAC
應用模式:直接 API、sidecar、環境變數、CSI
秘密零問題及解決方案
第 22 課:使用 Terraform、Ansible 和 CI/CD 管道的 Vault
Terraform Vault 提供者(基礎架構即程式碼)
Ansible Vault 尋找外掛程式
GitHub Actions OIDC、GitLab CI JWT 驗證
Jenkins AppRole 整合
ArgoCD Vault 插件,外部機密操作員
第 7 部分:生產、企業和營運
第 23 課:高可用性、整合式儲存與生產強化
整合式儲存 (Raft) 叢集設定
Autopilot、Raft 快照、WAL 日誌儲存
HA:主用/備用/性能備用
生產強化:TLS、mlock、systemd、安全檢查表
第 24 課:Vault Enterprise - 命名空間、複製與災難復原
命名空間(多租戶)
效能複製、災難復原
哨兵策略(EGP/RGP)
對照組、密封包裹、熵增強
許可證管理與企業升級
第 25 課:監控、審核日誌記錄、備份/復原和故障排除
審核設備(檔案、系統日誌、套接字)
Prometheus 指標、Grafana 儀表板
OpenTelemetry 追蹤
Raft 快照、秘密復原(Vault 1.21)
故障排除、Vault 調試、生產運作手冊