HashiCorp Vault介紹
HashiCorp Vault是一款企業級私密信息管理工具。說起Vault,不得不提它的創造者HashiCorp公司。HashiCorp是一家專註於DevOps工具鏈的公司,其旗下明星級產品包括Vagrant、Packer、Terraform、Consul、Nomad等,再加上Vault,這些工具貫穿了持續交付的整個流程。
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。
HashiCorp Vault介紹