HashiCorp Vault是一款企業級私密信息管理工具。提及Vault,不得不提它的創造者HashiCorp公司。HashiCorp是一家專一於DevOps工具鏈的公司,其旗下明星級產品包括Vagrant、Packer、Terraform、Consul、Nomad等,再加上Vault,這些工具貫穿了持續交付的整個流程。git
HashiCorp Vault在2016年四月進入了ThoughtWorks技術雷達,位於Tools分類,處於ACESS級別。在2017年3月份最新一塊兒Tech Radar中,HashiCorp Vault已經處於TRIAL級別。數據庫
https://www.thoughtworks.com/radar/tools/hashicorp-vault後端
爲何要使用HashiCorp Vault?
在企業級應用開發過程當中,團隊每時每刻都須要管理各類各樣的私密信息,從我的的登錄密碼、到生產環境的SSH Key以及數據庫登陸信息、API認證信息等。一般的作法是將這些祕密信息保存在某個文件中,而且放置到git之類的源代碼管理工具中。我的和應用能夠經過拉取倉庫來訪問這些信息。但這種方式弊端不少,好比跨團隊分享存在安全隱患、文件格式難以維護、私密信息難以回收等。安全
尤爲是微服務大行其道的今天,如何讓開發者添加私密信息、應用程序能輕鬆的獲取私密信息、採用不一樣策略更新私密信息、適時回收私密信息等變得愈來愈關鍵。因此企業須要一套統一的接口來處理私密信息的方方面面,而HashiCorp Vault就是這樣的一款工具。架構
HashiCorp Vault的特性
HashiCorp Vault做爲集中化的私密信息管理工具,具備如下特色:微服務
存儲私密信息。 不只能夠存放現有的私密信息,還能夠動態生成用於管理第三方資源的私密信息。全部存放的數據都是加密的。任何動態生成的私密信息都有租期,而且到期會自動回收。工具
滾動更新祕鑰。用戶能夠隨時更新存放的私密信息。Vault提供了加密即服務(encryption-as-a-service)的功能,能夠隨時將密鑰滾動到新的密鑰版本,同時保留對使用過去密鑰版本加密的值進行解密的能力。 對於動態生成的祕密,可配置的最大租賃壽命確保密鑰滾動易於實施。加密
審計日誌。 保管庫存儲全部通過身份驗證的客戶端交互的詳細審覈日誌:身份驗證,令牌建立,私密信息訪問,私密信息撤銷等。 能夠將審覈日誌發送到多個後端以確保冗餘副本。命令行
另外,HaishiCorp Vault提供了多種方式來管理私密信息。用戶能夠經過命令行、HTTP API等集成到應用中來獲取私密信息。HashiCorp Vault也能與Ansible、Chef、Consul等DevOps工具鏈無縫結合使用。日誌
HashiCorp 架構
HashiCorp對私密信息的管理進行了合理的抽象,經過優良的架構實現了很好的擴展性和高可用。
Storage backend: 存儲後端,能夠爲內存、磁盤、AWS等地方。
Barrier:隔離受信區域和非授信區域,保證內部數據的安全性。
HTTP API:經過HTTP API向外暴露服務,Vault也提供了CLI,其是基於HTTP API實現的。
Vault提供了各類Backend來實現對各類私密信息的集成和管理。好比Authentication Backend提供鑑權,Secret Backend用於存儲和生成私密信息等。
總結
HashiCorp Vault做爲私密信息管理工具,比傳統的1password等方式功能更強大,更適合企業級的應用場景。在安全問題愈來愈嚴峻的今天,值得嘗試HashiCorp Vault。