Hashicorp Vault簡單來說是一個安全性的工具,範圍可以從登入,資料加密,憑證派發,動態密碼,加密的Key/Value等等。
Secure Secret Storage: 加密的Key value 儲存,與Consul不同,Consul只有base64加密。
Dynamic Secrets: 動態密碼的生成,並設定TTL在時間到期後註銷。
Data Encryption: 不需要儲存空間的資料加解密,加密後的資料可以選則要儲存在DB或其他地方,不須自己設計加密演算法。
Leasing and Renewal: Vault支援的secrets都可以設定租任時間與續約功能。
Revocation: 註銷secrets,除了上述的設定secrets租任,續約還可以註銷特定用戶或是特定類型的secrets。
整個架構可以區分為三層:
** HTTP/s API: ** 負責對外的功能存取。
Barrier: 保護加解密的數據,在使用Vault前須先解封(unseal)才能使用Vault,unseal 會需要unseal key.
Storage Backend: 用來儲存數據加密,支援S3,Consul,Etcd,MySQL,Integrated Storage (Raft) Backend等等。
Size | CPU | Memory | Disk | Typical Cloud Instance Types |
---|---|---|---|---|
Small | 2 core | 8-16 GB RAM | 100 GB | AWS: m5.large, m5.xlarge |
Azure: Standard_D2_v3, Standard_D4_v3 | ||||
GCE: n2-standard-2, n2-standard-4 | ||||
Large | 4-8 core | 32-64 GB RAM | 200 GB | AWS: m5.2xlarge, m5.4xlarge |
Azure: Standard_D8_v3, Standard_D16_v3 | ||||
GCE: n2-standard-8, n2-standard-16 |
Source | Destination | port | protocol | Direction | Purpose |
---|---|---|---|---|---|
Consul clients and servers | Consul Server | 7300 | TCP | incoming | Server RPC |
Consul clients | Consul clients | 7301 | TCP and UDP | bidirectional | Lan gossip communications |
Vault clients | Vault servers | 8200 | TCP | incoming | Vault API |
Vault servers | Vault servers | 8201 | TCP | bidirectional | Vault replication traffic, request forwarding |