8
Feb
2016
1

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

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

Подробно о том, как установить OTRS на Ubuntu Server, вы можете прочитать в моем руководстве «Установка OTRS на Ubuntu Server». Узнать о том, как настроить OTRS, вы можете прочитав мое руководство «Настройка OTRS». Также в моем руководстве «Установка Active Directory Domain Services на Windows Server 2012 R2» вы можете прочитать о том, как установить Active Directory Domain Services на Windows Server 2012.

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

Обратите внимание, логин и пароль учетной записи администратора OTRS в Active Directory должен совпадать с логином и паролем учетной записи администратора в OTRS.

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

Переходим на контроллер домена и запускаем Active Directory Users and Computers.

Нажимаем правой кнопкой мыши по организационной единице “Users”. Далее выбираем “New”, затем “User”.

integratsiya-otrs-s-active-directory-1

Указываем имя, фамилию и логин для нового администратора OTRS.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-2

Далее необходимо указать пароль для нового администратора OTRS.

Снимаем галочку с пункта “User must change password at next logon”.

Ставим галочку на пункте “Password never expires”.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-3

Нажимаем кнопку “Finish”.

integratsiya-otrs-s-active-directory-4

Теперь необходимо создать учетную запись для специалиста по технической поддержке пользователей.

В данном примере в качестве учетной записи специалиста будет использоваться учетная запись “Alexander Pushkin” с логином “apushkin”.

Нажимаем правой кнопкой мыши по организационной единице “Users”. Далее выбираем “New”, затем “User”.

integratsiya-otrs-s-active-directory-5

Указываем имя, фамилию и логин для нового специалиста OTRS.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-6

Далее необходимо указать пароль для нового специалиста OTRS.

Снимаем галочку с пункта “User must change password at next logon”.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-7

Нажимаем кнопку “Finish”.

integratsiya-otrs-s-active-directory-8

Теперь необходимо указать адрес электронной почты для нового специалиста OTRS. Присутствие электронного адреса в учетных записях Active Directory является обязательным условием для интеграции OTRS с Active Directory.

Находим новую учетную запись специалиста OTRS и нажимаем по нему правой кнопкой мыши.

Далее выбираем “Properties”.

integratsiya-otrs-s-active-directory-9

В поле “E-mail” указываем электронный адрес для специалиста OTRS.

Нажимаем на кнопку “OK”.

integratsiya-otrs-s-active-directory-10

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

В данном примере будет использоваться название группы “OTRSagents”.

Нажимаем правой кнопкой мыши по организационной единице “Users”. Далее выбираем “New”, затем “Group”.

integratsiya-otrs-s-active-directory-11

Далее необходимо указать имя для новой группы OTRS.

В разделе “Group scope” выбираем “Global”.

В разделе “Group type” выбираем “Security”.

Нажимаем на кнопку “OK”.

integratsiya-otrs-s-active-directory-12

Теперь необходимо добавить в группу ранее созданную учетную запись администратора OTRS и специалиста OTRS.

Находим новую группу и нажимаем по ней правой кнопкой мыши.

Далее выбираем “Properties”.

integratsiya-otrs-s-active-directory-13

В свойствах группы переходим на вкладку “Members”.

Нажимаем на кнопку “Add”.

integratsiya-otrs-s-active-directory-14

Указываем логины ранее созданных в Active Directory пользователей и нажимаем на кнопку “Check Names”.

Нажимаем на кнопку “OK”.

integratsiya-otrs-s-active-directory-15

Нажимаем на кнопку “OK”.

integratsiya-otrs-s-active-directory-16

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

В данном примере в качестве учетной записи пользователя, который будет обращаться за поддержкой, будет использоваться учетная запись “Tatyana Larina” с логином “tlarina”.

Нажимаем правой кнопкой мыши по организационной единице “Users”. Далее выбираем “New”, затем “User”.

integratsiya-otrs-s-active-directory-17

Указываем имя, фамилию и логин для нового пользователя OTRS.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-18

Далее необходимо указать пароль для нового пользователя OTRS.

Снимаем галочку с пункта “User must change password at next logon”.

Нажимаем на кнопку “Next”.

integratsiya-otrs-s-active-directory-19

Нажимаем кнопку “Finish”.

