Добрый день, подскажите советом, ребята.
Itop установлен на windows 2008 r2.
Насколько написано в документации, если я не ошибаюсь, пользователь в itop должен быть external, чтобы работала сквозная аутентификация. Это сделано.
Если создавать пользователя LDAP, то сквозная не работает, по крайней мере у меня ничего вышло.
Для синхронизации с AD используется скрипт ad_import_accounts.php, так вот этот скрипт создает только ldap пользователей.
Как быть в этой ситуации? Хотелось бы либо найти решение для сквозной аутентификации пользователей типа ldap или заставить скрипт сихронизировать пользователей external.
$sAction = 'created';
echo "<h2>User $sLogin will be <em>created</em> in iTop</h2>";
$oITopUser = new UserLDAP;
$oITopUser->Set('login', $sLogin);
$oITopUser->Set('contactid', $oPerson->GetKey());
$oITopUser->Set('language', $aConfig['default_language']);
// Update the profiles
$oLinkSet = DBObjectSet::FromScratch('URP_UserProfile');
foreach($aITopProfiles as $sProfile)
{
Вместо UserLDAP прописал UserExternal
Правда все равно есть куча вопросов не решенных по синхронизации, например, как синхронизировать отдел пользователя, ведь это отдельная таблица (Команда), а также несколько других нюансов…
Кстати, спасибо, Владимир, за этот прекрасный сайт, нашел здесь много интересного!
В продолжение темы импорта из ad решил продолжить эксперименты.
Для начала добавил отчество для персоны, как тут уже описывалось в другой теме, дам полный код, если кому пригодится (правда, на 100% код не протестирован и серч позицианируется не там где надо):
Также я выложил модуль, т.к. мне нужна помощь.
В модуль я впихнул еще поле team_id, кстати я использую “команды” для указания отдела персоны, а для чего на самом деле используются “команды” в itop?
Так вот, поле я добавил, через него я назначаю команду персоне, но при этом мне нужно, чтобы происходила привязка команды к персоне, которой не происходит.
Как видно на скрине:
В team id команда есть, а в team list сверху команды нет, т.е. нужно при назначении поля team_id, делать еще привязку в lnkPersonToTeam, а как это сделать, у кого-нибудь есть идеи?
Как гласит документация, команды в iTop могут использоваться, чтобы связать группу лиц с конкретной конфигурационной единицей, создать “рабочую группу” для назначения тикетов или группу лиц для получения уведомлений.
Про отделы речи нет. Я бы предложит использовать команды для организации кроссфункционального взаимодействия. Например, в вашем IT департаменте есть два отдела: сети и ПО. В каждом отделе есть руководитель, ведущий инженер и специалист. Отделы создаем через иерархическую структуру Организации (что при необходимости позволит разграничить доступ к КЕ), а в командах создаем “1-ю линию”, “2-ю линию” и “Руководство”, куда помещаем соответственно специалистов, ведущих и руководителей отделов. В последствии можно будет легко посчитать, сколько тикетов решили специалисты, а сколько дошло до верхов. Процент тикетов, решенных специалистами той или иной квалификации, является одним из ключевых показателей работы сервисдеска.
Команды используются, когда разные клиенты обслуживаются разными специалистами одних и тех же отделов. Для каждого клиента в iTop определяется модель предоставления услуг, в которой перечисляются команды и персоны, задействованные в предоставлении услуг данному клиенту.
Ясно, спасибо за разъяснение, что-то не догадался там прочитать.
Вот тут не понял, что Вы имели ввиду…
Насколько я понял указания отдела для сотрудника, в функционале “из коробки”, все же нет.
Тогда, наверное, проще создать в модуле “персона” поле с выпадающим списком и назвать его “Отдел”, как считаете?
Или имеете ввиду, что отдел создается в модуле “организация”? т.е. каждый отдел - это одна организация, а название компании могу отнести к вышестоящей организации. Я правильно понял? это так реализовано в itop?
Я не говорил про отдел. Я говорил про команды. Наличие отдела “из коробки” зачисит от того, что вы понимаете по отделом и как собираетесь его использовать.
Если нужно разграничение доступа к объектам в системе (за сеть одни отвечают, за серверы другие и тд), отражение организационной структуры, создавайте отделы как организации. Это в меню Административных данных → Организации. Делайте отделы доченими по отношению к головной организации и выбирайте их в персонах.
Если нужно одну услугу оказывать одним отделом, другую – другим, делайте отделами команды и распределяйте персоны по командам.
Полагаю, применительно к ad первый вариант предпочтительнее, он проще для синхронизации и логичнее, поскольку не специфические ad функции, связанные с оказанием услуг оставляет целиком внутри 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, приведя ее к виду как выше, а не как в примерах.
Ну и указать два домен-контроллера у меня не получилось - если указывать как в документации. через пробел, то ничего не работает.
У Вас пользователь внутри itop создан, как ldap пользователь или как external?
Сквозная то работает нормально, но пользователь у меня создан в itop как external, т.е. для itop пользователь в нашем ad - является внешним.
в default_user я прописал пользователя в виде user@domain
Можно было бы так и оставить, проблема только в том, что при использовании скрипта ad_import для синхронизации из ad, синхронизируются только пользователи, созданные в itop как ldap пользователи, а не как external.