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).
外部连结
- 官方网站 (英文)