Spec-Zone.ru › MySQL 5.7

6.4.4.1 Установка плагина keyring

Потребителям сервиса keyring необходимо установить плагин keyring. В данном разделе описано, как установить плагин keyring по вашему выбору. Также для общей информации об установке плагинов см. Раздел 5.5.1, «Установка и удаление плагинов».

Если вы планируете использовать функции keyring в сочетании с выбранным плагином keyring, установите функции после установки плагина, используя инструкции в Разделе 6.4.4.8, «Функции управления ключами keyring общего назначения».

Примечание

Должен быть включён только один плагин keyring за раз. Включение нескольких плагинов keyring не поддерживается, и результаты могут не соответствовать ожиданиям.

MySQL предоставляет следующие варианты плагинов keyring:

  • keyring_file: хранит данные keyring в файле, локальном для хоста сервера. Доступно в дистрибутивах MySQL Community Edition и MySQL Enterprise Edition.

  • keyring_encrypted_file: хранит данные keyring в зашифрованном, защищенном паролем файле, локальном для хоста сервера. Доступно в дистрибутивах MySQL Enterprise Edition.

  • keyring_okv: плагин KMIP 1.1 для использования с совместимыми с KMIP продуктами хранения ключей back-end, такими как Oracle Key Vault и Gemalto SafeNet KeySecure Appliance. Доступно в дистрибутивах MySQL Enterprise Edition.

  • keyring_aws: взаимодействует с Amazon Web Services Key Management Service в качестве back-end для генерации ключей и использует локальный файл для хранения ключей. Доступно в дистрибутивах MySQL Enterprise Edition.

Для использования плагином сервером, файл библиотеки плагина должен находиться в каталоге плагинов MySQL (каталог, указанный переменной системы plugin_dir). При необходимости, настройте расположение каталога плагинов, установив значение plugin_dir при запуске сервера.

Плагин keyring должен загружаться на ранней стадии процесса запуска сервера, чтобы компоненты могли получить к нему доступ по мере необходимости во время собственной инициализации. Например, хранилище InnoDB использует keyring для шифрования табличных пространств, поэтому плагин keyring должен быть загружен и доступен до инициализации InnoDB.

Установка каждого плагина keyring аналогична. Следующие инструкции описывают, как установить keyring_file. Чтобы использовать другой плагин keyring, замените его имя на keyring_file.

Базовое имя файла библиотеки плагина keyring_file - keyring_file. Расширение файла отличается в зависимости от платформы (например, .so для Unix и Unix-подобных систем, .dll для Windows).

Для загрузки плагина используйте опцию --early-plugin-load для указания имени файла библиотеки плагина, содержащего его. Например, на платформах, где расширение файла библиотеки плагина равно .so, используйте эти строки в файле сервера my.cnf, при необходимости корректируя расширение .so для вашей платформы:

[mysqld]
early-plugin-load=keyring_file.so
Важно

В MySQL 5.7.11 значение по умолчанию для --early-plugin-load - имя файла библиотеки плагина keyring_file, что приводит к его автоматической загрузке по умолчанию. В MySQL 5.7.12 и более поздних версиях значение по умолчанию для --early-plugin-load пустое; чтобы загрузить плагин keyring_file, необходимо явно указать опцию со значением, называющим файл библиотеки плагина keyring_file.

Шифрование табличного пространства InnoDB требует, чтобы используемый плагин keyring загружался до инициализации InnoDB, поэтому это изменение значения по умолчанию --early-plugin-load вносит несовместимость для обновлений с 5.7.11 до 5.7.12 или выше. Администраторы, у которых зашифрованы табличные пространства InnoDB, должны предпринять явные действия для обеспечения дальнейшей загрузки плагина keyring: запустите сервер с опцией --early-plugin-load, указывающей имя файла библиотеки плагина.

Перед запуском сервера ознакомьтесь с примечаниями к выбранному плагину keyring для получения инструкций по конфигурации, специфичных для этого плагина:

  • keyring_file: Раздел 6.4.4.2, «Использование плагина keyring_file, основанного на файлах keyring».

  • keyring_encrypted_file: Раздел 6.4.4.3, «Использование плагина keyring_encrypted_file, основанного на зашифрованных файлах keyring».

  • keyring_okv: Раздел 6.4.4.4, «Использование плагина keyring_okv KMIP».

  • keyring_aws: Раздел 6.4.4.5, «Использование плагина keyring_aws Amazon Web Services keyring»

После выполнения конфигурации, специфичной для плагина, запустите сервер. Проверьте установку плагина, просмотрев таблицу Information Schema PLUGINS или используйте оператор SHOW PLUGINS (см. Раздел 5.5.2, «Получение информации о плагинах сервера»). Например:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | 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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/keyring-plugin-installation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API