Vault

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋

Vault是一套由HashiCorp開發的密碼管理軟體。

概要

Vault可以拿來存放各類credential資料,像是Key或是Password,這個方法比Twelve-Factor App methodology所提到的方法(利用環境變數)安全許多。

安裝

AppRole[1]

以下的指令可以透過Vault的CLI操作,會需要設定對應的Endpoint(環境變數VAULT_ADDR)與token(環境變數VAULT_TOKEN)。

啟用

先啟用AppRole:

vault auth enable approle

TTL設定

你可能會想要改掉預設的TTL,目前的預設是30天(768h),這邊設定為100年:

vault read sys/auth/approle/tune
vault write sys/auth/approle/tune max_lease_ttl=876000h
vault write sys/auth/approle/tune default_lease_ttl=876000h
vault read sys/auth/approle/tune

建立

先產生AppRole:

vault write auth/approle/role/example_role token_policies="example_policy1,example_policy2"

接下來是讀取role-id

vault read auth/approle/role/example_role/role-id

產生對應的secret-id

vault write -f auth/approle/role/example_role/secret-id

其中輸出的secret_id就是我們要的,而secret_id_accessor則可以拿來renew用(但比較少用到)。

使用

這邊使用HTTPie產生JSON request:

http https://vault.example.com/v1/auth/approle/login role_id=x secret_id=y

回傳的client_token就可以拿來使用。

相關連結

參考文獻

  1. AppRole Pull Authentication. [2020-07-29] (English). 

外部連結