如何使用Vault安全的存储密码和API密钥

Vault是用来安全的获取秘密信息的工具,它可以保存密码、API密钥、证书等信息。Vault提供了一个统一的接口来访问秘密信息,其具有健壮的访问控制机制和丰富的事件日志。

对关键信息的授权访问是一个困难的问题,尤其是当有许多用户角色,并且用户请求不同的关键信息时,例如用不同权限登录数据库的登录配置,用于外部服务的API密钥,SOA通信的证书等。当保密信息由不同的平台进行管理,并使用一些自定义的配置时,情况变得更糟,因此,安全的存储、管理审计日志几乎是不可能的。但Vault为这种复杂情况提供了一个解决方案。

如何使用Vault安全的存储密码和API密钥

突出特点

数据加密:Vault能够在不存储数据的情况下对数据进行加密、解密。开发者们便可以存储加密后的数据而无需开发自己的加密技术,Vault还允许安全团队自定义安全参数。

安全密码存储:Vault在将秘密信息(API密钥、密码、证书)存储到持久化存储之前对数据进行加密。因此,如果有人偶尔拿到了存储的数据,这也没有任何意义,除非加密后的信息能被解密。

动态密码:Vault可以随时为AWS、SQL数据库等类似的系统产生密码。比如,如果应用需要访问AWS S3 桶,它向Vault请求AWS密钥对,Vault将给出带有租期的所需秘密信息。一旦租用期过期,这个秘密信息就不再存储。

租赁和更新:Vault给出的秘密信息带有租期,一旦租用期过期,它便立刻收回秘密信息,如果应用仍需要该秘密信息,则可以通过API更新租用期。

撤销:在租用期到期之前,Vault可以撤销一个秘密信息或者一个秘密信息树。

安装Vault

有两种方式来安装使用Vault。

1. 预编译的Vault二进制 能用于所有的Linux发行版,下载地址如下,下载之后,解压并将它放在系统PATH路径下,以方便调用。

下载相应的预编译的Vault二进制版本。

解压下载到本地的二进制版本。

祝贺你!您现在可以使用Vault了。

如何使用Vault安全的存储密码和API密钥

2. 从源代码编译是另一种在系统中安装Vault的方式。在安装Vault之前需要安装GO和GIT。

RedHat系统中安装GO 使用下面的指令:

sudo yum install go

Debin系统中安装GO 使用下面的指令:

sudo apt-get install golang

或者

sudo add-apt-repository ppa:gophers/go

sudo apt-get update

sudo apt-get install golang-stable

Redhat系统中安装GIT 使用下面的命令:

sudo yum install git

Debian系统中安装GIT 使用下面的命令:

sudo apt-get install git

一旦GO和GIT都已被安装好,我们便可以开始从源码编译安装Vault。

将下列的Vault仓库拷贝至GOPATH

https://github.com/hashicorp/vault

测试下面的文件是否存在,如果它不存在,那么Vault没有被克隆到合适的路径。

$GOPATH/src/github.com/hashicorp/vault/main.go

执行下面的指令来编译Vault,并将二进制文件放到系统bin目录下。

make dev

一份Vault入门教程

我们已经编制了一份Vault的官方交互式教程,并带有它在SSH上的输出信息。

概述

这份教程包括下列步骤:

初始化并启封您的Vault

在Vault中对您的请求授权

读写秘密信息

密封您的Vault

初始化您的Vault

首先,我们需要为您初始化一个Vault的工作实例。在初始化过程中,您可以配置Vault的密封行为。简单起见,现在使用一个启封密钥来初始化Vault,命令如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16350.html