Авторизация по AD группам

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

Модератор: ykolesnikov

Ответить
VladimirM
OTRS Новобранец
Сообщения: 90
Зарегистрирован: 19 авг 2015, 13:41
Откуда: Ставрополь

Авторизация по AD группам

Сообщение VladimirM » 06 дек 2015, 13:38

Имеются две группы на AD: OTRSAgents и OTRSCustomers.
Пытаюсь сделать, чтобы на index.pl могли заходить только члены первой группы, на customer.pl - второй соответственно.

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'dc.domain.ru';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=ru';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSAgents, ...
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'lookup_user';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'passw';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
sscope => 'sub'
};
$Self->{UserSyncLDAPMap} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{UserSyncLDAPGroups} = [ /// В назначении данного блока сомневаюсь
'users', 'local_admin',


$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'dc.domain.ru';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=ru';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSCustomers, ...
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'lookup_user';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'passw';
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'dc.domain.ru',
BaseDN => 'DC=domain,DC=ru',
SSCOPE => 'sub',
UserDN =>'lookup_user',
UserPw => 'passw',
AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
...

На выходе получаю:
никто из пользователей не может зайти на index.pl, при этом в логе система пытается искать пользователя почему-то во второй группе. (authentication failed, no LDAP group entry foundGroupDN='CN=OTRSCustomers,)
любой может зайти на customer.pl, даже если не присутствует во второй группе.

В итоге получаю, что для index.pl проверка идет не на первую а на вторую группу, а для customer.pl никакой проверки вообще нет (кроме на предмет присутствия в baseDN).

Да, если убрать проверку на вхождение в группу customers:
#$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSCustomers, ...
#$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
#$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
то все нормально, агенты логинятся.
upg_to OTRS 5.0.6 on
Ubuntu Server 14.04.3 x64 PostgreSQL 9.3

MrIch
OTRS Новобранец
Сообщения: 97
Зарегистрирован: 30 ноя 2015, 10:37

Re: Авторизация по AD группам

Сообщение MrIch » 07 дек 2015, 11:16

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

$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSAgents, ...
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';

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

$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRSCustomers, ...
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
Не смущают одни и теже значения?) Вторая запись перезаписывает первую. Для кастомеров выглядять будет так:

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

$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRSCustomers, ...
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Авторизация по AD группам

Сообщение ykolesnikov » 07 дек 2015, 11:19

Коллеги, а здесь не пробовали читать?
viewtopic.php?f=4&t=2690
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

VladimirM
OTRS Новобранец
Сообщения: 90
Зарегистрирован: 19 авг 2015, 13:41
Откуда: Ставрополь

Re: Авторизация по AD группам

Сообщение VladimirM » 07 дек 2015, 11:44

MrIch писал(а):

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

$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRSCustomers, ...
$Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
недоглядел, спасибо
upg_to OTRS 5.0.6 on
Ubuntu Server 14.04.3 x64 PostgreSQL 9.3

Ответить