Движки секретов и пути
Как Vault из одного KV вырастает в платформу: движки секретов монтируются по путям, как плагины.
Secrets engine (движок секретов) — подключаемый компонент Vault, отвечающий за определённый тип секретов (KV, БД, PKI, transit и т.д.) и смонтированный по своему пути.
Vault — не монолит, а набор движков. KV хранит статику, database генерирует креды БД, transit шифрует, pki выдаёт сертификаты. Каждый движок монтируется по пути и работает независимо от других.
Монтирование по путям
Когда вы монтируете движок, вы выбираете путь-префикс. Дальше все операции этого движка живут под этим префиксом:
# смонтировать KV v2 на пути secret/
vault secrets enable -path=secret -version=2 kv
# отдельный KV для другой команды
vault secrets enable -path=team-billing kv-v2
# движок БД
vault secrets enable database
# transit
vault secrets enable transit
Префикс пути произволен. Можно смонтировать один и тот же тип движка несколько раз на разные пути — например, отдельный KV на каждую команду для изоляции.
Перечисление движков
vault secrets list
Path Type Description
---- ---- -----------
secret/ kv key/value v2
database/ database dynamic db creds
transit/ transit encryption as a service
sys/ system internal
Почему всё — это путь
Единая модель путей — фундамент Vault. Прочитать секрет — это чтение пути secret/data/x. Сгенерировать креды БД — чтение database/creds/role. Зашифровать — запись в transit/encrypt/key. Благодаря этому система прав тоже описывается путями: политика просто перечисляет, какие операции на каких путях разрешены. Не нужно учить отдельный язык прав для каждого движка.
vault/
secret/ <- KV v2 (статика)
data/myapp/db
database/ <- динамические креды
creds/readonly
transit/ <- шифрование
encrypt/orders-key
pki/ <- сертификаты
issue/web-role
auth/ <- методы аутентификации
approle/login
Как работает под капотом
Каждый смонтированный движок — изолированный экземпляр со своими данными в storage под своим префиксом. Размонтирование (vault secrets disable) удаляет ВСЕ секреты этого движка и отзывает выданные им динамические креды. Поэтому путь монтирования — это ещё и граница изоляции и жизненного цикла.
Системный движок sys/
Особый путь sys/ — это управление самим Vault: политики, аудит, монтирование, статус seal. Технически это тоже «движок», доступ к которому регулируется политиками, поэтому администрирование Vault подчиняется тем же правилам, что и работа с секретами.
Частые ошибки
- Размонтировать движок «чтобы почистить» — это стирает все его секреты и отзывает динамические креды.
- Монтировать всё на один путь — теряется изоляция между командами/средами.
- Забывать про
sys/в политиках админов — без прав на sys/ нельзя управлять Vault.
Итог
- Движки секретов — модули по типам (KV, database, transit, pki), монтируемые по путям.
- Один тип можно смонтировать многократно на разные пути для изоляции.
- Единая модель путей объединяет работу с секретами и систему прав;
sys/управляет самим Vault.