Приложение 1. Пример настройки СУБД ЛИНТЕР для идентификации и аутентификации по Kerberos-протоколу
В примере используется программное средство Active Directory.
Исходные данные:
-
Kerberos-сервер и ядро СУБД ЛИНТЕР находятся на одном компьютере с ОС Windows с адресом win-server.windows.server;
-
клиентские приложения – на компьютерах под управлением ОС Linux и Windows.
Порядок настройки:
-
на сервере c Active Directory зарегистрировать с помощью программного средства SPN имя сервиса для того пользователя, от имени которого будет проверяться служба ядра СУБД ЛИНТЕР kerberos:
setspn -A LINTER/win-server.windows.server test
где:
test
– имя пользователя домена;LINTER
– имя сервиса (в данном примере используется LINTER, в общем случае может быть произвольным);win-server.windows.server
– адрес компьютера, на котором будет запускаться ядро СУБД ЛИНТЕР (в данном примере это компьютер с именем WIN-SERVER в домене WINDOWS.SERVER); -
на компьютере, где будет запускаться ядро СУБД ЛИНТЕР, создать переменную окружения, задающую имя зарегистрированного на предыдущем шаге сервиса:
LINTER_KRB_SERVICE="LINTER/win-server.windows.server"
Запустить ядро СУБД ЛИНТЕР.
Запуск может быть также осуществлен без установки переменной окружения. В этом случае имя сервиса передается в командной строке. Например:linter64 /tcp /KRBSRVC=LINTER/win-server.windows.server /base=c:\linter\db\DEMO
Запуск должен производится от администратора.
Имена пользователей в БД Active Directory должны совпадать с именами пользователей в БД СУБД ЛИНТЕР; -
создать в БД ЛИНТЕР пользователя с режимом идентификации и аутентификации по Kerberos-протоколу и тем же именем, что и в БД Kerberos-сервера:
inl -u SYSTEM/MANAGER8 > CREATE USER "test" IDENTIFIED BY KRB; > CREATE USER "user" IDENTIFIED BY KRB;
-
на Linux-клиентах изменить (или сгенерировать заново) файл
/etc/krb5.conf
так, чтобы в качестве REALM выступал Windows-домен (в данном примере это WINDOWS.SERVER), а в качестве KDC и admin-server – адрес компьютера с сервером Active Directory (в данном примере это win-server.windows.server).После этого Kerberos-тикет можно получить с помощью программы kinit:
kinit
-
на компьютере с Windows-клиентом подключиться к Active Directory домену. Для этого в настройках сетевых подключений в качестве DNS-адреса должен быть указан IP-адрес компьютера с Active Directory (после этого можно изменить домен в свойствах компьютера на WINDOWS.SERVER);
-
на Windows-клиенте для доступа к Kerberos-серверу ввести имя и пароль из БД Active Directory, выбрав домен WINDOWS.SERVER. Kerberos-тикет в этом случае будет получен на этапе соединения с СУБД ЛИНТЕР;
-
клиентские Linux и Windows приложения готовы к идентификации и аутентификации по Kerberos-протоколу. Для доступа к СУБД ЛИНТЕР по Kerberos-протоколу необходимо указать пустые имя и пароль пользователя. Доступ к СУБД ЛИНТЕР будет предоставлен тому пользователю, который указан в полученном от Kerberos-сервера на предыдущем шаге Kerberos-тикете.