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). 

外部链接