Синхронизация с ad

В общем это нужно, т.к. при синхронизации из АД я не могу синхронизировать team list, а подобное поле, как team id, могу.

Ясно, спасибо за разъяснение, что-то не догадался там прочитать.

Вот тут не понял, что Вы имели ввиду…

Насколько я понял указания отдела для сотрудника, в функционале “из коробки”, все же нет.
Тогда, наверное, проще создать в модуле “персона” поле с выпадающим списком и назвать его “Отдел”, как считаете?

Или имеете ввиду, что отдел создается в модуле “организация”? т.е. каждый отдел - это одна организация, а название компании могу отнести к вышестоящей организации. Я правильно понял? это так реализовано в itop?

Я не говорил про отдел. Я говорил про команды. Наличие отдела “из коробки” зачисит от того, что вы понимаете по отделом и как собираетесь его использовать.
Если нужно разграничение доступа к объектам в системе (за сеть одни отвечают, за серверы другие и тд), отражение организационной структуры, создавайте отделы как организации. Это в меню Административных данных → Организации. Делайте отделы доченими по отношению к головной организации и выбирайте их в персонах.
Если нужно одну услугу оказывать одним отделом, другую – другим, делайте отделами команды и распределяйте персоны по командам.
Полагаю, применительно к ad первый вариант предпочтительнее, он проще для синхронизации и логичнее, поскольку не специфические ad функции, связанные с оказанием услуг оставляет целиком внутри iTop.

1 лайк

Ок, спасибо. Понимание теперь есть.

5 сообщений перенесены в новую тему: Отделы в iTop: Команды или Организации?

Добрый день.
Подскажите пожалуйста, мне необходимо добавить отчество для персоны.
Выше в теме я увидел код но куда его вставлять я так и не разобрался.
Я так понял надо делать новый модуль или же редактировать уже имеющийся?
Так же вопрос, в какой директории лежат уже готовые модули?.
С уважением.

Добрый день, @dima_Golovanev. Вот тут есть пошаговая инструкция по добавлению нового поля к Серверу. С Персоной всё аналогично, за исключением типа поля: вместо AttributeText нужно использовать AttributeString. Про типы полей смотри тут: https://wiki.openitop.org/doku.php?id=2_1_0:customization:xml_reference#fields. Весь код пишется в собственном модуле, модуль кладется в папку itop/extensions и устанавливается в iTop через процедуру установки. Это всё рассмотрено в инструкции по первой ссылке.

Да там есть одна засада, привожу кусок кода из config-itop.php в качестве пример как надо сделать.

    'authent-ldap' => array (
	'host' => '<полное имя домен-контроллера в виде name.domain.tld>',
	'port' => 389,
	'default_user' => '<domain\user>', \\ А вот тут - сокращенное имя домена!
	'default_pwd' => '<password>',
	'base_dn' => 'DC=domain,DC=tld',
	'user_query' => '(&(samaccountname=%1$s))', \\ Тут тоже надо убрать лишнее
	'options' => array (
	  17 => 3,
	  8 => 0,
	),
	'start_tls' => false,
	'debug' => false,
),

Вообщем ключевых момента два - использовать в качестве имени пользователя для доступа к LDAP нотацию domainname\username, а не просто username как можно подумать исходя из документации и два - убрать все лишнее из user_query, приведя ее к виду как выше, а не как в примерах.
Ну и указать два домен-контроллера у меня не получилось - если указывать как в документации. через пробел, то ничего не работает.

2 лайка

@Irsi

Не обязательно указывать все контроллеры домена, проще указать имя домена

'host' => 'domain.ru',

тогда DNS случайным образом будет возвращать один из контроллеров домена.

В user_query лучше добавить фильтр по пользователям

'user_query' => '(&(samaccountname=%1$s)(objectCategory=User))',

Вот в таком виде почему-то не работает авторизация.

У Вас пользователь внутри itop создан, как ldap пользователь или как external?

Сквозная то работает нормально, но пользователь у меня создан в itop как external, т.е. для itop пользователь в нашем ad - является внешним.
в default_user я прописал пользователя в виде user@domain

Можно было бы так и оставить, проблема только в том, что при использовании скрипта ad_import для синхронизации из ad, синхронизируются только пользователи, созданные в itop как ldap пользователи, а не как external.

Для авторизации через AD пользователь в ITOP должен быть типа LDAP, тогда все работает отлично.

У меня работает сквозная авторизация через AD только если пользователь external и в настройках соответсвенно стоит:

‘allowed_login_types’ => ‘external|basic|form’

'authent-ldap' => array (
	'host' => 'ad ip',
	'port' => 389,
	'default_user' => 'userxxx@xx.xxx.local',
	'default_pwd' => 'pw',
	'base_dn' => 'dc=xx,dc=xxx,dc=local',
	'user_query' => '(samaccountname=%1$s)',
	'options' => array (
	  17 => 3,
	  8 => 0,
	),
	'start_tls' => false,
	'debug' => true,

тип входа external

Если создать пользователя как ldap пользователя, то сквозная не срабатывает и появляется форма входа, где данные логин и пароль не принимаются.

Если говорите, что оно должно работать для ldap пользователей, то как?

1 лайк

У меня тип пользователя LDAP.
Конфиг:
$MyModuleSettings = array(
‘authent-ldap’ => array (
‘host’ => ‘192.168.х.х’,
‘port’ => 389,
‘default_user’ => ‘хх@ххх.ххх.ru’,
‘default_pwd’ => ‘ххххххххх’,
‘base_dn’ => ‘dc=ххх,dc=ххх,dc=ru’,
‘user_query’ => ‘(&(samaccountname=%1$s)(objectCategory=User))’,
‘options’ => array (
17 => 3,
8 => 0,
),
‘start_tls’ => false,
‘debug’ => false,
),

1 лайк

При таком конфиге учетка в ITOP должна быть типа LDAP, в качестве логина указывается имя доменного пользователя без указания домена, то есть:

  • логин в учетке Itop “user”
  • доменный пользователь "user@xxx.xxx.ru"
  • для входа в itop используется логин “user” и пароль от доменной учетки.

Все равно у меня ничего не выходит, перепробовал всевозможные варианты.
Если я правильно понял, то при таком способе не работает Single Sign On ?

Затупил, выключил на iis windows autentification, ну и оно заработало, т.е. ввожу логин и пароль от доменной учетки и заходит, но без сквозного проваливания пользователя в itop (Single Sign On) - это все не очень здорово…

single sign on делать так - в itop заводишь учетки как external , также правишь скрипт чтобы создавал не LDAP а External.
У меня работает , если актуально подскажу где в скрипте поправить (там пара строчек).

У кого-нибудь получилось сделать SSO на apache RHEL7?
Apache настроил, в нете много статей про это.
Когда захожу в itop, в браузере выходит окно на ввод логина и пароля, но аутентификация не проходит.
В логах apache есть ошибки:

  • cannot find key for HTTP/itop.example.com@EXAMPLE.COM kvno 16 in keytab
  • failed to verify krb5 credentials: Key version is not available

В iTop выставил вперед external в настроках, создал внешнего пользователя