DevOpsDay: HashiCorp Vault 自建金鑰管理最佳入坑姿勢

活動時間: 2023-09-26T13:20:00Z 活動連結 Facebook Twitter 投影片 HashiCorp Vault 自建金鑰管理最佳入坑姿勢 本次演講從導入 HashiCorp Vault 作為起點,直接提供實務上經驗,分享建議的設定與路上可能有的雷。 Vault 入坑的困難 Vault + Terraform 一入坑就 IaC mount path + role + policy 命名與管理 升級與維護 會依據企業需求提供實際用例 demo,當天提供 github code example 中階 預期聽眾是有 Vault 使用經驗,希望能更有效率管理 Vault 的人 不會講太多基本功能介紹 vault 介紹

September 26, 2023 · 1 min · 42 words · chechiachang

Vault Workshop 10: Deploy with Docker

如果你希望追蹤最新的草稿,請見鐵人賽2023 本 workshop 也接受網友的許願清單,如果有興趣的題目可於第一篇底下留言,筆者會盡力實現,但不做任何保證 整篇 Workshop 會使用的範例與原始碼,放在 Github Repository: vault-playground Day 09: Deploy with Docker Local with Docker minikube r=https://api.github.com/repos/kubernetes/minikube/releases curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-darwin-arm64' | head -n1) sudo install minikube-darwin-arm64 /usr/local/bin/minikube 如何選擇 VM or Docker or Kubernetes 假議題 chatGPT 本段部分內容使用 chatGPT-3.5 翻譯 https://developer.hashicorp.com/vault/docs/install 內容,並由筆者人工校驗 base context 我希望你能充當一名繁體中文翻譯,拼寫修正者和改進者。我將用英文與程式語言與你對話,你將翻譯它,並以已糾正且改進的版本回答,以繁體中文表達。我希望你能用更美麗和優雅、高級的繁體中文詞語和句子替換我簡化的詞語和句子。保持意義不變。我只希望你回答糾正和改進,不要寫解釋。 很重要:不要使用敬語,翻譯結果中若出現"您",請用"你"取代"您"。 result correction 部分英文內容為專有名詞,產生的繁體中文翻譯結果中,這些名詞維持英文,不需要翻譯成中文:key,value,certificate,token,policy,policy rule,path,path-based,key rolling,audit,audit trail,plain text,key value,Consul,S3 bucket,Leasing,Renewal,binary,prefix,instance,metadata。 修正下列翻譯:將 "數據" 改為 "資料",將 "數據庫" 改為 "資料庫",將 "數據" 改為 "資料",將 "訪問" 改為 "存取",將 "源代碼" 改為 "原始碼",將 "信息" 改為 "資訊",將 "命令" 改為 "指令",將 "禁用" 改為 "停用",將 "默認" 改為 "預設"。

September 14, 2023 · 1 min · 90 words · chechiachang

Vault Workshop 09: Vault HA

如果你希望追蹤最新的草稿,請見鐵人賽2023 本 workshop 也接受網友的許願清單,如果有興趣的題目可於第一篇底下留言,筆者會盡力實現,但不做任何保證 整篇 Workshop 會使用的範例與原始碼,放在 Github Repository: vault-playground Day 09: Deploy with Docker Vault configuration chatGPT 本段部分內容使用 chatGPT-3.5 翻譯 https://developer.hashicorp.com/vault/docs/install 內容,並由筆者人工校驗 base context 我希望你能充當一名繁體中文翻譯,拼寫修正者和改進者。我將用英文與程式語言與你對話,你將翻譯它,並以已糾正且改進的版本回答,以繁體中文表達。我希望你能用更美麗和優雅、高級的繁體中文詞語和句子替換我簡化的詞語和句子。保持意義不變。我只希望你回答糾正和改進,不要寫解釋。 很重要:不要使用敬語,翻譯結果中若出現"您",請用"你"取代"您"。 result correction 部分英文內容為專有名詞,產生的繁體中文翻譯結果中,這些名詞維持英文,不需要翻譯成中文:key,value,certificate,token,policy,policy rule,path,path-based,key rolling,audit,audit trail,plain text,key value,Consul,S3 bucket,Leasing,Renewal,binary,prefix,instance,metadata。 修正下列翻譯:將 "數據" 改為 "資料",將 "數據庫" 改為 "資料庫",將 "數據" 改為 "資料",將 "訪問" 改為 "存取",將 "源代碼" 改為 "原始碼",將 "信息" 改為 "資訊",將 "命令" 改為 "指令",將 "禁用" 改為 "停用",將 "默認" 改為 "預設"。

