vault了解
认识
权限严格管理的配置中心,可以通过UI,CLI,HTTP对令牌、密码、证书、加密密钥数据进行访问,以保护密钥和其他敏感数据。也可以定义租期,即在某个时间段内才能访问。
用途:
- 配置中心
- token续约
- 权限控制
secret engine
可以理解为项目/namespace,其内容为树形结构,叶子节点存储数据,输入path的时候 / 分割路径
类型
kv
分为v1/v2版本
区别
Command | KV v1 endpoint | KV v2 endpoint |
---|---|---|
```javascript | ||
vault kv get |
| secret/<key_path> | secret/**data**/<key_path> |
|
javascript
vault kv put
| secret/<key_path> | secret/**data**/<key_path> |
|
javascript
vault kv list
| secret/<key_path> | secret/**metadata**/<key_path> |
|
javascript
vault kv delete
``` | secret/
Command | KV v2 endpoint |
---|---|
```javascript | |
vault kv patch | |
``` | secret/data/ |
```javascript | |
vault kv rollback | |
``` | secret/data/ |
```javascript | |
vault kv undelete | |
``` | secret/undelete/ |
```javascript | |
vault kv destroy | |
``` | secret/destroy/ |
```javascript | |
vault kv metadata | |
``` | secret/metadata/ |
policy
权限策略,权限分为["create", "read", "update", "patch", "delete", "list"]
对于某个 secret engine下面的权限。可以精确到具体某个值
access
entity
实体?可以理解为取数据的用户,因为vault不带用户系统,而一般是接三方的用户,如authentik,每个用户通过不同的认证方式接用户认证。
每个用户可以在不同的认证方式里有不同的别名。
但是同一种认证方式下只能有一个别名
可以为单个entity添加policy
group
组,可以选择多个entity和多个policy到组里以及多个group,
内部组
组A包含了组B,C,组A为父组
绑定到组下面的entity的权限应该是取交集
外部组
外部组,仅仅能绑定策略,类似entity,可以为认证方式取别名。
比较粗犷。