integratsiya-otrs-s-active-directory-20

Теперь необходимо указать адрес электронной почты для нового пользователя OTRS. Присутствие электронного адреса в учетных записях Active Directory является обязательным условием для интеграции OTRS с Active Directory.

Находим новую учетную запись пользователя OTRS и нажимаем по нему правой кнопкой мыши.

Далее выбираем “Properties”.

integratsiya-otrs-s-active-directory-21

В поле “E-mail” указываем электронный адрес для пользователя OTRS.

Нажимаем кнопку “OK”.

integratsiya-otrs-s-active-directory-22

Теперь необходимо с рабочей станции перейти по ссылке http://10.77.2.31/otrs/index.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS.

Подробно о том, как установить Ubuntu Server 15.10, вы можете прочитать в моем руководстве «Установка Ubuntu Server 15.10». Узнать о том, как установить OTRS на Ubuntu Server, вы можете прочитав мое руководство «Установка OTRS на Ubuntu Server».

Для авторизации, вам нужно воспользоваться стандартным логином – root@localhost и паролем, который был выдан после установки OTRS.

Нажимаем на кнопку “Login”.

integratsiya-otrs-s-active-directory-23

После успешной авторизации в OTRS перейдите на вкладку “Admin”.

integratsiya-otrs-s-active-directory-24

На вкладке “Admin” находим раздел “Agent Management”.

Нажимаем на кнопку “Agents”.

integratsiya-otrs-s-active-directory-25

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

integratsiya-otrs-s-active-directory-26

Обратите внимание, логин и пароль учетной записи администратора OTRS в Active Directory должен совпадать с логином и паролем учетной записи администратора в OTRS.

Меняем логин “root@localhost” на “root”, в соответствии с тем логином, который вы указали для учетной записи администратора OTRS в Active Directory. В поле “Пароль” необходимо указать пароль, который вы указали для учетной записи администратора OTRS в Active Directory. Затем в поле “Email” укажите адрес электронной почты администратора OTRS.

Нажимаем кнопку “Submit”.

integratsiya-otrs-s-active-directory-27

Вернувшись в раздел “Управление агентами” можно увидеть измененную учетную запись администратора OTRS.

integratsiya-otrs-s-active-directory-28

Теперь необходимо отредактировать файл “Config.pm” на сервере OTRS.

Для этого необходимо подключиться к серверу OTRS по протоколу SSH.

В данном руководстве для подключения к серверу по SSH будет использоваться программа PuTTY.

Подробнее о том, как установить PuTTY вы можете прочитать в моем руководстве «Подключение к серверу по SSH при помощи PuTTY»

Запускаем PuTTY и в поле “Host Name (or IP address)” указываем IP-адрес сервера и нажимаем на кнопку “Open”.

integratsiya-otrs-s-active-directory-29

Далее необходимо подтвердить доверие серверу, к которому мы подключаемся.

Нажимаем на кнопку “Yes”.

integratsiya-otrs-s-active-directory-30

Далее необходимо авторизоваться на сервере.

integratsiya-otrs-s-active-directory-31

Получим полноценные права.

Выполняем команду «sudo su» и вводим пароль.

integratsiya-otrs-s-active-directory-32

Выполняем команду «nano /opt/otrs/Kernel/Config.pm».

integratsiya-otrs-s-active-directory-33

Обратите внимание, в данном руководстве настройка производится для домена vmkh.org. Для авторизации в домене используется учетная запись администратора OTRS, ранее созданная в Active Directory. Пароль для учетной записи администратора OTRS – “R111111r”.

Присутствие электронного адреса в учетных записях Active Directory является обязательным условием для интеграции OTRS с Active Directory.

Учетные записи специалистов OTRS должны быть участниками группы “OTRSagents”, которая была создана ранее в Active Directory.

Учетные записи пользователей OTRS, которые будут обращаться за поддержкой, должны находиться в контейнере “Users”.

IP-адрес контроллера домена – 10.77.2.10.

Загрузить файл с конфигурацией можно перейдя по ссылке.

Находим строку “Insert your own config settings” и под ней вставляем приведенную ниже конфигурацию.

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '10.77.2.10';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=vmkh,dc=org';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRSagents,cn=Users,dc=vmkh,dc=org';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'root@vmkh.org';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'R111111r';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
};

