Spec-Zone.ru › MySQL 9.2

8.4.1.12 Тестовая подключаемая аутентификация

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

Исходный код тестового плагина отделен от исходного кода сервера, в отличие от встроенного плагина, поэтому он может служить относительно простым примером, демонстрирующим, как написать загружаемый плагин аутентификации.

Примечание

Этот плагин предназначен для целей тестирования и разработки и не предназначен для использования в производственных средах или на серверах, доступных в публичных сетях.

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

Таблица 8.27 Имена плагина и библиотеки для тестовой аутентификации

Таблица 8.27 Имена плагина и библиотеки для тестовой аутентификации
Плагин или файл Имя плагина или файла
Плагин на стороне сервера test_plugin_server
Плагин на стороне клиента auth_test_plugin
Файл библиотеки auth_test_plugin.so

В следующих разделах представлена информация об установке и использовании тестовой подключаемой аутентификации:

  • Установка тестовой подключаемой аутентификации

  • Удаление тестовой подключаемой аутентификации

  • Использование тестовой подключаемой аутентификации

Для получения общей информации о подключаемой аутентификации в MySQL см. Раздел 8.2.17, «Подключаемая аутентификация».

Установка тестовой подключаемой аутентификации

В этом разделе описывается, как установить тестовый плагин аутентификации на стороне сервера. Для получения общей информации об установке плагинов см. Раздел 7.6.1, «Установка и удаление плагинов».

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

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

[mysqld]
plugin-load-add=auth_test_plugin.so

После изменения my.cnf перезапустите сервер, чтобы новые настройки вступили в силу.

В качестве альтернативы, чтобы загрузить плагин во время выполнения, используйте это утверждение, скорректировав суффикс .so для вашей платформы, если необходимо:

INSTALL PLUGIN test_plugin_server SONAME 'auth_test_plugin.so';

INSTALL PLUGIN загружает плагин сразу и также регистрирует его в таблице системы mysql.plugins, чтобы заставить сервер загрузить его при каждом последующем обычном запуске без необходимости параметра --plugin-load-add.

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

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE '%test_plugin%';
+--------------------+---------------+
| PLUGIN_NAME        | PLUGIN_STATUS |
+--------------------+---------------+
| test_plugin_server | ACTIVE        |
+--------------------+---------------+

Если плагин не удается инициализировать, проверьте журнал ошибок сервера на наличие диагностических сообщений.

Чтобы связать учетные записи MySQL с тестовым плагином, см. Использование тестовой подключаемой аутентификации.

Удаление тестовой подключаемой аутентификации

Способ удаления тестового плагина аутентификации зависит от того, как вы его установили:

  • Если вы установили плагин при запуске сервера, используя параметр --plugin-load-add, перезапустите сервер без этого параметра.

  • Если вы установили плагин во время выполнения, используя оператор INSTALL PLUGIN, он остается установленным после перезапуска сервера. Чтобы удалить его, используйте оператор UNINSTALL PLUGIN:

    UNINSTALL PLUGIN test_plugin_server;
    
Использование тестовой подключаемой аутентификации

Для использования тестового плагина аутентификации создайте учетную запись и укажите имя плагина в предложении IDENTIFIED WITH:

CREATE USER 'testuser'@'localhost'
IDENTIFIED WITH test_plugin_server
BY 'testpassword';

Тестовый плагин аутентификации также требует создания прокси-пользователя следующим образом:

CREATE USER testpassword@localhost;
GRANT PROXY ON testpassword@localhost TO testuser@localhost;

Затем укажите параметры --user и --password для этой учетной записи при подключении к серверу. Например:

$> mysql --user=testuser --password
Enter password: testpassword

Плагин получает пароль, полученный от клиента, и сравнивает его со значением, хранящимся в столбце authentication_string строки учетной записи в таблице системы mysql.user. Если два значения совпадают, плагин возвращает значение authentication_string в качестве нового эффективного идентификатора пользователя.

Вы можете найти сообщение в журнале ошибок сервера, указывающее, была ли аутентификация успешной (обратите внимание, что пароль указан как “user”):

[Note] Plugin test_plugin_server reported:
'successfully authenticated user testpassword'

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/test-pluggable-authentication.html

Spec-Zone.ru

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