iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
Security

身分驗證你我他 ─ 使用 HashiCorp Vault 與 Terraform 打造 Secret 與 Identity 實驗室系列 第 9 篇

Day 9. KV v1 vs KV v2:Destroy、metadata 與 Secret Recovery

  • 分享至 

  • xImage
  •  

上一篇提到的 Secret versioning 是 KV Secure Engine 在 Version2 新加入的功能,它提供了完善且類似於 git 的版本控制功能,除此之外,只要針對對應Key加入對應的tag,便能產生如Soft Delete、Version count limitation等實用功能:

Soft Delete

vault kv metadata put \ -delete-version-after=30d \ secret/myapp

代表這個 Secret 的每個版本在建立後,經過 30 天會自動進入刪除狀態。

這裡有一個很重要、也很容易誤解的地方,delete_version_after 是自動 Delete,不是自動 Destroy,所以紀錄在 Vault 裡仍然可以 Query 到。

Max Versions

vault kv metadata put \ -max-versions=5 \ secret/myapp

代表只保留有限數量的歷史版本,當版本數超過限制時,最舊版本會被永久移除。

Secret Recovery

所謂的Recovery 即是 當 Secret 被誤刪或錯誤修改時,利用 KV v2 保留的歷史版本將 Secret 找回。

例如目前有三個版本:
Version 1 → password=123456
Version 2 → password=abcdef
Version 3 → password=qwerty ← Current

如果不小心執行:
vault kv delete secret/myapp

Version 3 會被標記為 deleted:

Version 1 → password=123456
Version 2 → password=abcdef
Version 3 → [Deleted]

這時候資料還沒有被永久 Destroy,因此可以執行:
vault kv undelete -versions=3 secret/myapp

Version 3 就可以重新被讀取。


上一篇
Day 8. Vault KV Secrets Engine:第一個 Secret
下一篇
Day 10. Vault Policy:用 HCL 控制 Secret 權限
系列文
身分驗證你我他 ─ 使用 HashiCorp Vault 與 Terraform 打造 Secret 與 Identity 實驗室 共 14 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言