Распределение ролей агентов

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
ULiX
OTRS Новобранец
Сообщения: 45
Зарегистрирован: 12 окт 2010, 08:56
Контактная информация:

Распределение ролей агентов

Сообщение ULiX » 13 окт 2010, 02:37

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

Задача.
В зависимости от нахождения агента в определенной группе безопасности (LDAP) привязаться к назначенной роли.


На данный момент имеется возможность привязать права rw списку групп:

Код: Выделить всё

$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [ 'osiv', 'users', 'customers', 'faq' ];
Кроме того в документации нет информации о возможности настройки нескольких модулей авторизации.

Смотрите: \otrs\Kernel\System\Auth.pm

Код: Выделить всё

    # load auth module
    for my $Count ( '', 1 .. 10 ) {
        my $GenericModule = $Self->{ConfigObject}->Get("AuthModule$Count");
        next if !$GenericModule;

        if ( !$Self->{MainObject}->Require($GenericModule) ) {
            $Self->{MainObject}->Die("Can't load backend module $GenericModule! $@");
        }
        $Self->{"AuthBackend$Count"} = $GenericModule->new( %Param, Count => $Count );
    }
Это обеспечивает поддержку до 11 модулей авторизации.
Причем можно использовать разношерстные варианты LDAP DB HTTP.
Но синтаксиса передачи настроек для каждого отдельного модуля не описано, так что всё нужно выуживать из программного кода.
Как правило значение номера нужно ставить всегда в конце...
Пример:

Код: Выделить всё

    $Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host2'} = 'pdc.domain.com';
    $Self->{'AuthModule::LDAP::BaseDN2'} = 'DC=domain,DC=com';
    $Self->{'AuthModule::LDAP::UID2'} = 'sAMAccountName';
    $Self->{'AuthModule::LDAP::SearchUserDN2'} = 'CN=otrsldap,OU=Otrs users,DC=domain,DC=com';
    $Self->{'AuthModule::LDAP::SearchUserPw2'} = 'otrsldappass';
    $Self->{'AuthModule::LDAP::GroupDN2'} = 'CN=OTRS,OU=Otrs users,DC=domain,DC=com';
    $Self->{'AuthModule::LDAP::AccessAttr2'} = 'member';
    $Self->{'AuthModule::LDAP::UserAttr2'} = 'DN';
    $Self->{'AuthModule::LDAP::AlwaysFilter2'} = '(objectclass=user)';
Всё тоже самое касается и AuthSyncModule

Код: Выделить всё

    # load sync module
    for my $Count ( '', 1 .. 10 ) {
        my $GenericModule = $Self->{ConfigObject}->Get("AuthSyncModule$Count");
        next if !$GenericModule;

        if ( !$Self->{MainObject}->Require($GenericModule) ) {
            $Self->{MainObject}->Die("Can't load backend module $GenericModule! $@");
        }
        $Self->{"AuthSyncBackend$Count"} = $GenericModule->new( %Param, Count => $Count );
    }
Осталось лишь только проверить, как это всё работает на практике.

Таким образом, имея несколько SyncModule, мы можем назначать права rw группам OTRS согласно членству в 11 группах безопасности AD.
Только вот эти права закрепятся перманентно при первом логоне. Если сменить членство в группах безопасности, права уже созданного пользователя не изменятся, что тоже минус. Да и для удовлетворения моих требований не подходит выделение только прав 'rw'.
Я не флудер, у меня просто не получаются маленькие посты.

ULiX
OTRS Новобранец
Сообщения: 45
Зарегистрирован: 12 окт 2010, 08:56
Контактная информация:

Re: Распределение ролей агентов

Сообщение ULiX » 13 окт 2010, 03:00

Заранее прошу прощения за большие посты. Я уже где-то писал "Краткость не моя сестра".
По опыту известно, что официальная документация никогда не охватывает всех тонкостей программного продукта. Если бы всё делалось идеальано Микрософт бы не латал по несколько десятков дыр в месяц для своих горе продуктов.

Так вот что было мной найдено в результате осмотра модуля \otrs\Kernel\System\Auth\Sync\LDAP.pm

