Что такое HashiCorp Vault
Знакомимся с продуктом: что Vault делает, какие задачи закрывает и из каких возможностей состоит.
HashiCorp Vault — это инструмент для централизованного хранения, выдачи и управления жизненным циклом секретов, а также для шифрования данных как сервиса.
Vault часто называют «менеджером паролей для инфраструктуры», но это упрощение. Vault решает четыре разные задачи, и именно их сочетание делает его стандартом индустрии.
Четыре роли Vault
1. Хранилище статических секретов
Самое очевидное: положить пароль, прочитать пароль. Vault шифрует данные на диске и отдаёт их только аутентифицированным клиентам с подходящей политикой.
2. Генератор динамических секретов
Главная фишка. Vault не хранит креды к базе заранее — он создаёт их по запросу, с коротким сроком жизни, и сам удаляет, когда срок истёк. У каждого приложения свои уникальные временные креды.
3. Шифрование как сервис
Движок transit позволяет приложению зашифровать или расшифровать данные, не получая сам ключ — ключ никогда не покидает Vault. Приложение шлёт открытый текст, получает шифртекст.
4. Центр сертификации и выдачи
Движок PKI выдаёт короткоживущие TLS-сертификаты по запросу, заменяя ручной выпуск и долгие сроки действия.
Как с ним работают
Vault — это сетевой сервис с HTTP API. С ним общаются тремя способами: через CLI vault, напрямую по REST API и через веб-интерфейс (UI). CLI под капотом просто дёргает тот же API.
# положить секрет
vault kv put secret/myapp/db password="s3cr3t"
# прочитать секрет
vault kv get secret/myapp/db
Тот же запрос напрямую по API выглядит так:
{
"request_id": "a1b2c3",
"data": {
"data": { "password": "s3cr3t" },
"metadata": { "version": 1 }
}
}
Как работает под капотом: всё — это путь
Ключевая идея архитектуры: в Vault всё представлено путями, как в файловой системе или REST API. Чтение секрета, логин, выпуск сертификата — всё это операции чтения/записи по путям вроде secret/data/myapp, auth/approle/login, database/creds/readonly. Это унифицирует и работу, и систему прав: политика просто описывает, какие операции разрешены на каких путях.
Где применяется
- Микросервисы получают креды к БД и очередям при старте.
- CI/CD-пайплайны берут токены деплоя на время выполнения.
- Приложения шифруют чувствительные поля через transit.
- Внутренняя инфраструктура получает TLS-сертификаты из PKI.
Частые ошибки
- Считать Vault просто KV-хранилищем — это упускает динамические секреты, ради которых его чаще всего и внедряют.
- Думать, что Vault сам себя защитит — без правильных политик и аудита он лишь переносит проблему.
Итог
- Vault — это хранилище секретов, генератор динамических кредов, шифрование как сервис и центр сертификации в одном.
- Работа идёт через единый HTTP API; CLI и UI — обёртки над ним.
- Архитектурный принцип «всё — это путь» унифицирует операции и систему прав.