September 14, 2023 · 1 min · 64 words · chechiachang

Vault Workshop 08: Vault in Docker and Initialization

如果你希望追蹤最新的草稿,請見鐵人賽2023 本 workshop 也接受網友的許願清單,如果有興趣的題目可於第一篇底下留言,筆者會盡力實現,但不做任何保證 整篇 Workshop 會使用的範例與原始碼,放在 Github Repository: vault-playground Day 08: Vault in Docker and Initialization Vault in container 前幾天我們使用 vault dev Server 來啟用測試用的 Vault server。 在 production 環境我們不會使用 dev Server。Vault 提供許多安裝方法 可以使用 binary 直接安裝在VM上 也可以透過 hashicorp/vault official docker image,在container 環境中執行 或是使用 hashicorp official helm chart,安裝在kuberntes上 使用範例 repository 你可以使用筆者準備的範例 repository https://github.com/chechiachang/vault-playground git clone git@github.com:chechiachang/vault-playground.git cd deploy/00-docker-dev/ 你可以使用下列指令啟動 vault in docker 並使用 -v flag 來掛載 ./config/ volume 到 container 中的 /vault/config.d/ docker run --cap-add=IPC_LOCK \ --volume ./vault/config/:/vault/config.d \ --volume ./vault/file/:/vault/file \ --volume ./vault/logs/:/vault/logs \ -p 8200:8200 \ --name vault_1 \ -d \ hashicorp/vault:1.14.3 \ vault server -config=/vault/config.d/vault.hcl 然後使用 docker logs 指令檢視 vault server log ...

September 14, 2023 · 8 min · 1534 words · chechiachang

Vault Workshop 07: Policy & approle

如果你希望追蹤最新的草稿,請見鐵人賽2023 本 workshop 也接受網友的許願清單,如果有興趣的題目可於第一篇底下留言,筆者會盡力實現,但不做任何保證 整篇 Workshop 會使用的範例與原始碼,放在 Github Repository: vault-playground Day 07: Policy & Approle 在 Vault 中,策略(Policies)控制著使用者可以訪問的資源。在上一篇身份驗證中,你已經學到了身份驗證方法(authentication method)。而這一節是關於授權(Authorization),也就是合法的用戶登入後,應該能夠取得怎樣的權限。 在身份驗證方面,Vault 提供了多種啟用和使用的選項或方法。Vault 在授權和 policy 方面也使用相同的設計。所有身份驗證方法都將登入者的身份 map 回與 Vault 配置的核心 policy。 準備環境 在 vault 官方網站文件中,Hashicorp 官方準備了 https://instruqt.com/的 session lab 筆者個人覺得 interactive lab 的 browser tab 很難用,也不喜歡 Terminal session 連 remote VM 的延遲,以下內容還是會使用 local dev Server 說明。 觀眾們可以自己斟酌使用。 Policy 格式 策略(Policies)是以HCL撰寫的,但也兼容JSON格式。以下是一個範例策略: # Dev servers have version 2 of KV secrets engine mounted by default, so will # need these paths to grant permissions: path "secret/data/*" { capabilities = ["create", "update"] } path "secret/data/foo" { capabilities = ["read"] } 這個範例 policy 授予了對 KV v2 秘密管理(secrets engine)的資源的能力。如果你對於與這個秘密管理引擎相關的路徑不熟悉,可以查閱該秘密管理引擎文件中的 ACL 規則部分。 ...

September 14, 2023 · 7 min · 1460 words · chechiachang