Below you will find pages that utilize the taxonomy term “Vault”
Posts
Vault - Policies
要設定 Vault 的 Policy,先建立 Policy 設定檔。
vim $policy_file 在設定檔內用 HCL (HashiCorp Configuration Language) 做 Policy 的設定。
# Normal servers have version 1 of KV mounted by default, so will need these # paths: path "secret/*" { capabilities = ["create"] } path "secret/foo" { capabilities = ["read"] } # Dev servers have version 2 of KV mounted by default, so will need these # paths: path "secret/data/*" { capabilities = ["create"] } path "secret/data/foo" { capabilities = ["read"] } 像是這邊設定的是可以在 secret/ 下做寫入的動作,只有 secret/foo 是唯讀;secret/data/ 下可寫入,但 secret/data/foo 唯讀。
read morePosts
Vault - GitHub auth method
要使用 GitHub 做 Vault 的認證,可用 vault auth enable 帶入 github 啟動 GitHub auth method。
vault auth enable [-path=$path] github 查驗一下是否正常啟用。
vault auth list
接著設定 GitHub 的 Organization。
vault write auth/github/config organization=$organization 設定 GitHub Organization 的 Team,與要使用的 Policy。
vault write auth/github/map/teams/$team value=$policy 因為用 GitHub 認證,這邊要先準備好 GitHub personal access token。
GitHub personal access token 這邊建立時要給予 read:org 權限。
建立完調用 vault login,帶入 -method 參數指定用 GitHub 登入,並帶入剛建立的 GitHub personal access token 即可。
vault login -method=github 若後續不再使用,可登回 root。
read morePosts
Vault - Install with HomeBrew
如要在 MAC 上使用 Vault,可透過 HomeBrew 進行 Vault 的安裝。
brew install vault 安裝後調用 Vault 命令並帶入 –version 參數,若安裝正常應可查驗到安裝的 Vault 版本。
vault --version
read morePosts
Vault - Token authentication
Vault 支援 Token 認證方式,在 Vault server 啟動後會顯示 Root token,可直接取用。
也可以透過 vault token create 命令建立新的 token 使用。
vault token create Token 的相關資訊可用 vault token lookup 帶入 Token 查驗。
vault token lookup $token Token 取得後可用 vault login 帶入 Token 登入。
vault login $token 若要註銷 Token,可用 vault token revoke 帶入 Token。
vault token revoke $token Token 註銷後不得使用,無法查驗 Token 資訊。
也無法用來登入。
Link Authentication
read morePosts
Vault - Secrets engines
Vault 的 Secure engine 可以是 AWS、Database、Github… 等。
資料會進哪個 Secret engine 是看 Path,像是預設開啟 kv 這個 Secret engine 在 secret 這個 Path,我們可以直接用 secret/$name 這樣的方式指定存放的位置。
若指定的位置無對應的 Secret engine,因為無 Secret engine 可以服務,因此會報錯。
vault write foo/bar a=b Secret engine 可使用 vault secrets enable 加帶 Secret engine name自行啟用,如果啟用的 Path 跟 Secret engine name 不同,可加帶 -path 參數指定。
vault secrets enable [-path=$path] $secret-engine 像是這邊筆者起了一個 kv 的 Secret engine 在 kv 這個 Path。
vault secrets enable -path=kv kv 查驗 Secret engine 列表,可看到確實已經啟用。
read morePosts
Vault - Your first secure
Vault server 起動後,實際做些資料的操作看看。
透過 vault kv put 可將資料存放到指定的 kv store。
vault kv put secret/hello foo=world 支援存放多筆資料。
vault kv put secret/hello foo=world excited=yes 放入 kv store 的資料可用 vault kv get 查看。
vault kv get secret/hello 若要查詢特定值可加帶 -field 參數指定。
vault kv get -field=excited secret/hello 也可加帶 -format 參數指定輸出格式做些進階處理。
vault kv get -format=json secret/hello | jq -r .data.data.excited 資料不要時可透過 vault kv delete 自 kv store 移除。
vault kv delete secret/hello vault kv get secret/hello Link Your First Secret
read morePosts
Vault - Starting the server
Vault 安裝後可調用 Vault server 命令起服務試試,這邊可加帶 -dev 參數起 Dev server。
vault server -dev 服務啟用後注意到特別變色的區塊,裡面有 Vault server 的位置與 Root token。
可複製新開 Terminal 後貼上,設定 VAULT_ADDR。
export VAULT_ADDR='http://127.0.0.1:8200' 以及 VAULT_DEV_ROOT_TOKEN_ID。
export VAULT_DEV_ROOT_TOKEN_ID="$token_id" 設定完後調用 vault status 命令測試看看,沒意外的話應該可以正常連到 Vault server,並將 Vault server 的資訊顯示出來。
vault status Link Starting the Server
read morePosts
Vault - Install Vault
要安裝 Vault 可到這邊下載對應系統的檔案。
像是筆者用 Android 手機在用 Termux 玩,所以是下載 ARM 版本的檔案。
wget https://releases.hashicorp.com/vault/1.3.0/vault_1.3.0_linux_arm64.zip 下載下來後解壓縮。
unzip vault_1.3.0_linux_arm64.zip 就可以直接使用解壓縮出來的二進制檔案操作。
vault Link Installing Vault
read more