一、环境搭建

官网指导步骤:https://learn.hashicorp.com/vault/#getting-started

1. 下载vault安装文件

2. dev环境启动 ./vault server -dev, 然后localhost:8200,这种方式token每次启动都会变化

3.token不变的方式,首先:在vault目录下创建vault-dev.hcl文件

/*
* Sample configuration file for tests
*/

// Enable UI
ui = true

// Filesystem storage
storage "file" {
path = "./vault-data"
}

// TCP Listener using a self-signed certificate
listener "tcp" {
address = "127.0.0.1:8200"
"tls_disable" = "true"
}

4. cd到vault目录下,执行下面命令启动vault server

./vault server -config vault-dev.hcl

5. 另起一个命令窗口,执行:

export VAULT_ADDR=http://localhost:8200vault operator init

6. 保存好上面init命令后产生的5个key和一个token,另起一个命令窗口 执行(需要3个key凑齐才能用)

./vault operator unseal 第一个key
./vault operator unseal 第二个key
./vault operator unseal 第三个key

7. 然后执行localhost:8200, 打开管理平台,添加一个密码引擎,类型为KV,路径为secret/, 然后创建与springboot项目中spring.application.name配置一致的名称

8. 配置需要加密的key value,springboot项目中可以用占位符变量

vault中配置key为变量名

除了用变量占位符,也可以springboot项目中去掉配置项,vault中配置key为springboot配置路径(spring.datasource.username)方式进行配置

二、集成 spring-cloud-vault 组件

1. 引入依赖 compile "org.springframework.cloud:spring-cloud-vault-config:1.1.2.RELEASE"

2. 编辑bootstrap.yml文件

spring:
  application:
    # 应用名
    name: defsat-demo
  cloud:
    vault:
      # 默认不开启,根据profile配置
      enabled: false
---
spring:
  # 环境
  profiles: staging
  cloud:
    vault:
      # vault服务地址
      uri: https://localhost:8200
      # vault token
      token: s.GdMEcVYamK3HMaesWAlvYPlG
      enabled: true
---
spring:
  # 环境
  profiles: prod
  cloud:
    vault:
      # vault服务地址
      uri: https://localhost:8200
      # vault token
      token: s.GdMEcVYamK3HMaesWAlvYPlG
      enabled: true

三、注意事项

1. 新增一个secret引擎时,名称一定要叫 secret,不然应用找不到,具体原因没深究

2. 每次关闭vault后,必须要重新解封

3. 新增secret引擎时,使用Version1,不要使用Version2

 

Vault安装、配置、使用的更多相关文章

  1. FastDFS分布式文件系统&Nginx负载均衡最小环境安装配置[超级详解]

    1.背景 FastDFS 是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.该开源项目的主页是 http://code.google. ...

  2. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  3. Linux基础环境_安装配置教程(CentOS7.2 64、JDK1.8、Tomcat8)

    Linux基础环境_安装配置教程 (CentOS7.2 64.JDK1.8.Tomcat8) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmw ...

  4. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  5. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  6. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  7. Hadoop的学习--安装配置与使用

    安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...

  8. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  9. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

随机推荐

  1. Java 8 Optional类深度解析(转)

    经常会遇到这样的问题,调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法.我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数. 新版本的Java,比如J ...

  2. Scrapy 和 scrapy-redis的区别

    Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础 ...

  3. 第四章——训练模型(Training Models)

    前几章在不知道原理的情况下,已经学会使用了多个机器学习模型机器算法.Scikit-Learn很方便,以至于隐藏了太多的实现细节. 知其然知其所以然是必要的,这有利于快速选择合适的模型.正确的训练算法. ...

  4. JavaScript单线程和异步机制

    随着对JavaScript学习的深入和实践经验的积累,一些原理和底层的东西也开始逐渐了解.早先也看过一些关于js单线程和事件循环的文章,不过当时看的似懂非懂,只留了一个大概的印象:浏览器中的js程序时 ...

  5. Sublime text使用快捷键

    作者:gyfnice链接:https://www.zhihu.com/question/24896283/answer/34327939来源:知乎著作权归作者所有,转载请联系作者获得授权. 代码片段 ...

  6. RabbitMQ (二)工作队列

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37620057 本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与 ...

  7. css3 绘制图形

    星形: .star-six { width:; height:; border-left: 50px solid transparent; border-right: 50px solid trans ...

  8. celery学习笔记1

    生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产 ...

  9. Python-分支循环- if elif for while

    分支与循环 条件是分支与循环中最为核心的点,解决的问题场景是不同的问题有不同的处理逻辑.当满足单个或者多个条件或者不满足条件进入分支和循环,这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化, ...

  10. BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP

    BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀 ...