Вы здесь

CUCM и LDAP Integration

CUCM поддерживает интеграцию с Lightweight Directory Access Protocol (LDAP).
LDAP - это общедоступный стандарт, который поддерживается различными вендорами, в частности Microsoft AD.
В данной статье обсуждается краткая теория, а также практические шаги, необходимые для интеграции CUCM 8.6 и AD 2008.

Также см. Troubleshooting LDAP Integration

Microsoft Active Directory централизованно содержит информацию о пользовательских эккаунтах, правах, паролях и т.д. Эту информацию можно сделать доступной и для сторонних приложений, в том числе для CUCM, в результате нет нужды поддеживать несколько баз данных для одних и тех же пользователей. Использование LDAP Sync облегчает поддержку пользователей, а также несколько облегчает некоторые операции для самих пользователей.

- LDAP Sync реплицирует End Users, т.е. всех тех, кто находится в User Management > End User. Все "родные" учётки будут задизаблены а затем удалены (через 24 часа). Останется только админская учётка которую заводили при установке CUCM.

- CUCM LDAP Integration реплицирует только часть данных пользователей. Например User ID, First name, Telephone Number. Эти данные перестают быть доступными для редактирования из CUCM. Данные, специфичные для CUCM по прежнему можно редактировать из CUCM.

LDAP Synchronization и Authentication

Настройка LDAP Sync подразумевает минимум настройку Synchronization, при которой определённые данные пользователей включая их пароли периодически копируются в БД CUCM.
При включённой Authentication пароли не копируются, но при каждом логине идёт обращение и аутентификация через LDAP. Понятно, что Authentication требует постоянного подключения к LDAP.
Cisco рекомендует включать и Synchronization и Authentication.

LDAP Attribute Mapping

При начальной настройке можно выбрать какие атрибуты LDAP будут мапироваться в какие атрибуты CUCM. Чаще всего все параметры можно оставить по умолчанию.

Шаг 1: Cisco DirSync service activation

Cisco Unified Serviceability > Tools > Service Activation
Активируем сервис Cisco DirSync
cucm_i_ldap_integration_dirsync_activation_ciscomaster.ru.jpg

Шаг 2: Включение синхронизации

Cisco Unified CM Administration > System > LDAP > LDAP System
cucm_i_ldap_integration_sync_activation_ciscomaster.ru.jpg

Enable Synchronizing from LDAP Server - собственно включает синхронизацию
LDAP Server Type - определяет тип LDAP сервера (производителя)
LDAP Attribute for User ID - определяет какой атрибут LDAP станет User ID в CUCM

Внимание: В случае, если synchronization или authentication необходима с несколькими доменами в разных лесах или в одном лесе, необходимо создание нескольких synronization agreements.
Также в качестве LDAP Attribute for User ID необходимо выбрать UserPrincipalName(UPN), поскольку только этот атрибут может гарантировать уникальность ID юзера по лесу.

Шаг 3 настройка синхронизации

System > LDAP > LDAP Directory> Add New
cucm_i_ldap_integration_sync_setup_ciscomaster.ru.jpg
Здесь FQDN домена AD int***f.local
Адреса контроллеров: 10.*.*.11, 10.*.*.9
LDAP Configuration Name - Просто произвольное имя
LDAP Manager Distinguished Name - Это имя учётки AD + доменный суффикс. Через эту учётку производится доступ в AD. Минимальные права должны быть на чтение. Учетку лучше использовать выделенную под эту функцию.
Рекомендации от циски:

Use a specific account within the corporate directory to allow the Unified CM synchronization agreement to connect and authenticate to it. Cisco recommends that you use an account dedicated to Unified CM, with minimum permissions set to "read" all user objects within the desired search base and with a password set never to expire. The password for this account in the directory must be kept in synchronization with the password configuration of the account in Unified CM. If the service account password changes in the directory, be sure to update the account configuration in Unified CM.

Говоря по русски, можно создать учетку, и проследить чтобы она входила в группы Domain Users и Authenticated Users: эти группы по умолчанию имеют Read Access Permissions.
Либо, можно использовать Админскую учётку.

LDAP User Search Base - Тут можно выбрать OU, чтобы сузить поиск и чтобы поменьше левых учёток попало в БД CUCM. В моём случае указан корень домена. Если юзера находятся к примеру в OU users, тогда путь будет следующий:
cn=Users, dc=int***f, dc=local
LDAP Custom Filter - Фильтр позволяет еще более отсечь "левых". Например у меня синхронизируются только те, кто не задизаблен и у кого введён номер телефона iphone. Об этом позже - пока поле можно оставить пустым.
Perform a Re-sync Every - можно оставить по умолчанию. Синхронизацию всегда можно "пнуть" вручную.

Шаг 4 настройка Authentication

System > LDAP > LDAP Authentication
cucm_i_ldap_integration_sync_auth_setup_ciscomaster.ru.jpg

Внимание: в случае использования LDAP Attribute for User ID как UserPrincipalName(UPN), в строке LDAP Manager нужно ввести в виде: cn=ldapuser,cn=users,dc=bankvrn,dc=ru

Итак, мы готовы к синхронизации.
System > LDAP > LDAP Directory далее жмём Perform Full Sync Now

Для проверки идём:
User Management > End User
cucm_i_ldap_integration_sync_end_users_ciscomaster.ru.jpg
Часть пользователей Active - они активны и их можно использовать.
Те пользователи что Inactive - это либо локальные пользователи, либо те что отфильтрованы фильтром (который был настроен позже). Эти пользователи использовать нельзя и они будут удалены через 24 часа.

У самого пользователя часть атрибутов станут недоступными для редактирования из CUCM. Теперь их можно править только из AD.
cucm_i_ldap_integration_sync_end_users2_ciscomaster.ru.jpg

LDAP Custom Filter

Далеко не всегда в AD реальные пользователи располагаются в отдельной OU, в итоге приходится начинать поиск в корне.
Фильтр позволяет еще более отсечь "левых" пользователей, которые захламляют телефонную книгу.
Например можно "пропускать" только активные учётки и только с заполненным полем номера телефона.
System > LDAP > LDAP Custom Filter > Add New
cucm_i_ldap_integration_sync_ldap_custom_filter_ciscomaster.ru.jpg

Примеры строк фильтров:

Уч. запись активирована и поле ipPhone не пустое.

(& (objectclass=user)(!(objectclass=Computer))(!(UserAccountControl:1.2.840.113556.1.4.803:=2))(ipPhone=*))

Уч. запись активирована и значение поля ipPhone начинается с +44

(& (objectclass=user)(!(objectclass=Computer))(!(UserAccountControl:1.2.840.113556.1.4.803:=2))(ipPhone=+44*))

Troubleshooting

Данной теме посвящена отдельная статья: см. Troubleshooting LDAP Integration

Комментарии

Аватар пользователя akhmetov

Внесу свои пять копеек.
как показала практика (у меня), синхронизация 1 раз в день - это долго. У меня - раз в 6 часов.
Во вторых CUCM 9 - умеем поддерживать и локальных пользователей и LDAP пользователей.

Спасибо, хорошая статья.
особенно про фильтрацию.
из того что-бы хотелось видеть в данной статье, диагностика синхронизации и поиск неисправностей.
например если у пользователя в AD нет Last нейма, такие утечки просто не будут синхронизироваться.

Возможна ли синхронизация/интеграция CUCM по LDAP, если имеется несколько доменов ?

Да, это возможно:
System > LDAP > LDAP Directory позволяет добавить несколько каталогов

День добрый.
Кто нибудь сталкивался с такой проблемой.
Настраиваю синхронизацию с LDAP и аутентификацию через него же.
В качестве user ID используется userPrincipalName. Синхронизация проходит без проблем.
А вот аутентификация никак не проходит. Даже включить не получается.
Настроек там - всего ничего.
Помимо собственно галки "включить"
Есть LDAP Manager Distinguished Name - все понятно, указываю ту же учетку, что указывал при синхронизации (к примеру user@domain.com).
LDAP Password, Confirm Password - яснее ясного.
LDAP User Search Base - поскольку в качестве userID используется userPrincipalName, то, соответственно ничего здесь указать нельзя, база для поиска будет браться из имени пользователя (в моем случае будет искаться в domain.com).
Дальше собственно только адрес LDAP сервера ( в моем случае это MS AD).

При попытке сохранить изменения вылезает ошибка:
Invalid LDAP User Search Base cucm@ytss.ru while Connecting to ldap://ytss.ru:636
Администратор домена, говорит, что CUCM пытается искать не в domain.com, a в user@domain.com. Т.е. он в качестве search base использует не доменный суффикс из имени, а все имя пользователя целиком.

Вся эта история сильно смахивает на баг. Может кто сталкивался с подобным?
Версия CUCM 9.1.1.20000-5.

Добрый день,
если есть возможность, попробуйте сперва настроить со "стандартными" настройками:
Когда в качестве user ID используется sAMAccountName
Тут багов быть не должно быть, зато станет понятно насчет кривости настройек самого AD

При использовании sAMAccountName невозможна синхронизация с несколькими доменами, поэтому я и использую UserPrincipalName.
А проблему эту я победил. В настройках, в качестве distinguished name, надо указывать не user@domain.com, а fully-qualified object path, например cn=user,ou=users,dc=domain,dc=com. Тогда все работает.
Помогла вот эта статейка: http://www.routerdiscussions.com/viewtopic.php?t=4876&p=29563

