Итак... Есть тут много тем, в которых народ сталкивается с проблемами при настройки авторизации для агентов с помощью доменных учёток, проблематично было найти нужные ответы, собрать всё в кучу и т.п. Много ответов нашел на забугорном форуме. FAQи, который на офф сайте висят не скажу, что совсем бесполезны, но конкретных примеров ну совсем маловато. А как раз про авторизацию для клиентов есть достаточно информации, так что см. на форуме.
Так вот решил я как можно более подробно описать настройки конфига для авторизации через LDAP именно для агентов.
Начнем с легкого описания моей структуры: есть два домена, домен ХХХХХ - используется для юзерей центрального офиса, и домен УУУУУ - используется для региональных юзерей. Также есть группы людей( назовем их ДИТ - Департамент Информационных Технологий), которые обслуживают всю эту лабуду. Большая часть из них в центр. офисе, и, допусти пару человек - это региональные админы.
Что требуется сделать:
1. настроить авторизацию для АГЕНТОВ(ДИТ) центрального офиса через LDAP<--->AD (все они в домене ХХХХХ)
2. настроить авторизацию для АГЕНТОВ региональных админов через LDAP<--->AD (они в домене УУУУУ)
Саму ОТРС желательно ставить в папку БЕЗ пробелов, например C:/OTRS/...
Убеждаемся, что LDAP модуль успешно установлен начинаем писать конфиг - .../Kernel/Config.pm. Начало и окончание я упоминать не буду т.к. у всех он одинаковый, разве что пароль на MYSQL базу свой
Авторизация для АГЕНТОВ центр. офиса (домен ХХХХХ):
Блок 1
Код: Выделить всё
# Авторизация АГЕНТОВ через LDAP Domen1(ХХХХХ) #
$Self->{'AuthModule1'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = '172.16.хх.22'; # тут я говорю, что домен ХХХХХ крутится на серваке с этим айпишником
$Self->{'AuthModule::LDAP::BaseDN1'} = 'DC=ххххх,DC=хххх'; # собственно сам домен
$Self->{'AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN1'} = 'OU=DIT,OU=Domain Users,DC=ХХХХХ,DC=ХХХХ'; # указываю где находится АУшка с #товарищами, которые смогут логинится в админ интерфейст #
$Self->{'AuthModule::LDAP::AccessAttr1'} = 'member'; # собственно разрешаю залогиниться участникам вышеуказанной АУшки (или #группы... у кого как) т.е. он должен быть мембером
$Self->{'AuthModule::LDAP::UserAttr1'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN1'} = 'CN=OTRS ServiceDesk Admin,OU=System accounts,OU=IT operations,DC=ХХХХХ,DC=ХХХХ'; # это учетка в #домене ХХХХХ. С её помощью и будет "вытягиваться" инфа о юзерах из домена #ХХХХХ. Достаточно обычного юзера
$Self->{'AuthModule::LDAP::SearchUserPw1'} = 'password'; # тут понятно
$Self->{'AuthModule::LDAP::AlwaysFilter1'} = '';
# параметры соединения, чаще всего их даже не требуется указывать
$Self->{'AuthModule::LDAP::Params1'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
# Синхронизация данных из АД с локальной БД #
$Self->{'AuthSyncModule1'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host1'} = '172.16.хх.22';
$Self->{'AuthSyncModule::LDAP::BaseDN1'} = 'DC=ХХХХХ,DC=ХХХХ';
$Self->{'AuthSyncModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN1'} = 'CN=OTRS ServiceDesk Admin,OU=System accounts,OU=IT operations,DC=ХХХХХ,DC=ХХХХ';
$Self->{'AuthSyncModule::LDAP::SearchUserPw1'} = 'pass';
# Мапинг с АД в локальную ДБ #
$Self->{'AuthSyncModule::LDAP::UserSyncMap1'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
# здесь я указываю какие права будут сразу присвоены агету, после успешного входа в админку
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups1'} = [
'users',
];