Настройка интеграции с Active Directory

 

Предполагается, что на данном этапе имеется сервер ОС Linux с установленным «:Предприятие»,  необходимой конфигурацией (в данном случае ETL)  и используется Active Directory в качестве системы авторизации. Так же понадобится рабочая станция для настройки кластера сервера .

Параметры сервера в примере: хост «srv-app01», входящий в домен «local.domain.name».

Настройка кластера сервера :Предприятие

Настройка и управление кластером сервера «:Предприятие» производится из оснастки mmc «Администрирование серверов :Предприятие».
Настройте «параметры рабочего сервера» как показано на рисунке ниже. Если параметры рабочего сервера не настроить, может появляться ошибка, поле входа нескольких пользователей.

Настройка Kerberos-аутентификации

Далее необходимо настроить Kerberos-аутентификацию сервера «:Предприятие».

Запустите утилиту ktpass в командной строке, она «свяжет» доменного пользователя с пользователем, от имени которого работает сервер «:Предприятие»:

C:\>ktpass -princ usr1cv8/srv-app01.local.domain.ru@local.domain.ru -mapuser usr1cv8x -pass <пароль> -out usr1cv8.keytab

Где укажите:

  • usr1cv8/srv-app01.local.domain.ru — стандартное имя службы. Оно включает в себя имя локального пользователя, от имени которого на центральном сервере кластера запускается сервер «:Предприятие» (usr1cv8).
  • usr1cv8x, указываемое в параметре mapuser — имя доменного пользователя, которого мы создали.
  • pass — в параметре передается пароль доменной учетной записи usr1cv8x.
  • out — в параметре указывается имя файла с ключом. В нашем случае это usr1cv8.keytab.

После выполнения будет создан файл usr1cv8.keytab в текущей директории (в данном случае корень диска C:), а с пользователем usr1cv8x будет ассоциировано имя участника службы usr1cv8/srv-app01.local.domain.ru.

  1. Настройка контроллера домена:
    • Имя сервера, в данном случае «srv-app01», обязательно должно разрешаться DNS-сервером, соответственно нужно добавить нужную запись в DNS-сервер.
    • Создать в домене учетную запись пользователя, с которой будут ассоциироваться запросы авторизации к серверу :Предприятие. Имя может быть произвольное. В качестве примера данном случае это пользователь usr1cv8x. В свойствах этой учетной записи на вкладке «Учётная запись» в списке «Параметры учётной записи» нужно убрать флаг напротив «Использовать типы шифрования DES …».
    • Для пользователя usr1cv8x следует сгенерировать файл с секретным ключом на компьютере с ОС Windows. Для этого используется утилита ktpass, входящая в состав в пакета Windows Support Tools.
    • usr1cv8/srv-app01.local.domain.ru — это стандартное имя службы. Оно включает в себя имя локального пользователя, от имени которого на центральном сервере кластера запускается сервер «:Предприятие» (usr1cv8).
    • usr1cv8x, указываемое в параметре mapuser, — это имя доменного пользователя, которого мы создали.
    • pass — в параметре  передаётся пароль доменной учётной записи usr1cv8x.
    • out — в параметре указывается имя файла с ключом. В нашем случае это usr1cv8.keytab.
  2. Настройка центрального сервера кластера «:Предприятие»:

    На сервере «srv-app01» проверяем работу системы аутентификации. С помощью команды kinit <имя>, где имя — это имя произвольного пользователя, зарегистрированного в домене.  Если программа не выдаст никаких сообщений, значит, всё хорошо:

    # kinit <имя> 
    Password for <имя>@local.domain.ru:
    #

    Проверяем, что все правильно, выполнив команду klist (список кэшированных билетов Kerberos):

    # klist
    Ticket cache: KEYRING:persistent:20001:krb_ccache_532ruYi
    Default principal: <имя>@local.domain.ru
    Valid starting       Expires              Service principal
    <………>
    #

    После выполнения мы получим «ticket-granting ticket». После этого следует с помощью команды kdestroy очистить локальный кэш тикетов, чтобы вернуться в исходное состояние:

    # kdestroy
    #

    Далее копируем файл с секретным ключом usr1cv8.keytab на центральный сервер кластера «:Предприятия» в директорию, где установлен сервер «:Предприятие» (по умолчанию это /opt/1C/v8.3/x86_64), и установить права и владельца файла с помощью команд:

    # cd /opt/1C/v8.3/x86_64
    # chown usr1cv8:grp1cv8 usr1cv8.keytab
    # chmod 600 usr1cv8.keytab

    Проверяем с помощью команды klist, всё ли правильно.

    # klist -e -k -t /opt/1C/v8.3/x86_64/usr1cv8.keytab
    Keytab name: FILE:/opt/1C/v8.3/x86_64/usr1cv8.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       1 01.01.1970 00:00:00 usr1cv8/srv-app01.local.domain.ru@local.domain.ru (arcfour-hmac)

    В колонке Principal должно быть указано имя службы, которое мы задавали. И правильное шифрование (arcfour-hmac для RC4-HMAC).
    Дальше нужно проверить возможность работы Kerberos без пароля с использованием секретного ключа. Используем команду kinit, указываем, что надо использовать информацию из файла

    «/opt/1C/v8.3/x86_64/usr1cv8.keytab» и прочитать оттуда ключ для сервиса «usr1cv8/srv-app01.local.domain.ru@local.domain.ru». В результате не должно быть никаких сообщений и запросов паролей.
    # kinit -k -t /opt/1C/v8.3/x86_64/usr1cv8.keytab usr1cv8/srv-app01.local.domain.ru@local.domain.ru
    #

    Далее выполняем команду klist, в результате отобразится примерно следующее:

    # klist
    Ticket cache: KEYRING:persistent:20001:krb_ccache_d9U38xU
    Default principal: usr1cv8/srv-app01.local.domain.ru@local.domain.ru
     
    Valid starting       Expires              Service principal
    14.12.2024 06:18:23  15.12.2024 02:18:23  krbtgt/local.domain.ru@local.domain.ru renew until …
    #

    Если есть ошибки, тогда получим примерно следующее:

    klist: No credentials cache found
    …
    klist: You have no tickets cached
    …

    После успешной настройки  сервер кластера «:Предприятия» способен обрабатывать запросы на аутентификацию.

  3. Настройка пользователей в информационных БД «:Предприятие»

    Для настройки пользователей в конфигурации (в данном случае Модуль ETL) запускаем ETL под Администратором и переходим в меню «Администрирование/ Настройка пользователей и прав/ Пользователи».

    Выбираем нужного пользователя, в карточке пользователя снимаем флаг «Аутентификация :Предприятия» и ставим напротив «Аутентификация операционной системы». Выбираем «Домен» и соответствующего пользователя:

    Повторяем для всех пользователей ИБ.

Настройка завершена.