8.4.4.3 Установка плагина хранилища ключей
Потребители сервиса хранилища ключей должны установить компонент или плагин хранилища ключей:
Для использования плагина хранилища ключей начните с инструкций здесь. (Также для общей информации об установке плагинов см. раздел 7.6.1 «Установка и удаление плагинов»).
Для использования компонента хранилища ключей вместо него начните с раздела 8.4.4.2 «Установка компонента хранилища ключей».
Если вы намерены использовать функции хранилища ключей совместно с выбранным компонентом или плагином хранилища ключей, установите функции после установки этого компонента или плагина, используя инструкции в разделе 8.4.4.12 «Функции управления ключами общего назначения хранилища ключей».
Одновременно должен быть включен только один компонент или плагин хранилища ключей. Включение нескольких компонентов или плагинов хранилища ключей не поддерживается, и результаты могут не соответствовать ожиданиям.
Компонент хранилища ключей должен быть включен в экземпляре MySQL Server, если вам необходимо обеспечить безопасное хранение значений постоянных системных переменных, а не плагин хранилища ключей, который не поддерживает эту функцию. См. Сохранение чувствительных системных переменных.
MySQL предоставляет следующие варианты плагинов хранилища ключей:
keyring_okv: Плагин KMIP 1.1 для использования с продуктами хранения ключей от сторонних производителей, совместимыми с KMIP, такими как Oracle Key Vault и Gemalto SafeNet KeySecure Appliance. Доступно в дистрибутивах MySQL Enterprise Edition.keyring_aws: Связывается с Amazon Web Services Key Management Service в качестве внешнего хранилища для генерации ключей и использует локальный файл для хранения ключей. Доступно в дистрибутивах MySQL Enterprise Edition.keyring_hashicorp: Связывается с HashiCorp Vault для внешнего хранения. Доступно в дистрибутивах MySQL Enterprise Edition.
Для использования сервером, библиотечный файл плагина должен находиться в каталоге плагинов MySQL (каталог, указанный системной переменной plugin_dir). При необходимости настройте расположение каталога плагинов, задав значение plugin_dir при запуске сервера.
Компонент или плагин хранилища ключей должен быть загружен на ранней стадии последовательности запуска сервера, чтобы другие компоненты могли получить к нему доступ по мере необходимости во время собственной инициализации. Например, хранилище InnoDB использует хранилище ключей для шифрования табличных пространств, поэтому компонент или плагин хранилища ключей должен быть загружен и доступен до инициализации InnoDB.
Установка каждого плагина хранилища ключей аналогична. Следующие инструкции описывают, как установить keyring_okv. Чтобы использовать другой плагин хранилища ключей, замените его имя на keyring_okv.
Базовое имя библиотечного файла плагина keyring_okv равно keyring_okv. Суффикс имени файла отличается в зависимости от платформы (например, .so для Unix и Unix-подобных систем, .dll для Windows).
Для загрузки плагина используйте параметр --early-plugin-load для указания имени библиотечного файла плагина, содержащего его. Например, на платформах, где суффикс библиотечного файла плагина равен .so, используйте эти строки в файле конфигурации сервера my.cnf, при необходимости подстраивая суффикс .so для вашей платформы:
[mysqld]
early-plugin-load=keyring_okv.so
Перед запуском сервера ознакомьтесь с заметками к выбранному плагину хранилища ключей для получения инструкций по конфигурации, специфичных для этого плагина:
После выполнения любой конфигурации, специфичной для плагина, запустите сервер. Проверьте установку плагина, просмотрев таблицу Справочника информации PLUGINS или используйте оператор SHOW PLUGINS (см. раздел 7.6.2 «Получение информации о плагинах сервера»). Например:
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+--------------+---------------+
| keyring_okv | ACTIVE |
+--------------+---------------+
Если плагин не удаётся инициализировать, проверьте журнал ошибок сервера на наличие диагностических сообщений.
Плагины могут быть загружены методами, отличными от --early-plugin-load, такими как параметр --plugin-load или --plugin-load-add, или оператор INSTALL PLUGIN. Однако плагины хранилища ключей, загруженные этими методами, могут быть недоступны слишком поздно в последовательности запуска сервера для определенных компонентов, использующих хранилище ключей, таких как InnoDB:
Загрузка плагинов с помощью параметра
--plugin-loadили--plugin-load-addпроисходит после инициализацииInnoDB.Плагины, установленные с помощью оператора
INSTALL PLUGIN, регистрируются в таблице системыmysql.pluginи автоматически загружаются при последующих перезапусках сервера. Однако, посколькуmysql.pluginявляется таблицейInnoDB, любые плагины, указанные в ней, могут быть загружены во время запуска только после инициализацииInnoDB.
Если компонент или плагин хранилища ключей недоступен, когда компонент пытается получить доступ к службе хранилища ключей, эта служба не может быть использована данным компонентом. В результате компонент может не пройти инициализацию или пройти с ограниченными функциями. Например, если InnoDB обнаружит зашифрованные табличные пространства при инициализации, он попытается получить доступ к хранилищу ключей. Если хранилище ключей недоступно, InnoDB может получить доступ только к незашифрованным табличным пространствам. Чтобы гарантировать, что InnoDB также может получить доступ к зашифрованным табличным пространствам, используйте --early-plugin-load для загрузки плагина хранилища ключей.
© 2025 Oracle
Licensed under the GPLv2 License.