Vault
跳至導覽
跳至搜尋
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
就可以拿來使用。
相關連結
參考文獻
- ↑ AppRole Pull Authentication. [2020-07-29] (English).
外部連結
- 官方網站 (英文)