Настройка интеграции с Active Directory - Продукт Modus BI
Предполагается, что на данном этапе имеется сервер ОС Linux с установленным «1С:Предприятие», необходимой конфигурацией (в данном случае ETL) и используется Active Directory в качестве системы авторизации. Так же понадобится рабочая станция для настройки кластера сервера 1С.
Параметры сервера в примере: хост «srv-app01», входящий в домен «local.domain.name».
Настройка кластера сервера 1С:Предприятие
Настройка и управление кластером сервера «1С:Предприятие» производится из оснастки mmc «Администрирование серверов 1С:Предприятие».
Настройте «параметры рабочего сервера» как показано на рисунке ниже. Если параметры рабочего сервера не настроить, может появляться ошибка, поле входа нескольких пользователей.
Настройка Kerberos-аутентификации
Далее необходимо настроить Kerberos-аутентификацию сервера «1С:Предприятие».
Запустите утилиту ktpass в командной строке, она «свяжет» доменного пользователя с пользователем, от имени которого работает сервер «1С:Предприятие»:
C:\>ktpass -princ usr1cv8/srv-app01.local.domain.ru@local.domain.ru -mapuser usr1cv8x -pass <пароль> -out usr1cv8.keytab
Где укажите:
- usr1cv8/srv-app01.local.domain.ru — стандартное имя службы. Оно включает в себя имя локального пользователя, от имени которого на центральном сервере кластера запускается сервер «1С:Предприятие» (usr1cv8).
- usr1cv8x, указываемое в параметре mapuser — имя доменного пользователя, которого мы создали.
- pass — в параметре передается пароль доменной учетной записи usr1cv8x.
- out — в параметре указывается имя файла с ключом. В нашем случае это usr1cv8.keytab.
После выполнения будет создан файл usr1cv8.keytab в текущей директории (в данном случае корень диска C:), а с пользователем usr1cv8x будет ассоциировано имя участника службы usr1cv8/srv-app01.local.domain.ru.
- Настройка контроллера домена:
- Имя сервера, в данном случае «srv-app01», обязательно должно разрешаться DNS-сервером, соответственно нужно добавить нужную запись в DNS-сервер.
- Создать в домене учетную запись пользователя, с которой будут ассоциироваться запросы авторизации к серверу 1С:Предприятие. Имя может быть произвольное. В качестве примера данном случае это пользователь usr1cv8x. В свойствах этой учетной записи на вкладке «Учётная запись» в списке «Параметры учётной записи» нужно убрать флаг напротив «Использовать типы шифрования DES …».
- Для пользователя usr1cv8x следует сгенерировать файл с секретным ключом на компьютере с ОС Windows. Для этого используется утилита ktpass, входящая в состав в пакета Windows Support Tools.
- usr1cv8/srv-app01.local.domain.ru — это стандартное имя службы. Оно включает в себя имя локального пользователя, от имени которого на центральном сервере кластера запускается сервер «1С:Предприятие» (usr1cv8).
- usr1cv8x, указываемое в параметре mapuser, — это имя доменного пользователя, которого мы создали.
- pass — в параметре передаётся пароль доменной учётной записи usr1cv8x.
- out — в параметре указывается имя файла с ключом. В нашем случае это usr1cv8.keytab.
- Настройка центрального сервера кластера «1С:Предприятие»:
На сервере «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 на центральный сервер кластера «1С:Предприятия» в директорию, где установлен сервер «1С:Предприятие» (по умолчанию это /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 …
После успешной настройки сервер кластера «1С:Предприятия» способен обрабатывать запросы на аутентификацию.
- Настройка пользователей в информационных БД «1С:Предприятие»
Для настройки пользователей в конфигурации 1С (в данном случае Модуль ETL) запускаем ETL под Администратором и переходим в меню «Администрирование/ Настройка пользователей и прав/ Пользователи».
Выбираем нужного пользователя, в карточке пользователя снимаем флаг «Аутентификация 1С:Предприятия» и ставим напротив «Аутентификация операционной системы». Выбираем «Домен» и соответствующего пользователя:
Повторяем для всех пользователей ИБ.
Настройка завершена.