Интеграция OTRS 6.0.5 (Open-source Ticket Request System) с Active Directory. Настройка прозрачной аутентификации SSO (Single Sign On).

Разберем как интегрировать OTRS с Active Directory. Рассмотрим два варианта аутентификации, обычная и прозрачная (SSO).

 

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

  • Развернутая система OTRS 6.0.5 (по этой статье)
  • Домен контроллер Windows Server 2012 R2 (JAKONDA.LOCAL)

 

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

 

Создание пользователя в Active Directory

Создаем пользователя (прим. admin.otrs), снимаем галочку «Требовать смены пароля при следующем входе в систему», выставляем галочки «Запретить смену пароля пользователем», «Срок действия пароля не ограничен». После создания пользователя, в свойствах его, указываем адрес электронной почты.

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

 

Создаем группу (прим. OTRSagents) и добавляем в нее ранее созданную учетную запись администратора OTRS (admin.otrs).

Данная группа будет служить фильтром доступа, на агентурный портал OTRS. Все входящие пользователи в состав этой группы будет иметь доступ, все остальные нет.

 

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

Заходим на агентурный портал OTRS (http://OTRS_Server_IP/otrs/index.pl), авторизовываемся под учетной записью root@localhost.

 

Переходим в Администрирование — Агенты:

 

Редактируем пользователя root@localhost:

 

Изменяем Логин, Пароль, Email на аналогичные данные от ранее созданного пользователя в Active Directory (admin.otrs).

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

 

Перезапускаем веб-сервер apache:

 

Проверяем аутентификацию доменных пользователей в агентурном портале (http://OTRS_Server_IP/otrs/index.pl) и пользовательском (http://OTRS_Server_IP/otrs/customer.pl). Для доступа в агентурный портал, пользователь должен состоять в группе OTRSagents.

 

Агенты создаются в базе OTRS, после первого входа. У созданного агента будут отсутствовать права администратора, для их выдачи нужно авторизоваться под начальным администратором (admin.otrs) и выдать права новому агенту.

 

Проверим подтянулись ли учетные записи пользователей из Active Directory. Переходим в Администрирование — Учетная запись клиента.

 

 

Прозрачная аутентификация SSO (Single Sign On)

Реализацию прозрачной/сквозной (SSO) аутентификации в OTRS, будем осуществлять посредством авторизации Apache в Active Directory.

 

Выполняем настройку авторизации SSO на Apache в Active Directory по этой статье. При создании KEYTAB-файла, используем созданную ранее учетную запись администратора (admin.otrs).

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

 

Перезапускаем веб-сервер apache:

 

Проверяем аутентификацию доменных пользователей в агентурном портале (http://OTRS_Server_IP/otrs/index.pl) и пользовательском (http://OTRS_Server_IP/otrs/customer.pl). При входе на тот или иной портал, авторизация должна пройти автоматически.

 

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 11 Комментировать

  1. Дмитрий /

    Доброго времени суток.
    Подскажите, вот такая ошибочка в конце: [Fri May 04 11:43:57.269243 2018] [auth_kerb:error] [pid 21032] [client 192.168.1.200] gss_acquire_cred() failed: Unspecified GSS failure.
    Minor code may provide more information (, Key table file ‘/etc/kerberos.keytab’ not found)
    Или здесь ( Krb5Keytab /etc/kerberos.keytab
    )нужно прописать файл: который был в Вашем случаи: webserver.keytab

    1. Жаконда / Автор записи

      А вы сгенерировали keytab файл ?

      1. Дмитрий /

        Да, подставил он у меня называется otrs. Проверяю ошибка: [:error] [pid 1633] Attempt to reload Kernel/System/ObjectManager.pm aborted.\nCompilation failed in require at /opt/otrs/bin/cgi-bin/index.pl line 35.\nBEGIN failed—compilation aborted at /opt/otrs/bi$
        $trs/bin/cgi-bin/index.pl line 35.\n

  2. Дмитрий /

    В access.log: 192.168.1.200 — user@DOMAIN.LOCAL [04/May/2018:16:57:12 +0300]
    «GET /otrs/index.pl HTTP/1.1» 500 1068 «-» «Mozilla/4.0
    (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)»

    1. Жаконда / Автор записи

      HTTP/1.1» 500 — проверяйте ошибку 500, вероятно все таки что то не так бы делаете, либо в конфигурационном файле прописываете..

  3. Олег /

    Добрый день.
    Настроена обычная интеграция с LDAP
    «Агенты создаются в базе OTRS, после первого входа.» можно ли как-то создавать агентов до их первого входа, что бы можно было заранее раздать им роли?

  4. Антон /

    Всё делал по вашей инструкции, ошибок никаких не выдаёт, а просто не авторизуется не через index, не через customer. В чем может быть проблема?

    1. Антон /

      Нашёл ошибку в строке
      $Self->{‘AuthModule::LDAP::GroupDN’} = ‘cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local’;

      Поменял ou=Users на cn=Users и всё заработало.

      Но SSO авторизация для клиентов не пашет, пока ковыряю

      1. Жаконда / Автор записи

        Никакой ошибки нет, просто в моем случае указано cn=OTRS_Agents — это группа безопасности в которой указаны учетные записи пользователей, которая в свою очередь находится в ou=Users домена dc=jakonda,dc=local.

  5. Дмитрий /

    Здравствуйте. Все отлично работает внутри домена. Появилась необходимость работать из внешки в системе. Но при попытке входа в отрс с телефона, говорит ошибка авторизации. Пытался и с префиксом домена и через @domain.name , везде ошибка авторизации

    1. Жаконда / Автор записи

      Добрый день! Попробуйте в настройках виртуального сервера добавить KrbLocalUserMapping On к остальным параметрам Kerberos авторизации.

      У меня вот так выглядит настройка Kerberos для виртуального сервера OTRS
      AuthType Kerberos
      AuthName «Kerberos authenticated intranet»
      KrbAuthRealms JAKONDA.LOCAL
      KrbServiceName HTTP/webserver.jakonda.local
      Krb5Keytab /etc/webserver.keytab
      KrbMethodNegotiate On
      KrbMethodK5Passwd On
      KrbSaveCredentials Off
      KrbLocalUserMapping On
      KrbVerifyKDC Off
      Require valid-user

      И авторизация успешно работает. Т.е. в локальной сети при входе на OTRS происходит SSO авторизация, а при внешнем подключении запрашивается логин\пароль и введя доменный логин (без указания домена) и пароль, меня успешно авторизовывает.

Оставить ответ

11 + пять =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика