From 5c3570ac249c73383783bd653215a0883e6fba54 Mon Sep 17 00:00:00 2001 From: Igor I Date: Mon, 24 Feb 2025 18:20:28 +0500 Subject: [PATCH] Vault --- HashiCorp_Vault.md | 136 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 HashiCorp_Vault.md diff --git a/HashiCorp_Vault.md b/HashiCorp_Vault.md new file mode 100644 index 0000000..0790022 --- /dev/null +++ b/HashiCorp_Vault.md @@ -0,0 +1,136 @@ + +Загрузить в HashiCorp Vault настройки можно так: + +```sh +vault kv put secret/org-ccalm-jwt \ +jwt.secret=my-secret-value \ +db.user=admin \ +db.pass=123456 +``` + +Разбор параметров: +1. vault kv put – команда для записи ключей и значений в KV-хранилище Vault. +2. secret/org-ccalm-jwt – путь к секрету. + * secret/ – это backend-хранилище (оно должно быть включено в Vault). + * org-ccalm-jwt – имя секрета, под которым сохраняются параметры. +3. jwt.secret=my-secret-value – ключ jwt.secret со значением my-secret-value. +4. db.user=admin – ключ db.user со значением admin. +5. db.pass=123456 – ключ db.pass со значением 123456. + + +# 🚀 Установка и настройка HashiCorp Vault на Windows + +## 📌 1. Установка HashiCorp Vault + +1. **Скачайте Vault CLI** с официального сайта: + 🔗 [https://developer.hashicorp.com/vault/downloads](https://developer.hashicorp.com/vault/downloads) +2. Распакуйте архив и **добавьте путь к `vault.exe` в `PATH`**: + - Кликните **ПКМ → Этот компьютер → Свойства → Дополнительные параметры системы**. + - В **Переменные среды** добавьте путь к папке с `vault.exe`. +3. Откройте **cmd** или **PowerShell** и проверьте установку командой: +```sh + vault --version +``` + Если всё ОК, увидите версию Vault. Примерно такую: Vault v1.18.4 (503be623a3697e8c10c254dc87d26492c46753e1), built 2025-01-29T13:57:54Z + +--- + +## 📌 2. Запуск Vault-сервера (разработческий режим) + +Чтобы локально запустить Vault в **dev-режиме** (без авторизации), выполните: +```sh +vault server -dev +``` +После запуска он покажет **root-токен** (сохраните его!): +```plaintext +Unseal Key: 9OSMJSPNCs9IT/H5OzLz17jW/vogeCAWQbXy2K7LRPQ= +Root Token: hvs.JDIyKgDMagA0WyIhLFQ4mAjZ +``` + +Теперь Vault работает по адресу: +```sh +start http://127.0.0.1:8200 +``` + +--- + +## 📌 3. Экспорт токена (чтобы не вводить каждый раз) + +Откройте **PowerShell** и выполните: +```sh +$env:VAULT_ADDR="http://127.0.0.1:8200" +$env:VAULT_TOKEN="hvs.JDIyKgDMagA0WyIhLFQ4mAjZ" +``` +(Замените `hvs.JDIyKgDMagA0WyIhLFQ4mAjZ` на свой токен.) + +Теперь можно работать с Vault без ввода токена каждый раз. + +--- + +## 📌 4. Запись значений в Vault на Windows + +Значения разделенные пробелами можно записать в вольт так: +```sh +vault kv put secret/kz-istransit-jwt server.ssl.key-store-password=MFNX344yh4 +``` +Выдаст примерно такое: +======== Secret Path ======== +secret/data/kz-istransit-jwt + +======= Metadata ======= +Key Value +--- ----- +created_time 2025-02-24T12:49:45.7630328Z +custom_metadata +deletion_time n/a +destroyed false +version 1 + +--- + +## 📌 5. Проверка сохранённых данных + +Чтобы посмотреть, что записано в Vault: +```sh +vault kv get secret/kz-istransit-jwt +``` +Если всё настроено правильно, вы увидите примерно такой вывод: +```plaintext +====== Metadata ====== +Key Value +--- ----- +created_time 2025-02-24T12:00:00Z +version 1 + +====== Data ====== +Key Value +--- ----- +db.pass 123456 +db.user admin +jwt.secret my-secret-value +``` + +--- + +## 📌 6. Удаление данных из Vault + +Удаление данных: +```sh +vault kv delete secret/org-ccalm-jwt +``` +Полное уничтожение (без возможности восстановления): +```sh +vault kv destroy -versions=1 secret/org-ccalm-jwt +``` + +--- + +## 🎯 Итог +✅ Установили Vault CLI +✅ Запустили Vault сервер (`vault server -dev`) +✅ Экспортировали `VAULT_ADDR` и `VAULT_TOKEN` +✅ Записали настройки в Vault +✅ Проверили данные + +Теперь можно интегрировать Vault в Spring Boot 🚀 +