3.9.25.6.4 Vault
Установка
Запуск и настройка сервера
Работа с секретами
Пример работы
Веб-интерфейс
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический
- Редакция ОС: Стандартная, Образовательная
- Архитектура: x86_64
- Версия ПО: vault-1.21.2-1
Vault — программа, которая обеспечивает безопасное хранение и доступ к различным секретам (паролям, сертификатам, токенам). Vault позволяет хранить, управлять и извлекать секретные данные, генерировать секретные данные по запросу для различных платформ, управлять рабочими процессами инфраструктуры закрытых ключей и шифровать данные для приложений при передаче и хранении. Vault работает по принципу клиент-серверного приложения.
Разработчики могут запустить Vault в режиме разработки, чтобы проводить локальное тестирование и разработку с использованием Vault.
В процессе настройки Vault придерживайтесь следующих рекомендаций:
-
отключите файл подкачки (swap) для предотвращения записи секретов на диск;
-
запретите создание снимков процесса Vault;
-
настройте межсетевой экран для ограничения сетевого трафика;
-
установите короткое время жизни для выдаваемых учетных данных;
-
включите блокировку учетных записей при превышении лимита неудачных попыток входа;
-
ведите журналы аудита всех операций, выполняемых в Vault;
-
синхронизируйте время на всех узлах через NTP;
-
настройте автоматическое создание резервных копий;
-
используйте отказоустойчивый кластер минимум из 3 узлов;
-
настройте автоматическую распечатку с использованием аппаратного модуля безопасности (HSM) или облачной системы управления ключами (KMS);
-
не храните секреты в конфигурационных файлах в открытом виде;
-
проверяйте права доступа к файлам Vault;
-
разработайте процесс отзыва доступа при удалении пользователей;
-
запускайте Vault как единственный процесс на сервере.
Установка
Для установки программы через терминал выполните следующую команду (потребуются права администратора):
sudo dnf install vault
Для проверки версии выполните команду:
vault --version
Запуск и настройка сервера
Сервер разработки прослушивает интерфейс обратной связи по адресу 127.0.0.1 на TCP-порте 8200 без включенного по умолчанию протокола TLS. Сервер разработки сразу инициализируется и выводит корневой токен в консоль. В рабочем окружении Vault требует ручного выполнения vault operator init и vault operator unseal.
Запуск сервера
Запуск сервера в фоновом режиме:
vault server -dev -dev-root-token-id=root -dev-listen-address=127.0.0.1:8200 &
После запуска в терминале появится информация о сервере. Обратите внимание на строку с корневым токеном (Root Token). Сохраните этот токен. Он используется для аутентификации администратора.
Настройка окружения
Настройте переменные окружения для работы с Vault:
export VAULT_ADDR='http://127.0.0.1:8200'
Проверка работоспособности
Для проверки настроек выполните:
echo $VAULT_ADDR vault status
Успешный ответ будет содержать статус: "initialized":true,"sealed":false.
Работа с секретами
После настройки окружения и запуска сервера Vault можно приступить к работе с секретами. Ниже приведены основные операции для управления секретными данными.
Аутентификация в Vault
Перед выполнением любых операций с секретами необходимо пройти аутентификацию.
Выполните аутентификацию с помощью корневого токена, который был указан при запуске сервера:
vault login root
После успешного входа отобразится сообщение:
Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token.
Проверить успешную аутентификацию можно командой:
vault token lookup
Запись секрета
KV (Key-Value) — это хранилище секретов в формате «ключ = значение». Каждый секрет хранится по пути и может содержать несколько пар ключ-значение.
Для сохранения данных используется команда:
vault kv put <путь> <ключ>=<значение>
Пример записи одного секрета:
vault kv put secret/myapp/config username=admin password=secret123
Пример записи нескольких секретов в один путь:
vault kv put secret/myapp/database \
host=localhost \
port=5432 \
username=app_user \
password=secure_pass_123 \
ssl_mode=require
Чтение секрета
Для извлечения сохраненного секрета используется команда vault kv get.
vault kv get <путь>
Пример чтения секрета:
vault kv get secret/myapp/config
Для чтения определенного поля выполните команду:
vault kv get -field=username secret/myapp/config
Для вывода секрета в формате JSON выполните команду:
vault kv get -format=json secret/myapp/config
Управление версиями секретов
Секреты сохраняют все изменения. Каждый раз при обновлении создаётся новая версия.
Получение конкретной версии:
vault kv get -version=1 secret/myapp/config
Просмотр метаданных и всех версий секрета:
vault kv metadata get secret/myapp/config
Удаление секретов
Снятие секрета с использования (секрет помечается как удалённый, версии сохраняются):
vault kv delete secret/myapp/config
Полное удаление определенной версии:
vault kv destroy -versions=1 secret/myapp/config
Полное удаление всех версий и метаданных:
vault kv metadata delete secret/myapp/config
Просмотр и навигация
Просмотр всех секретов в корневом пути:
vault kv list secret/
Просмотр секретов в конкретной папке:
vault kv list secret/myapp/
Управление токенами
Просмотр информации о текущем токене:
vault token lookup
Создание нового токена с ограниченными правами:
vault token create -policy=default -ttl=1h
Отзыв конкретного токена:
vault token revoke hvs.CAESIJRk1...
Отзыв текущего токена:
vault token revoke -self
Очистка локального хранилища токена:
rm ~/.vault-token
Остановка сервера
Для остановки сервера найдите PID процесса, который занимает порт 8200:
sudo ss -tlnp | grep 8200
Пример вывода:
LISTEN 0 4096 127.0.0.1:8200 0.0.0.0:* users:(("vault",pid=3424,fd=7))
Остановите процесс (замените <pid> на число из вывода):
sudo kill -15 <pid>
Пример работы
Пример использования Vault — запуск сервера, работа с секретами и токенами:
1. Запуск сервера разработки:
vault server -dev -dev-root-token-id=root -dev-listen-address=127.0.0.1:8200
2. Аутентификация:
vault login root
3. Проверка текущего токена:
vault token lookup
4. Создание структуры секретов:
vault kv put secret/myapp/database host=localhost port=5432 user=app_user password=secure_pass vault kv put secret/myapp/api key=abc123 secret=xyz789
5. Просмотр секретов:
vault kv list secret/ vault kv list secret/myapp/
6. Чтение секретов:
vault kv get secret/myapp/database vault kv get -field=password secret/myapp/database
7. Обновление секрета (создается новая версия):
vault kv put secret/myapp/database password=new_secure_pass
8. Просмотр версий:
vault kv get -version=1 secret/myapp/database vault kv get -version=2 secret/myapp/database
9. Просмотр всех версий:
vault kv metadata get secret/myapp/database
10. Снятие секрета с использования:
vault kv delete secret/myapp/api
11. Создание временного токена:
vault token create -policy=default -ttl=30m
12. Завершение работы (отзыв токена и очистка):
vault token revoke -self rm ~/.vault-token
Веб-интерфейс
Vault оснащен встроенным веб-интерфейсом для управления секретами, политиками и методами аутентификации. Для доступа к веб-интерфейсу перейдите по адресу: http://127.0.0.1:8200.
На странице входа выберите метод аутентификации Token и укажите корневой токен (root):

После успешной авторизации откроется основная панель управления Vault:

Более подробная информация о работе Vault содержится в официальной документации.
Дата последнего изменения: 15.04.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.