Спасибо, очень ценная информация.
Добавил в статью

Спасибо за статью очень интересна!
А можно как то заставить CUCM записывать в базу AD свои значения?
То есть как только ассоциирован номер с пользователем, CUCM сам записывает синхронизирует DN пользователя в поле Iphone в AD?
Это делается для того что бы автоматом обновлять Corporate Directory.
А то слишком нудно всякий раз вписывать номер пользователя в AD в ручную.

Добрый день,
про запись CUCM > AD не слышал. По идее, понятие интеграции с AD подразумевает как раз AD как центральный каталог и как источник большинства информации по юзерам.

Получается в ручную надо редактировать AD, а если количество пользователей очень много?

Почему же вручную. У AD есть мощные средства импорта/экспорта. Экпортируете юзеров, помещаете в таблицу, раздаёте номера, импортируете обратно. Аналогичные средства есть и в CUCM.
В идеале конечно интегрировать нужно с самого начала внедрения CUCM.

Я это уже пробовал следуя вот этой статье: http://ciscomaster.ru/content/phone-book-export-call-manager-cucm-into-e...
в этот случае CUCM экспортирует теже самые учетки что на AD. То есть, если я пользователю Василий Пупкин в AD не присвою номер DN. Cucm его также пустого и экспортирует мне.
Получается что сначала все таки нужно в ручную прописывать в AD, а потом экспортировать. или может я что то делаю не так?:(

Эта статья скорее типа "know how", но не руководство к действиям.
Да, конечно, в конкретном случае с внедрённой интеграцией CUCM и AD нет нужды экспортировать из CUCM, поскольку AD и так является первоисточником.
Править данные можно только из AD: будет это вручную через GUI или c использованием скриптов.

Добрый день. Если в CUCM существует пользователи которые когда-то были импортированы с AD1. Сейчас связь с этим AD1 не используется, но сами импотрированные юзеры в системе используются. Если я настрою связь с AD2, но предварительно импортированных из AD1 юзеров заведу в AD2, в системе эти пользователи останутся так же в рабочем состоянии? Связь с профайлами и т.д. у них не нарушится?

Если не удалять настройки синхронизации со старой LDAP Directory, и создать вторую, то старые пользователи должны остаться, но к ним добавятся новые из новой AD. При этом добавление нескольких AD возможно если в синхронизации используется UserPrincipalName(UPN).
Если вы удалите старую синхронизацию, старые юзера могут удалиться.
В 9 CUCM юзера останутся.
В любом случае есть риск удаления при подобных манипуляциях

Добрый день!

Кто-то может подсказать как можно узнать заранее (без входа на веб или CLI CUCM) изменение статуса пользователя на Inactive? В каких именно логах отображается это изменение? Можете привести пример, пожалуйста?

Копайте в сторону трейсов через RTMT. Пример работы с трейсами Логирование и трекинг (trace) звонков в CUCM

Здравствуйте.

Cucm синхронизирует исключительно пользоватлей с AD? А можно ли из AD брать контакты, т.е. тех, тип которых обозначен в AD как контакт? У меня не получилось, а очень нужно.

Добрый день, CUCM импортирует только пользователей, поскольку AD-шные учетки используются для аутентификации юзеров.
Если вам нужны контакты для формирования адресной книги - импортируйте их напрямую из AD.

Приветствую!
Согласно политикам безопасности предприятия, на время отпуска сотрудиков их учётки в AD блокируются.
После чего CUCM удаляет End Usera...
Сотрудник возвращается, учётка восстанавливается, End User тоже - но в CUCM пользователь лишается назначеных ранее ролей доступа.
Возможно кто-то сталкивался с подобной проблемой, коллеги?

Проще просто поменять пароль на учетке, так как помимо сброса атрибутов в CUCM, скорее всего и Exchange будет отказываться получать почту для этого пользователя

Не получается авторизоваться по AD учёткам с sip устройств

Наверное не по теме, но всё таки спрошу. В CUCM 8.6.2. Есть возможность синхронизировать пользователей только с ОДНИМ ТИПОМ LDAP. Т.е. самих серверов LDAP может быть несколько но не более кажется 5шт, но они все должны быть одного производителя т.е.
-либо 5 шт OpenLDAP
-либо 5шт MSLDAP
-либо 5шт iPlanet
Но как быть если хочется подключить один каталог MSLDAP как основной, а второй каталог OpenLDAP ?
Я знаю что в новой версии CUCM эту возможность должны были добавить но я хотел бы спросить чем отличаются запросы в OpenLDAP от MSLDAP ?
Потому, что запилить OpenLDAP для работы как MSLDAP я не смог. Подчеркну что нужно это всё только для того чтобы сформировать единую адресную книжку пользователей на телефонах в корпорэйт директори.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image