iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0

在上一篇中,我們建立了一個帶有Policy的token,但這還不夠。

因為在現實中,我們不能讓一個token永遠有效力,這也可能是一個資安破口。

因此,在今天,我們要來談談 ──

Token 到底是什麼?為什麼需要 TTL?Lease 又是什麼?

甚麼是 Vault Token ?
Vault token 其實就是上一篇我們建立用來登入 vault 的 token,我們也可以將其理解為在進行 Authentication 後,Vault 發給 Client 的 Credential,拿到Token後便可以存取存在 Vault 裡的 credentials。

而Token由於是用來存取Vault的重要資訊,因此,控制其有效期限便相當重要。

Token 的 TTL (Time-to-Live)
我們試想,如果 Credential 永久有效,會發生甚麼問題呢?
對於內部員工來說,乍看之下也許比較方便,就好像你家的門鎖一樣,若永遠都不換,在開門時用同一把就好。
但若今天這個Token被駭客獲取,他將可以拿走你房子裡面的所有貴重物品,有可能是地契、提款卡、護照等等。
這個 "方便" 所帶來的代價真的值得嗎?

因此,為了解決這個潛在風險,Credential 應該具有生命週期,TTL即代表著存留時間,也就是Token還能使用的期限。

透過Vault,我們可以建立一個 TTL 為一小時的 Token。

vault token create -policy="myapp-read" -ttl=1h
可以透過lookup指令查看TTL:
vault token lookup
https://ithelp.ithome.com.tw/upload/images/20260923/20128925ZN3xEdpZcf.png

從上面的途中可以看到TTL已經開始呈現倒數狀態。

那甚麼又是 Lease?

With every dynamic secret and service type authentication token, Vault creates a lease: metadata containing information such as a time duration, renewability, and more. Vault promises that the data will be valid for the given duration, or Time To Live (TTL).

透過官方文件的敘述,我們可以這樣理解:
Lease是 Vault 對具有生命週期的資源所建立的一份「租約」。
所以,lease 包含了對該 dynamic token 的描述,如 TTL、是否 renewable 等等,而每個 lease 租約都有一個 unique 的lease id去對應。

這在之後當我們談到Dynamic secret時會再回來check out這個概念。


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

尚未有邦友留言

立即登入留言