$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '10.77.2.10';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=vmkh, dc=org';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'root@vmkh.org';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'R111111r';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {

DB -> LDAP

UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users', 'basic_admin',
];

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '10.77.2.10';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=vmkh,dc=org';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'root@vmkh.org';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'R111111r';
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '10.77.2.10',
BaseDN => 'DC=vmkh,DC=org',
SSCOPE => 'sub',
UserDN =>'root@vmkh.org',
UserPw => 'R111111r',
AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},

CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 10000,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [

note: Login, Email and CustomerID needed!

#[ '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' ],
#[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
],
};

integratsiya-otrs-s-active-directory-34

integratsiya-otrs-s-active-directory-35

integratsiya-otrs-s-active-directory-36

Для того чтобы сохранить изменения в файле “Config.pm” нажимаем “Ctrl+X”.

Теперь необходимо подтвердить сохранение изменений.

Нажимаем на кнопку “y”.

integratsiya-otrs-s-active-directory-37

Нажимаем на кнопку “Enter”.

integratsiya-otrs-s-active-directory-38

Теперь с рабочей станции переходим по ссылке http://10.77.2.31/otrs/index.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS.

Указываем логин и пароль администратора OTRS, ранее созданного в Active Directory.

Нажимаем на кнопку “Login”.

integratsiya-otrs-s-active-directory-39

После успешной авторизации вы увидите главную страницу OTRS.

integratsiya-otrs-s-active-directory-40

Теперь с рабочей станции переходим по ссылке http://10.77.2.31/otrs/index.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS.

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

Нажимаем на кнопку “Login”.

integratsiya-otrs-s-active-directory-41

После успешной авторизации вы увидите главную страницу, на которой в дальнейшем будут видны заявки с разными статусами. Настройка системы под конкретные задачи будут подробно рассматриваться в руководстве «Настройка OTRS».

integratsiya-otrs-s-active-directory-42

Теперь с рабочей станции переходим по ссылке http://10.77.2.31/otrs/customer.pl, где 10.77.2.31 – IP-адрес моего сервера. Соответственно вам необходимо указать IP-адрес вашего сервера OTRS.

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

Нажимаем на кнопку “Login”.

integratsiya-otrs-s-active-directory-43

После успешной авторизации вы увидите главную страницу личного кабинета пользователя OTRS.

integratsiya-otrs-s-active-directory-44

Настройка интеграции OTRS с Active Directory успешно завершена

4 Responses

  1. Алексей

    Здравствуйте!
    У меня небольшой вопрос. Я хочу использовать в качестве CustomerID поле ‘description’ вместо ‘mail’.
    Нужно ли при этом что-то менять в коде кроме CustomerID => ‘description’ и [ ‘UserCustomerID’, ‘CustomerID’, ‘description’, 0, 1, ‘var’ ]?
    И что произойдет, если у какого-то из пользователей это поле в AD не заполнено?

  2. Fedor

    Добрый день!
    Спасибо за статью! Я воспользовался этими настройками и действительно все пользователи otrs берутся из AD. Однако есть несколько вопросов:
    1. как теперь авторизоваться учетной записью созданной в otrs, если ее нет в АД? создавать сторонних пользователей в АД – не вариант. т.е. нужно как-то указать в скрипте необходимость совместной авторизации – LDAP и внутренней.
    2. если пользователь создавал заявки, работал какое-то время, а потом, например, уволился и его учетка удаляется из АД, останутся ли заявки этого пользователя в отрс?

  3. Алексей

    Добрый день, спасибо за статью. У меня вопрос . Как прописать, чтобы OTRS искала Учетные записи пользователей OTRS не только в папке users, а и в других директориях или группах например domain users?

  4. imlalexandr

    Добрый день, все сделанно по статье но при входе в OTRS выдает “Аутентификация успешна, однако ни одной записи для клиента не обнаружено в используемой/ых базе клиентов. Обратитесь к вашему администратору. ”
    при этом если вручную создать то авторизацию домена проходит
    а вот в customers.pl заходят все без ручного создания …в чем может быть проблема …оч похоже что по какой то причине не создаются агенты

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.