137 lines
4.5 KiB
Markdown
137 lines
4.5 KiB
Markdown
|
||
Загрузить в 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: x1jUXpLJREI6M1+Qm6m/h3NLEhaEmBageqw0v+dSSKo=
|
||
Root Token: hvs.V7Rc8uJ8YJ0AASKZfep6oYNe
|
||
```
|
||
|
||
Теперь 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 <nil>
|
||
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 🚀
|
||
|