приложение для централизованного хранения секретов: паролей, логинов, сертификатов и токенов (Vault в переводе с английского — сейф). С его помощью можно улучшить безопасность программного кода, убрав из него все секретные данные и перенеся их в Hashicorp Vault. Написан на языке Golang.
Приложение интегрируется со многими популярными системами:
- Обнаружение сервисов: Consul.
- Системы оркестрации: Ansible, Puppet, Chief.
- Контейнерезация: Kubernetes, Docker.
- CI/CD: GitLab, Jenkins, Teamcity.
- и многими другими.
А также есть поддержка большинства современных языков программирования, например: Python, Node.js, PHP, Java, Go. Полный список официальных библиотек можно найти на официальном сайте. Также, взаимодействовать с Hashicorp Vault можно через API.
Приложение может быть установлено на все популярные системы. Возможны следующие варианты инсталляции:
- Из репозитория (для Linux).
- Копирование бинарного файла.
- Сборка из исходников.
- В виде контейнера Docker.
Аналогов Hashicorp Vault аналогичного размаха, наверное, нет. Но можно выделить следующие решения, которые, так или иначе, могут помочь решить проблему безопасного хранения секретов:
- Встроенные средства для систем оркестрации — ansible-vault (Ansible), chef-vault (Chef), Hiera (Puppet), Pillars (SaltStack).
- Шифрование файлов, которые хранятся в репозитории.
- Использование облачных решений.
Все перечисленные решения имеют свои проблемы и ограничения. Hashicorp Vault также не идеальное решение, однако, он лишен большинства проблем безопасности, с которыми можно столкнуться при использовании централизованного решения хранения секретов.