Ошибка аутентификации MySQL GSSAPI с ошибкой «Доступ запрещен»MySql

Форум по Mysql
Ответить
Anonymous
 Ошибка аутентификации MySQL GSSAPI с ошибкой «Доступ запрещен»

Сообщение Anonymous »

Все запутанные части отмечены в [скобках].
У меня MySQL настроен в Rocky Linux v9.5 с MySQL Enterprise v9.1.0-1.1el9.Используя пробную версию MySQL Enterprise Edition, я пытаюсь настроить плагин GSSAPI и работать над аутентификацией учетных записей в нашем домене Active Directory. Я получаю стандартное сообщение «Доступ запрещен для пользователя»

Код: Выделить всё

[user]'@'[client host name]
' (с использованием пароля: НЕТ)"
Контекст:
  • Около года назад мне удалось заставить его работать для MariaDB, но из-за особых требований мы хотим перейти на MySQL, а для подключаемой аутентификации Kerberos требуется Enterprise Edition.
  • сервер — это область, присоединенная к домену Active Directory.
Я создал файл таблицы ключей на контроллере домена с помощью команды ktpass.exe /princ mysql/[server_hostname]@[realm_fqdn] /mapuser svc_mysql /pass [пароль учетной записи службы] /out mysql.keytab /crypto all / ptype KRB5_NT_PRINCIPAL /mapop set, затем поместил сгенерированный файл таблицы ключей в /var/mysql/data/

Код: Выделить всё

$ ls -l /var/mysql/data/
total 4
-rw-------. 1 mysql mysql 412 Jan 13 09:20 mysql.keytab
Вот содержимое /etc/my.cnf:

Код: Выделить всё

[client-server]
port = 3306
socket = /run/mysqld/mysqld.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

plugin-load-add=authentication_kerberos.so
authentication_kerberos_service_principal=mysql/[server_hostname]@[realm_fqdn]
authentication_kerberos_service_key_tab=/var/mysql/data/mysql.keytab

[mysql]
plugin_authentication_kerberos_client_mode=GSSAPI
Подтверждено, что плагин активен:

Код: Выделить всё

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
->        FROM INFORMATION_SCHEMA.PLUGINS
->        WHERE PLUGIN_NAME = 'authentication_kerberos';
+-------------------------+---------------+
| PLUGIN_NAME             | PLUGIN_STATUS |
+-------------------------+---------------+
| authentication_Kerberos | ACTIVE        |
+-------------------------+---------------+
1 row in set (0.00 sec)
Затем я создал пользователя с помощью:

Код: Выделить всё

CREATE USER [sAMaccountName]
IDENTIFIED WITH authentication_kerberos
BY '[realm_fqdn]';
При входе под этим пользователем на сервер возникает ошибка:

Код: Выделить всё

$ mysql
ERROR 1045 (28000): Access denied for user '[UPN]'@'localhost' (using password: NO)
Вот результат работы klist и kinit:

Код: Выделить всё

$ kinit [sAMAccountName]
Password for [UPN]:
$ klist
Ticket cache: KCM:1930002249:43752
Default principal: [UPN]
Valid starting       Expires              Service principal
01/13/2025 10:45:22  01/13/2025 20:45:22  krbtgt/[fqdn]@[fqdn]
renew until 01/20/2025 10:45:15
Мне не удалось найти более полезных или информативных ошибок, чем стандартная ошибка «Доступ запрещен».
У кого-нибудь есть какие-либо предложения по устранению неполадок или журналы потенциальных ошибок?

Подробнее здесь: https://stackoverflow.com/questions/793 ... nied-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»