4.6 KiB
Загрузить в HashiCorp Vault настройки можно так:
vault kv put secret/org-ccalm-jwt \
jwt.secret=my-secret-value \
db.user=admin \
db.pass=123456
Разбор параметров:
- vault kv put – команда для записи ключей и значений в KV-хранилище Vault.
- secret/org-ccalm-jwt – путь к секрету.
- secret/ – это backend-хранилище (оно должно быть включено в Vault).
- org-ccalm-jwt – имя секрета, под которым сохраняются параметры.
- jwt.secret=my-secret-value – ключ jwt.secret со значением my-secret-value.
- db.user=admin – ключ db.user со значением admin.
- db.pass=123456 – ключ db.pass со значением 123456.
🚀 Установка и настройка HashiCorp Vault на Windows
📌 1. Установка HashiCorp Vault
- Скачайте Vault CLI с официального сайта:
🔗 https://developer.hashicorp.com/vault/downloads - Распакуйте архив и добавьте путь к
vault.exeвPATH:- Кликните ПКМ → Этот компьютер → Свойства → Дополнительные параметры системы.
- В Переменные среды добавьте путь к папке с
vault.exe.
- Откройте cmd или PowerShell и проверьте установку командой:
vault --version
Если всё ОК, увидите версию Vault. Примерно такую: Vault v1.18.4 (503be623a3697e8c10c254dc87d26492c46753e1), built 2025-01-29T13:57:54Z
📌 2. Запуск Vault-сервера (разработческий режим)
Чтобы локально запустить Vault в dev-режиме (без авторизации), выполните:
vault server -dev
После запуска он покажет root-токен (сохраните его!):
Unseal Key: x1jUXpLJREI6M1+Qm6m/h3NLEhaEmBageqw0v+dSSKo=
Root Token: hvs.V7Rc8uJ8YJ0AASKZfep6oYNe
Теперь Vault работает по адресу:
start http://127.0.0.1:8200
📌 3. Экспорт токена (чтобы не вводить каждый раз)
Откройте PowerShell и выполните:
$env:VAULT_ADDR="http://127.0.0.1:8200"
$env:VAULT_TOKEN="hvs.JDIyKgDMagA0WyIhLFQ4mAjZ"
(Замените hvs.JDIyKgDMagA0WyIhLFQ4mAjZ на свой токен.)
Теперь можно работать с Vault без ввода токена каждый раз.
📌 4. Запись значений в Vault на Windows
Значения разделенные пробелами можно записать в вольт так:
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:
vault kv get secret/kz-istransit-jwt
Если всё настроено правильно, вы увидите примерно такой вывод:
====== 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
Удаление данных:
vault kv delete secret/org-ccalm-jwt
Полное уничтожение (без возможности восстановления):
vault kv destroy -versions=1 secret/org-ccalm-jwt
🎯 Итог
✅ Установили Vault CLI
✅ Запустили Vault сервер (vault server -dev)
✅ Экспортировали VAULT_ADDR и VAULT_TOKEN
✅ Записали настройки в Vault
✅ Проверили данные
Теперь можно интегрировать Vault в Spring Boot 🚀