Код: Выделить всё

    # sync ldap group 2 otrs role permissions
    my $UserSyncRolesDefinition = $Self->{ConfigObject}->Get(
        'AuthSyncModule::LDAP::UserSyncRolesDefinition' . $Self->{Count}
    );
Где $Self->{Count} - это тот самый номер модуля синхронизации от 1 до 10 или пусто...

Таким волшебным образом у нас имеется возможность задания ролей при LDAP авторизации!
Только придется сначала разобраться, что конкретно нужно дописать в настройки Config.pm чтоб это всё работало.

Поиск по фразе "UserSyncRolesDefinition" приводит нас к следующим статьям:
http://lists.otrs.org/pipermail/otrs/20 ... 32194.html
http://lists.otrs.org/pipermail/otrs/20 ... 31642.html

В принципе в этих статьях имеется всё необходимое для обеспечения автораспределения ролей согласно членству в AD группах. Причем без использования нескольких модулей с разными индексами. Но всё равно добытую информацию по индексам считаю полезной.
Осталось добиться, чтобы настройки прав и ролей обновлялись при каждом логоне, что обеспечит динамическое изменение ролей агентов, в случае их перемещения в Active Directory.
Я не флудер, у меня просто не получаются маленькие посты.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Распределение ролей агентов

Сообщение alexus » 13 окт 2010, 22:37

А сколько всего у вас агентов? Т.е. каков количественный состав службы техподдержки? И каков практический смысл задачи?
ULiX писал(а):Задача.
В зависимости от нахождения агента в определенной группе безопасности (LDAP) привязаться к назначенной роли.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ULiX
OTRS Новобранец
Сообщения: 45
Зарегистрирован: 12 окт 2010, 08:56
Контактная информация:

Re: Распределение ролей агентов

Сообщение ULiX » 14 окт 2010, 02:23

Я уже конечно, добился чего хотел, но на вопрос ответить надо.
alexus писал(а):А сколько всего у вас агентов? Т.е. каков количественный состав службы техподдержки? И каков практический смысл задачи?
На данный момент имеем 5 отделов со своими функциями:

Отдел сопровождения и внедрения - 16 агентов
Отдел программирования и разработки - 18 агентов
Отдел внутреннего учета - 6 агентов
Отдел технологической диспетчеризации - 10 агентов.
Отдел автоматизации систем управления технологическими процессами - 7 агентов.

Около 40 категорий заявок разделенных на очереди в корневых очередях отделов.
Тут и заявки по сетевым ресурсам, почта, интернет, офисные приложения, программное обеспечение специфического действия, базы данных, сопровождение 1С и задачи для программистов 1С, телефония и IP телефония, ремонт и проводка линий локальной и телефонной сетей, ремонт производственного оборудования и ремонт офисной техники и многое другое.

Зачем нужна синхронизация ролей с AD?
Вспоминается твоя любимая фраза на счет автоматизации хаоса. У нас этот хаос почти автоматизирован.
Совместными силами наших программистов и администраторов был разработан механизм синхронизации 1С с ActiveDirectory. Все кадровые перемещения фиксируются и делают автоматические изменения в базе LDAP, как то перемещение в OU, назначение групп безопасности, а также создание учетной записи при приеме на работу, и блокировки учетной записи при выходе в отпуск или увольнении. Там много ньюансов, в подробности вдаваться не буду.

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

До меня устанавливал и настраивал OTRS другой администратор ныне "уволившийся по сокращению". На мою душу выпало написание патчей ещё для версии 2.3.4, обновление до версии 2.4.7, и перепись патчей под новую платформу. Вот сейчас хочу внести некий порядок.

