Синхронизация Bitrix24 с Active Directory. Проблемы и решения

Дмитрий П.
Материал актуален при синхронизации с LDAP не только Битрикс24, но проектов на Битрикс:Управление сайтом.

Статья большая, начнем с вывода. Недавно в одном из проектов появилась задача по синхронизации корпоративного портала с Bitrix24. Инструменты есть, но просто не будет. “Из коробки” почти ничего не получилось, потребовались “танцы с бубном”. Статья — о методах решения проблем такой интеграции. Заказчик — крупная производственная компания. Есть настроенная Active Directory со списком пользователей.

Задача — перенести настройки пользователей на корпоративный портал Битрикс и настроить синхронизацию. Чтобы синхронизировалась информация из пользовательских полей и при деактивации пользователя в Active Directory он деактивировался в Bitrix24.

У Bitrix24 имеется стандартный модуль для выполнения данной задачи, “AD/LDAP интеграция”. Перед началом синхронизации этот модуль надо установить или обновить.

Есть возможность настроить периодическую синхронизацию. Базовая настройка даёт возможность выставить периодичность только в часах. Мы поставили синхронизацию каждый час. Разумно после настройки портала увеличить это время до 24 часов, данные в Active Directory обычно изменяются редко.

Важно! Сама синхронизация происходит только после авторизации пользователя на портале. Если пользователь не заходил на портал, то чтобы его принудительно синхронизировать надо в списке пользователей нажать кнопку активировать. В противном случае данный пользователь не будет синхронизирован до входа на портал. Принудительная синхронизация на портале
У модуля есть функционал переноса структуры компании, что тоже возможно и настраивается в административной панели в настройках сервера. Данное решение индивидуальное для каждой компании. Если структура компании в Active Directory некорректная или имеет свои особенности, то имеет смысл не переносить структуру. В нашем случае заказчиком принято решение не использовать текущую структуру компании из AD и разграничить структуру в AD и Bitrix24. На наш взгляд это не совсем правильное решение, так как при таком решении изменения структуры необходимо вносить в двух местах. Импорт структуры данных Внимание! Bitrix24 считает данные из Active Directory приоритетными. Если данные в полях различаются, то значение поля из Bitrix24 заменяется значением из поля Active Directory.

Проблемы интеграции Битрикс24 и Active Directory

Делимся с вами тем, что смогли выявить и как это вылечить.

Конфликт фильтров Настройка полей -> Фильтр для пользователей и Группы -> Отмеченные ниже группы не участвуют в импорте пользователей

Конфликтуют эти два параметра:

Настройка полей -> Фильтр для пользователей:
Настройка фильтров для пользователей
Группы -> Отмеченные ниже группы не участвуют в импорте пользователей:
Не участвующие в импорте группы
Если указать настройки в обоих полях, происходит конфликт и пользователи не импортируются.

Решение: Использовать только фильтр для пользователей.

В поле фильтр для пользователей прописали рабочий фильтр из Active Directory и всё заработало. (&(&(objectClass=user)(objectCategory=PERSON))(memberof=CN=BitrixCorpUser,CN=Builtin,DC=mwlight,DC=loc))

Проблема синхронизации времени сервера Active Directory и времени портала

При создании сервера, в настройках не присваивалось время и импортированные пользователи оставались неактивными без ручной активации. В списке пользователей отсутствует дата синхронизации. Без ручной правки у этих пользователей нет прав и они не могут ни войти в портал, ни синхронизироваться. Это связано с настройками сервера. Синхронизация с сервером Active Direktory
Решение: Изменить значение MySQL параметра explicit_defaults_for_timestamp на Off. Выполнить проверку сайта. Изменение значения MySQL параметра explicit_defaults_for_timestamp

Конфликт двух копий одного и того же пользователя

Если логин и электронная почта пользователя из Active Directory отличается от логина этого же пользователя, ранее зарегистрированного на портале, то на портале появляются две копии аккаунта одного и того же человека. Проблема ранее зарегистрированного надо деактивировать, а все его задачи передать пользователю, импортированному из Active Directory.

