HashiCorp Vault и MariaDB
Vault — это программное обеспечение с открытым исходным кодом для управления секретами, предоставляемое компанией HashiCorp. Оно разработано для предотвращения совместного использования секретов различных типов, таких как пароли и закрытые ключи. При создании автоматизации Vault является хорошим решением для предотвращения хранения секретов в открытом виде в репозитории.
MariaDB и Vault могут взаимодействовать несколькими способами:
- MariaDB имеет плагин Hashicorp Key Management plugin для управления и вращения SSH-ключей.
- Пароли пользователей могут храниться в Vault.
- MariaDB (и MySQL) могут использоваться в качестве движка секретов — компонента, который хранит, генерирует или шифрует данные.
- MariaDB (и MySQL) могут использоваться в качестве хранилища данных, обеспечивая долговременное хранение данных Vault.
Для получения информации об установке Vault, см. Установку Vault, а также MySQL/MariaDB Database Secrets Engine.
Функции Vault
Vault используется через HTTP/HTTPS API.
Vault основан на идентификации. Пользователи входят в систему, и Vault отправляет им токен, действительный в течение определённого времени или до наступления определённых условий. Пользователи с действительным токеном могут запросить секреты, для которых у них есть соответствующие разрешения.
Vault шифрует хранимые секреты.
Vault может необязательно аудировать изменения секретов и запросов на получение секретов пользователями.
Архитектура Vault
Vault — это сервер. Это позволяет отделить логику управления секретами от клиентов, которым требуется только авторизоваться и сохранить токен до его истечения.
Сервер фактически может быть кластером серверов для реализации высокой доступности.
Основные компоненты Vault:
- Поддерживаемое хранилище: Здесь хранятся секреты. Vault отправляет только зашифрованные данные в хранилище.
- HTTP API: Этот API используется клиентами и предоставляет доступ к серверу Vault.
- Блокировка: Аналогично реальному барьеру, она защищает все внутренние компоненты Vault. HTTP API и хранилище данных находятся за пределами барьера и могут быть доступны кому угодно. Все коммуникации с этими компонентами должны проходить через барьер. Барьер проверяет данные и шифрует их. Барьер может находиться в двух состояниях: запечатанном или незапечатанном. Данные могут передаваться только при незапечатанном барьере. Все последующие компоненты расположены внутри барьера.
- Метод аутентификации: Обрабатывает попытки входа в систему от клиентов. При успешном входе в систему метод аутентификации возвращает список правил безопасности в ядро Vault.
- Хранилище токенов: Здесь хранятся токены, сгенерированные в результате успешного входа в систему.
- Движки секретов: Эти компоненты управляют секретами. Они могут иметь различную сложность. Некоторые из них просто ожидают получения ключа и возвращают соответствующий секрет. Другие могут генерировать секреты, в том числе одноразовые пароли.
- Устройства аудита: Эти компоненты регистрируют запросы, полученные Vault, и ответы, отправленные клиентам. Может быть несколько устройств, в этом случае Брокер аудита отправляет запрос или ответ на соответствующее устройство.
Режим разработки
Возможно запустить Vault в режиме разработки:
vault server -dev
Режим разработки полезен для обучения Vault или проведения экспериментов с определёнными функциями. Он крайне небезопасен, так как режим разработки эквивалентен запуску Vault с несколькими небезопасными параметрами. Это означает, что Vault никогда не должен запускаться в режиме разработки в рабочей среде. Однако это также означает, что все обычные функции Vault доступны в режиме разработки.
Режим разработки упрощает все операции. Фактически, для запуска Vault в режиме разработки не требуется никакой конфигурации. Это позволяет взаимодействовать с API Vault из командной строки без аутентификации. Данные по умолчанию хранятся в оперативной памяти. Vault по умолчанию незапечатан, и если он явным образом запечатан, его можно незапечатать, используя только один ключ.
Для получения более подробной информации см. «Режим» сервера разработки в документации Vault.
Ресурсы и ссылки по Vault
Контент первоначально предоставлен компанией Vettabase Ltd.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/hashicorp-vault-and-mariadb/