8.4.4.3 Установка плагина keyring
Потребителям сервиса keyring требуется установка компонента или плагина keyring:
Для использования плагина keyring начните с инструкций здесь. (Также, для общей информации об установке плагинов, см. раздел 7.6.1, «Установка и удаление плагинов».)
Для использования компонента keyring начните с раздела 8.4.4.2, «Установка компонента keyring».
Если вы планируете использовать функции keyring совместно с выбранным компонентом или плагином keyring, установите функции после установки этого компонента или плагина, используя инструкции в разделе 8.4.4.13, «Функции управления ключами keyring общего назначения».
Одновременно должен быть активирован только один компонент или плагин keyring. Активация нескольких компонентов или плагинов keyring не поддерживается, и результаты могут отличаться от ожидаемых.
Компонент keyring должен быть активирован на экземпляре MySQL Server, если вам необходимо поддерживать безопасное хранение значений постоянных системных переменных, а не плагин keyring, который не поддерживает эту функцию. См. Сохранение конфиденциальных системных переменных.
MySQL предоставляет следующие варианты плагинов keyring:
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 при запуске сервера.
Компонент или плагин keyring должен загружаться на ранней стадии процесса запуска сервера, чтобы другие компоненты могли получить к нему доступ при необходимости во время собственной инициализации. Например, движок хранения InnoDB использует keyring для шифрования табличных пространств, поэтому компонент или плагин keyring должен быть загружен и доступен до инициализации InnoDB.
Установка каждого плагина keyring аналогична. Следующие инструкции описывают установку keyring_okv. Для использования другого плагина keyring, замените 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
Перед запуском сервера ознакомьтесь с примечаниями к выбранному плагину keyring для получения инструкций по конфигурации, специфичных для данного плагина:
После выполнения любой конфигурации, специфичной для плагина, запустите сервер. Проверьте установку плагина, изучив таблицу Information Schema 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. Однако, плагины keyring, загруженные с помощью этих методов, могут быть доступны слишком поздно в процессе запуска сервера для определенных компонентов, использующих keyring, таких как InnoDB:
Загрузка плагина с помощью
--plugin-loadили--plugin-load-addпроисходит после инициализацииInnoDB.Плагины, установленные с помощью
INSTALL PLUGIN, регистрируются в таблице системыmysql.pluginи автоматически загружаются при последующих перезапусках сервера. Однако, посколькуmysql.pluginявляется таблицейInnoDB, любые плагины, указанные в ней, могут загружаться только после инициализацииInnoDB.
Если компонент или плагин keyring недоступен, когда компонент пытается получить доступ к сервису keyring, этот сервис не может быть использован этим компонентом. В результате, компонент может не пройти инициализацию или пройти с ограниченными функциями. Например, если InnoDB обнаруживает зашифрованные табличные пространства во время инициализации, он пытается получить доступ к keyring. Если keyring недоступен, InnoDB может получить доступ только к незашифрованным табличным пространствам. Чтобы обеспечить доступ InnoDB и к зашифрованным табличным пространствам, используйте --early-plugin-load для загрузки плагина keyring.
© 2025 Oracle
Licensed under the GPLv2 License.