Решение: Сделать основным пользователя, импортированного из Active Directory, переназначить на него текущие задачи, а копию уволить.

Корректная синхронизация получилась только из верхней папки Active Directory, вложенные игнорировались.

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

Решение: Перенесли всех пользователей в одну папку и из неё выполнили синхронизацию. Так как мы не стали переносить структуру компании, это единственно возможное решение.

Cинхронизация копии Имени и Фамилии на другом языке

Компания международная и основные имя и фамилия на английском языке.

Решение: Добавили дополнительные Имя (RU) и Фамилия (RU) и синхронизировали их с помощью атрибутов ExtensionAttribute1 и ExtensionAttribute2. Не рекомендуется использовать для решения данной задачи стандартные поля Bitrix24, потому что они используются в самых неожиданных местах. Например нельзя в качестве русскоязычных ФИО использовать отчество, при синхронизации с iPhone пользователь на iPhone стал Иванов Иванов Иван Иванович Иван.

Cинхронизация поля Фотография с удобной для просмотра фотографией

Решение: Проблема в базовых ограничениях расширения изображения не более 95 х 95 пикселей и размер не более 100 килобайт. Добавили В Active Directory дополнительное поле jpegPhoto отдельным расширением базовых функций. Размер также ограничен 100 килобайтами, но разрешение изображения можно установить любое, которое уложится в размер. Правильное расширение jpg, это обеспечит максимальное сжатие, а для Active Directory размер фотографий критичен. Не рекомендуется загружать фотографии с расширением более 300 х 300 пикселей так как в Bitrix24 ограничение на выводе фотографий из профиля 300 х 300 пикселей и фотографии с большим расширением будут избыточные.

Справка: Соответствие полей пользователя и атрибутов LDAP

Для разработчиков и администраторов расскажем подробности.

Используется метод $arSyncFields.

В поля Битрикса подставляется следующая информация:

"EMAIL" => Array("NAME" => GetMessage("LDAP_FIELD_EMAIIL"), "AD"=>"mail", "LDAP"=>"email")

На входе массив, где первый параметр обязательный это перевод названия поля, вызываемый функцией GetMessage, второй параметр необязательный это название поля из AD, третий параметр необязательный это название поле из LDAP. если сопоставление полей указано, из них берётся информация. Если поле пустое, синхронизации не произойдёт. Таблица соответствия полей

Bitrix24

Перевод (RU) /

ID Перевода для функции GetMessage

AD

LDAP

Особенности

ACTIVE

Пользователь активен /

LDAP_FIELD_ACTIVE

UserAccountControl&2

UserAccountControl&2


EMAIL

E-Mail /

LDAP_FIELD_EMAIIL

mail

email


NAME

Имя /

LDAP_FIELD_NAME

givenName

cn


LAST_NAME

Фамилия /

LDAP_FIELD_LAST_NAME

sn

sn


SECOND_NAME

Отчество /

LDAP_FIELD_SECOND_NAME




PERSONAL_GENDER

Пол /

LDAP_FIELD_GENDER



только M или F

PERSONAL_BIRTHDAY

Дата рождения /

LDAP_FIELD_BIRTHDAY



формат дня рождения 01.01.1997 (день.месяц.год)

PERSONAL_PROFESSION

Специальность /

LDAP_FIELD_PROF




PERSONAL_PHOTO

Фотография /

LDAP_FIELD_PHOTO

thumbnailPhoto

jpegPhoto

Не более 100 килобайт вес изображения

PERSONAL_WWW

WWW-страница /

LDAP_FIELD_WWW

wWWHomePage



PERSONAL_ICQ

ICQ (перевода нет)




PERSONAL_PHONE

Телефон /

LDAP_FIELD_PHONE

homePhone



PERSONAL_FAX

Факс /

LDAP_FIELD_FAX




PERSONAL_MOBILE

Мобильный /

LDAP_FIELD_MOB

mobile



PERSONAL_PAGER

Пейджер /

