vault hashicorp

vault是一个server,其他地址可以通过api,cli或者envconsole访问这个server以获取加密后的解密的值

整个架构:secret存于secret angine内(可以是k/v,aws,gcp等),在vault内是一个secret的路径,role保存了该role可以访问哪个secret以及都有啥权限,使用者首先要与vault授信,然后拿到roleid和secretid,通过俩id去到对应的secret路径下请求token,拿着这个token访问对应的服务(aws的某个服务或者某个db等等),那么ladps的作用就是类似于jenkins的那个预授权,拿着ladps的token就可以获取到对应的roleid和secretid

 

终极目的是拿到一个token。拿到这个token后就可以对应的secret内取值,这些值是用户储存进去的。

拿到token的方式有如下几种:

1.拿到role的id和secretid,拿着俩id和对应的secret请求,得到一个token;

2.直接拿着token,在envconsul里配好,直接读取secret路径并把读到的值(秘密)变成变量

 

policy可以限定任何路径的权限,包括role和secret engine

vault原理:本身是一个server,加密解密可以由这个server处理,也可以由其他的引擎处理(比如aws,gcp或者数据库等)。

secret engine:存储,处理加密解密的引擎,有很多种,vault自带一种叫kv(key/value)。

secret engine有很多类型,每个类型又可以创建无限多的path(在server上会生成这个path(相对路径)),这个path是唯一的,当read或get时针对path即可取到对应的值

path很重要

 

步骤:

1.安装:下载,解压,直接就是一个二进制,配置到环境变量中即可执行

2.启动server: vault server -dev,启动后输出一大堆的信息,其中有token。默认监听8200端口,在访问机上可以设置vault_add为server的ip:port。

3.server上添加engine,自带的默认是kv类型的,还可以添加aws类型等其他类型。vault secrets enable -path xxx/ aws(表示xxx/这个路径绑定到aws类型的secret engine),当有指定path的请求进来时就会以aws的类型进行处理并返回结果.这个xxx可以是单个目录,也可以是连续的目录

4.写数据:两种方式:a.vault xx put xxx/yyy data(xx是类型,比如aws,kv等,xxx是之前创建的secret engine,yyy是啥东东? data是数据,比如kv类型的就是key=value格式,aws的就是aws的格式)。b.也可以使用write,vault write xxx/yyy data,此时不需要指定类型。

5.读取:两种,a.vault xx get xxx/yyy (获取yyy下的所有数据)b.vault read xxx/yyy。直接读取

 

单独部署一台可以外部访问的vault的步骤(实际搭建成功):https://learn.hashicorp.com/vault/getting-started/deploy

坑:

1.当使用vault server -dev创建时,默认是测试模式的,通过netstat -anp即可查看到8200端口对应的local address是127.0.0.1,意味着这个地址只能内部访问,当其他server访问时,显示connection refused。(各种关防火墙,无济于事)

2.创建时使用的hcl配置文件中server的地址要使用0.0.0.0,而不要使用127.0.0.1.否则不通。切记

 

 

1.依赖:consul。安装同vault

2.按照步骤,唯一要注意的是hcl里的127.0.0.1要改为0.0.0.0,否则外部不能访问,这是基本的local address知识。

3.另起一个终端,f非ip登录后使用key携带的token授权并获取data。<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值