Плагин аутентификации — SHA-256
MySQL 5.6 добавил поддержку плагина аутентификации sha256_password, а MySQL 8.0 также добавил поддержку плагина аутентификации caching_sha2_password.
Плагин caching_sha2_password теперь является плагином по умолчанию для аутентификации в MySQL 8.0.4 и выше, в зависимости от значения системной переменной default_authentication_plugin.
Поддержка в MariaDB Server
MariaDB Server в настоящее время не поддерживает плагины аутентификации sha256_password и caching_sha2_password. Дополнительная информация доступна по ссылке MDEV-9804.
MariaDB Server не поддерживает ни один из этих плагинов аутентификации. Это в основном из-за:
- Для использования протокола необходимо распространить открытый ключ сервера всем пользователям MariaDB, что может быть неудобно и непрактично.
- Сервер получает пароль в открытом виде, что может вызвать проблемы, если пользователь убеждён в подключении к злонамеренному серверу.
Плагины аутентификации клиентов
Для клиентов, использующих библиотеку MariaDB Connector/C, MariaDB предоставляет два плагина аутентификации клиентов, совместимые с плагинами аутентификации SHA-256 MySQL:
-
sha256_password -
caching_sha256_password
При подключении с клиентом или утилитой к серверу в качестве учетной записи пользователя, которая аутентифицируется с помощью плагина sha256_password или caching_sha256_password, вам может потребоваться указать клиенту местоположение соответствующего плагина аутентификации клиента, указав параметр --plugin-dir. Например:
mysql --plugin-dir=/usr/local/mysql/lib64/mysql/plugin --user=alice
Для клиентов, использующих библиотеку MariaDB libmysqlclient вместо MariaDB Connector/C, эти плагины аутентификации клиентов не поддерживаются.
sha256_password
Плагин аутентификации клиентов sha256_password совместим с плагином аутентификации sha256_password MySQL, который был добавлен в MySQL 5.6.
caching_sha256_password
Плагин аутентификации клиентов caching_sha256_password совместим с плагином аутентификации caching_sha2_password MySQL, который был добавлен в MySQL 8.0.
Плагин caching_sha2_password теперь является плагином по умолчанию для аутентификации в MySQL 8.0.4 и выше, в зависимости от значения системной переменной default_authentication_plugin.
Поддержка в библиотеках клиентов
Использование плагина с MariaDB Connector/C
MariaDB Connector/C поддерживает аутентификацию sha256_password и caching_sha2_password с помощью плагинов аутентификации клиентов, упомянутых в предыдущем разделе.
Он поддерживает плагин аутентификации клиентов sha256_password с MariaDB Connector/C 3.0.2. Дополнительная информация доступна по ссылке CONC-229.
Он поддерживает плагин аутентификации клиентов caching_sha256_password с MariaDB Connector/C 3.0.8 и MariaDB Connector/C 3.1.0. Дополнительная информация доступна по ссылке CONC-312.
Использование плагина с MariaDB Connector/ODBC
MariaDB Connector/ODBC поддерживает аутентификацию sha256_password и caching_sha2_password с помощью плагинов аутентификации клиентов, упомянутых в предыдущем разделе.
Он поддерживает аутентификацию sha256_password и caching_sha2_password с MariaDB Connector/ODBC 3.1.4. Дополнительная информация доступна по ссылке ODBC-241.
Использование плагина с MariaDB Connector/J
MariaDB Connector/J поддерживает аутентификацию sha256_password и caching_sha2_password с MariaDB Connector/J 2.5.0. Дополнительная информация доступна по ссылкам CONJ-327 и CONJ-663.
Использование плагина с MariaDB Connector/Node.js
MariaDB Connector/Node.js поддерживает аутентификацию sha256_password и caching_sha2_password с MariaDB Connector/Node.js 2.5.0. Дополнительная информация доступна по ссылкам CONJS-76 и CONJS-77.
См. также
- MDEV-9804 содержит планы, которые могут быть использованы, если мы решим когда-нибудь поддержать эти протоколы.
- История протоколов аутентификации MySQL и MariaDB
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/authentication-plugin-sha-256/