LDAP_FIELD_PAGER




PERSONAL_STREET

Улица, дом /

LDAP_FIELD_STREET

streetAddress



PERSONAL_MAILBOX

Почтовый ящик /

LDAP_FIELD_MAILBOX

postOfficeBox



PERSONAL_CITY

Город /

LDAP_FIELD_CITY

l



PERSONAL_STATE

Область / край /

LDAP_FIELD_STATE

st



PERSONAL_ZIP

Почтовый индекс /

LDAP_FIELD_ZIP

postalCode



PERSONAL_COUNTRY

Страна /

LDAP_FIELD_COUNTRY

c



WORK_COMPANY

Наименование компании /

LDAP_FIELD_COMPANY

company



WORK_DEPARTMENT

Департамент / Отдел /

LDAP_FIELD_DEP

department



WORK_POSITION

Должность /

LDAP_FIELD_POS

title



WORK_PHONE

Телефон /

LDAP_FIELD_WORK_PHONE

telephoneNumber



WORK_FAX

Факс /

LDAP_FIELD_WORK_FAX

facsimileTelephoneNumber



WORK_PAGER

Пейджер /

LDAP_FIELD_WORK_PAGER




ADMIN_NOTES

Заметки администратора /

LDAP_FIELD_ADMIN_NOTES

description



Выводы по интеграции данных Active Directory и Битрикс

Текущий функционал синхронизации требует доработки. Коробочная версия Bitrix24 содержит ряд ошибок и странностей и не позволяет корректно произвести синхронизацию “с наскока”.

Документация недостаточна, что приводит к постоянным проблемам, настройку многих параметров (Фильтр для пользователей, Соответствие полей пользователя и атрибутов LDAP, Фильтр для групп пользователей, Корень дерева (base DN)) приходится производить "методом тыка".

Тем не менее, это очень полезный инструмент для больших компаний. Значительно упрощает настройку и поддержку корпоративного портала.

Корректная работа базового функционала синхронизации модуля обеспечена только при установке на новый корпоративный портал. При установке на уже существующий портал, возникнет масса сложностей, обойти которые можно, но проблематично. ИНТЕРВОЛГА рекомендует использовать синхронизацию при установке новых порталов.

По итогам работ по синхронизации все работы выполнены, заказчик доволен. Создано два обращения под номерами 33386 и 92746 к разработчикам Bitrix24, на основании которых в будущем будет улучшен функционал синхронизации LDAP и Bitrix24.

Если вам требуется настройка синхронизации Bitrix24 и Active Directory, наша компания будет рада помочь в решении этого вопроса.
Оцените статью
22.11.2017
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

10 обязательных задач поддержки сайта на БитриксСтатья посвящена организации поддержки сайтов на Битрикс. Здесь не только про решение технических проблем и устранение багов. Здесь про развитие живых проектов...
Как увеличить продажи оптово-розничных компаний с помощью автоматизации?Расскажем об увеличении продаж металлопроката за счет улучшения пользовательского опыта. Доработали интернет-магазин, чтобы клиенты видели свои заказы независим...
ТОП проблем сайтов на Битриксе из аудитов ИНТЕРВОЛГИ В статье расскажем о наиболее частых ошибках разработки проектов на 1С-Битрикс. Мы выявили их в ходе 10+ последних аудитов производительности и качества код...
Запускаем бесконтактную доставку в интернет-магазине на БитриксСегодня, как никогда, магазины стремятся перенести продажи в онлайн. Это не просто тренд – это необходимость. Но если у вас уже есть интернет-магазин, это не зн...
Foodtech-разработка: интерфейсы для касс MYBOXСтатья о том, как разобраться с задачей переработки дизайна кассового ПО MYBOX: выезд «в поля», вдумчивый аудит и много-много раз перерисованный дизайн ...
Решение типовых ошибок при организации продаж через интернет-магазин в разные регионы Как сделать свой сайт удобным для пользователей, оперативным в обновлении актуальных остатков, цен, скидок для товаров в их регионе? Счастливые облад...
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем