vault的安裝

vault是一個服務器密碼及證書管理工具linux

vault的使用場景

(1) 做爲集中存儲各個服務器帳號密碼的服務器。目前咱們有服務器須要訪問到有密碼的後端的時候,有幾種方案:git

  • export到環境變量
  • 寫死到代碼裏面
  • 上線的時候使用自動化工具對變量進行替換

第一種方案帶來的問題是使用麻煩,後兩種方案帶來的問題是維護和變動麻煩。好比DB密碼泄露,須要修改密碼,首先DBA修改密碼,而後通知到應用,應用再作代碼上的變動。若是使用vault的話,DBA只要在vault上面修改好密碼以後通知應用從新從vault拉取最新密碼就好了。github

(2)爲每個操做單位動態分配帳號後端

好比過去咱們想要對某些敏感操做進行審計,可是因爲生成帳號比較麻煩,因此存在公用帳號的狀況。vault支持爲某些後端動態生成帳號的功能,好比SQL,當某個應用向vault請求帳號密碼的時候,vault可以爲每次請求生成一個獨一無二的SQL帳號密碼。bash

(3) 做爲證書服務器服務器

vault可以做爲CA服務器,根據請求信息自動頒發證書。而且提供在線CA和CRL的功能。不過目前只能在vault裏面新生成ROOT-CA,不能導入原有的ROOT-CA。tcp

(4)做爲OAUTH服務器工具

vault支持多種認證後端,好比github、kubernetes、帳號密碼等等。vault可以將這些帳號關聯成一個用戶,在用戶認證以後返回一個token供用戶使用。spa

# 下載 vault wget https://releases.hashicorp.com/vault/0.9.1/vault_0.9.1_linux_amd64.zip code

unzip vault_0.9.1_linux_amd64.zip

# 安裝vault
cat >/vault/vault.conf <<EOF
backend "file" {
path = "/home/finance/App/vault/data"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
disable_mlock = true
EOF

# 將vault地址寫入環境變量

echo "export VAULT_ADDR=http://127.0.0.1:8200" >> /etc/profile
source /etc/profile
# 啓動vault
nohub ./vault server -config ./vault.conf &

# 咱們能看到vault自動監聽在了127.0.0.1:8200,並自動爲咱們生成了unseal-key以及root-token # 啓封 vault,在使用vault以前首先要對vault進行啓封,才能對vault進行後續操做。使用上面生成的uneal-key, vault unseal 0Gg1yc/qY2W3f82DnxcZTEjdvMuxpjOV5nzNnVrMy4U= # 認證,使用上面的Root Token vault auth eb45cfe5-9cca-3b23-5416-49f2febeb59c 
相關文章
相關標籤/搜索