Vault
This commit is contained in:
136
HashiCorp_Vault.md
Normal file
136
HashiCorp_Vault.md
Normal file
@ -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 <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 🚀
|
||||||
|
|
||||||
Reference in New Issue
Block a user