Интеграция OTRS v4 с Active Directory

1 Интеграция OTRS v4 с Active Directory

Данное руководство предназначено для случая, когда уже есть настроенный сервер с установленной OTRS. Подробное руководство об установке OTRS v4 в Windows-среде можно прочитать в данной статье.

Прежде чем интегрировать OTRS с Active Directory, нужно определиться с учетными записями и их ролью. Нам понадобятся следующие учетные записи:

  • агент – специалист службы технической поддержки;
  • root-пользователь (очень важный момент – логин и пароль учетной записи root-пользователя должны совпадать с логином и паролем учетной записи администратора в OTRS);
  • собственно, пользователь OTRS, который будет обращаться за технической поддержкой;
  • учетная запись для чтения каталога Active Directory.

В качестве аналога в Active Directory для учетной записи root@localhost будем использовать учетную запись “Admin OTRS” с логином “root”.

В оснастке Active Directory Users and Computers создадим нового пользователя.

2 Интеграция OTRS v4 с Active Directory

При создании учетной записи не забываем снять галочку «Требовать смены пароля при следующем входе в систему».

3 Интеграция OTRS v4 с Active Directory4 Интеграция OTRS v4 с Active Directory

Предполагаем, что учетные записи для специалиста службы технической поддержки и для пользователя уже существуют. Если нет – создаем их по аналогии.

ВАЖНО: у всех пользователей должен существовать адрес электронной почты. Это обязательное условие для всех пользователей OTRS.

В данном примере все специалисты технической поддержки, которые будут работать в OTRS, будут членами группы OTRSagents. Это важный момент при разграничении доступа в системе.

Создаем группу OTRSagents в оснастке Active Directory Users and Computers.

5 Интеграция OTRS v4 с Active Directory

Область действия группы – Глобальная. Тип группы – Безопасность.

6 Интеграция OTRS v4 с Active Directory

Делаем членами группы ранее созданную учетную запись администратора OTRS (с логином root) и нужных специалистов технической поддержки.

7 Интеграция OTRS v4 с Active Directory

Также важно иметь учетную запись с правами пользователя, которая будет использоваться системой OTRS для чтения каталога Active Directory. Для удобства срок действия пароля данной учетной записи должен быть не ограничен.

8 Интеграция OTRS v4 с Active Directory

Переходим по ссылке http://localhost/otrs/index.pl и авторизуемся под учетной записью root@localhost.

9 Интеграция OTRS v4 с Active Directory

Далее переходим на вкладку Администрирование, Управление агентами, Агенты.

10 Интеграция OTRS v4 с Active Directory

Выбираем учетную запись root@localhost.

11 Интеграция OTRS v4 с Active Directory

Вносим изменения. Важно помнить, что логин и пароль от данной учетной записи должны совпадать с логином и паролем учетной записи Admin OTRS (логин root), созданной нами в Active Directory.

Меняем логин root@localhost на root, соответственно меняем пароль. Устанавливаем адрес электронной почты в поле Email (в данном примере testdomain помимо прочего выполняет роль почтового сервера). Нажимаем кнопку Отправить.

12 Интеграция OTRS v4 с Active Directory

Последний шаг – редактирование файла OTRSHOMEDIR$\Kernel\Config.pm.

В данном примере:

  • Домен test.testdomain.ru
  • IP контроллера домена — 10.0.0.11
  • Учетная запись для чтения Active Directory- helpdesk@test.testdomain.ru с паролем Qwerty
  • Группа агентов OTRS – OTRSagents в контейнере Users.

Приведенную ниже конфигурацию вставляем после строки «insert your own config settings «here»».

 

# insert your own config settings "here" #
#-------------------LDAP-----------------#
$Self->{'DefaultCharset'} = 'utf-8';
# задействуем LDAP аутентификацию для бэкэнд агентов
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '10.0.0.11';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=test, dc= testdomain,dc=ru';

$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
# проверка, присутствует ли пользователь в группе, если да, то доступ в OTRS разрешен
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRSagents,cn=Users,dc=test,dc=testdomain,dc=ru';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'helpdesk@test.testdomain.ru';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Qwerty123';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
},
# Agent data sync against LDAP
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '10.0.0.11';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=test, dc=testdomain,dc=ru';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'helpdesk@test.testdomain.ru';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Qwerty123';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
#
# Authenticate customer users against an LDAP backend #
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP'; #LDAP
$Self->{'Customer::AuthModule::LDAP::Host'} ='10.0.0.11';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=test, dc=testdomain,dc=ru';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'helpdesk@test.testdomain.ru';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Qwerty123';

$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '10.0.0.11',
BaseDN => 'dc=test, dc=testdomain,dc=ru',
SSCOPE => 'sub',
UserDN => 'helpdesk@ test.testdomain.ru',
UserPw => 'Qwerty123',
AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
ReadOnly => 1,
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['givenname', 'sn', 'mail'],
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['displayName','sAMAccountName','givenName', 'sn', 'mail','description'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 10000,
CustomerUserPostMasterSearchFields => ['displayName','sAMAccountName','givenName','sn','mail','description'],
CustomerUserNameFields => ['givenname', 'sn'],
#     CustomerUserExcludePrimaryCustomerID => 0,
CacheTTL => 120,
Map => [
#         [ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ 'UserFirstname', 'Firstname', 'givenName', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
#         [ 'UserPhone', 'Phone', 'telephoneNumber', 1, 0, 'var' ],
#         [ 'UserAddress', 'Address', 'postalAddress', 1, 0, 'var' ],
#         [ 'UserStreet', 'Street', 'streetAddress', 1, 0, 'var' ],
#         [ 'UserCity', 'City', 'l', 1, 0, 'var' ],
#         [ 'UserZip', 'ZIP', 'postalCode', 1, 0, 'var' ],
#         [ 'UserCountry', 'Country', 'co', 1, 0, 'var' ],
#         [ 'UserComment', 'Comment', 'wWWHomePage', 1, 0, 'var' ],
],
};
#--------------------------------------------

 

 

 

Сохраняем изменения в файл, перезапускаем службу Apache. Если есть проблемы, то служба не стартанет. Читаем логи (OTRSHomeDir\var\log) и исправляем ошибки.

 

Переходим по ссылке http://localhost/otrs/index.pl для агента. Не забываем проверить и учетную запись root. Также переходим по ссылке http://localhost/otrs/customer.pl, заходим по учетной записью простого пользователя.

13 Интеграция OTRS v4 с Active Directory

Все работает!

Настройка интеграции OTRS с активным деревом завершена.

В следующей статье я расскажу о настройке сквозной аутентификации.

2 thoughts on “Интеграция OTRS v4 с Active Directory

  1. Уведомление: Настройка сквозной авторизации OTRS (Single Sign On) | rakhimov

  2. Уведомление: Настройка OTRS | rakhimov

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.