Приложение 1. Пример настройки СУБД ЛИНТЕР для идентификации и аутентификации по Kerberos-протоколу

В примере используется программное средство Active Directory.

Исходные данные:

  • Kerberos-сервер и ядро СУБД ЛИНТЕР находятся на одном компьютере с ОС Windows с адресом win-server.windows.server;

  • клиентские приложения – на компьютерах под управлением ОС Linux и Windows.

Порядок настройки:

  1. на сервере c Active Directory зарегистрировать с помощью программного средства SPN имя сервиса для того пользователя, от имени которого будет проверяться служба ядра СУБД ЛИНТЕР kerberos:

    setspn -A LINTER/win-server.windows.server test

    где:

    test – имя пользователя домена;

    LINTER – имя сервиса (в данном примере используется LINTER, в общем случае может быть произвольным);

    win-server.windows.server – адрес компьютера, на котором будет запускаться ядро СУБД ЛИНТЕР (в данном примере это компьютер с именем WIN-SERVER в домене WINDOWS.SERVER);

  2. на компьютере, где будет запускаться ядро СУБД ЛИНТЕР, создать переменную окружения, задающую имя зарегистрированного на предыдущем шаге сервиса:

    LINTER_KRB_SERVICE="LINTER/win-server.windows.server"

    Запустить ядро СУБД ЛИНТЕР.
    Запуск может быть также осуществлен без установки переменной окружения. В этом случае имя сервиса передается в командной строке. Например:

    linter64 /tcp /KRBSRVC=LINTER/win-server.windows.server
              /base=c:\linter\db\DEMO
          

    Запуск должен производится от администратора.
    Имена пользователей в БД Active Directory должны совпадать с именами пользователей в БД СУБД ЛИНТЕР;

  3. создать в БД ЛИНТЕР пользователя с режимом идентификации и аутентификации по Kerberos-протоколу и тем же именем, что и в БД Kerberos-сервера:

    inl -u SYSTEM/MANAGER8
     > CREATE USER "test" IDENTIFIED BY KRB;
     > CREATE USER "user" IDENTIFIED BY KRB;

  4. на Linux-клиентах изменить (или сгенерировать заново) файл /etc/krb5.conf так, чтобы в качестве REALM выступал Windows-домен (в данном примере это WINDOWS.SERVER), а в качестве KDC и admin-server – адрес компьютера с сервером Active Directory (в данном примере это win-server.windows.server).

    После этого Kerberos-тикет можно получить с помощью программы kinit:

    kinit

  5. на компьютере с Windows-клиентом подключиться к Active Directory домену. Для этого в настройках сетевых подключений в качестве DNS-адреса должен быть указан IP-адрес компьютера с Active Directory (после этого можно изменить домен в свойствах компьютера на WINDOWS.SERVER);

  6. на Windows-клиенте для доступа к Kerberos-серверу ввести имя и пароль из БД Active Directory, выбрав домен WINDOWS.SERVER. Kerberos-тикет в этом случае будет получен на этапе соединения с СУБД ЛИНТЕР;

  7. клиентские Linux и Windows приложения готовы к идентификации и аутентификации по Kerberos-протоколу. Для доступа к СУБД ЛИНТЕР по Kerberos-протоколу необходимо указать пустые имя и пароль пользователя. Доступ к СУБД ЛИНТЕР будет предоставлен тому пользователю, который указан в полученном от Kerberos-сервера на предыдущем шаге Kerberos-тикете.