Дело в том, что до сего времени работа в OTRS управляется "Регламентом работы в OTRS", с которым обязан ознакомиться каждый новый агент. В этом документе установлены правила и ограничения на создание, перемещение, закрытие заявок, кем и как это должно выполняться, что можно и чего нельзя. Всем агентам были выданы одинаковые права на все группы, вернее группа для всех очередей была одна. В итоге в конце каждого месяца обязательно находились нарушители регламента, которым делали выговоры и снижали премию. На время кризиса данная проблема стала не актуальной, ибо премию не платили, и начальство перестало следить за соблюдением регламента. Сейчас премии возобновились, и начальство потихоньку возвращается к старым методам контроля и взыскания. Чтобы оградить агентов от неосознанных ошибок я и ввел разграничения очередей по группам и агентов по ролям и настроил права для этих ролей. Теперь большинство нарушений регламента будут пресекаться уже на уровне самой системы. Причем сделал это поперек воли начальства :roll: . Уж не знаю какой им резон в наказаниях своих сотрудников.
Я не флудер, у меня просто не получаются маленькие посты.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Распределение ролей агентов

Сообщение alexus » 14 окт 2010, 10:01

Приятно и несколько неожиданно видеть такой порядок! Учерпывающий и убедительной ответ!
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

JohniGo
OTRS Бывалый
Сообщения: 369
Зарегистрирован: 21 окт 2010, 15:31

Re: Распределение ролей агентов

Сообщение JohniGo » 21 окт 2010, 15:37

Дело в том, что до сего времени работа в OTRS управляется "Регламентом работы в OTRS", с которым обязан ознакомиться каждый новый агент. В этом документе установлены правила и ограничения на создание, перемещение, закрытие заявок, кем и как это должно выполняться, что можно и чего нельзя.
А не поделитесь данным мануалом? Сечас как раз придумываю механизм работы отдела. Правда у меня всего 5 чел.
Сперва тоже сделал синхронизацию ролей, но потом решил, что проще руками.
johnigo<сабака>rambler.ru
Автоматизирую бардак.
Послужной список

ULiX
OTRS Новобранец
Сообщения: 45
Зарегистрирован: 12 окт 2010, 08:56
Контактная информация:

Re: Распределение ролей агентов

Сообщение ULiX » 25 окт 2010, 01:53

Забавный форум :D
Я пытаюсь вложить файл с инструкцией в rar архиве объемом 2.8 МБ... Вижу следующее:
Слишком большой размер вложения.
Максимальный размер закачиваемого файла: 2 Mб.
Имейте в виду, что эта величина определена в php.ini и средстВами форума невозможно изменить это значение в большую сторону.
Ладно, думаю, тогда хоть регламент залью в 525 КБ... А не тут то было...
Слишком большой размер вложения.
Максимальный разрешенный размер: 256 KIB
Зашибись!

Всё залил на letitbit.
Надеюсь все знаю, как оттуда скачивать бесплатно.

P.S. Проблему с upload устранили, теперь могу залить файлы на форум.
Правда инструкция писалась, ещё когда использовали OTRS 2.2.6. С тех пор многое изменилось, сменилась структура очередей и другие мелочи. Но принцип понятен, да и новых сотрудников мы что-то в последнее время не набираем, чтоб кого-то ознакомить. А ранее каждый новый сотрудник каждый день в течении двух-трех месяцев испытательного срока проходил обучение по используемым программа на предприятии и вообще о работе производства, что на что влияет, и как можно вызвать простой этого производства вовремя не отреагировав на заявку диспетчеров весовых.
Вложения
Instruction.rar
Последняя выпущенная методическим бюро инструкция.
(6.21 МБ) 1376 скачиваний
ispolnenie zayavok na portale.rar
Старая инструкция завалявшаяся в архивах.
(3.09 МБ) 1011 скачиваний
Reglament.rar
Регламент, за нарушение которого дрючат моих коллег. Сканированный вариант.
(524.02 КБ) 1109 скачиваний
Последний раз редактировалось ULiX 26 окт 2010, 07:37, всего редактировалось 1 раз.
Я не флудер, у меня просто не получаются маленькие посты.

JohniGo
OTRS Бывалый
Сообщения: 369
Зарегистрирован: 21 окт 2010, 15:31

Re: Распределение ролей агентов

Сообщение JohniGo » 25 окт 2010, 16:17

Спасибо!
Автоматизирую бардак.
Послужной список

kaa
OTRS Новобранец
Сообщения: 67
Зарегистрирован: 28 мар 2011, 20:52

Re: Распределение ролей агентов

Сообщение kaa » 01 апр 2011, 23:36

ULix спасибо!
OTRS 5.0.23

Ответить