Интеграция 1С:CRM с Active Directory
Что такое AD простыми словами?
Службы Active Directory (службы активного каталога) представляют собой распределенную базу данных, которая содержит все объекты домена. Доменная среда Active Directory является единой точкой аутентификации и авторизации пользователей и приложений в масштабах предприятия. Именно с организации домена и развертывания служб Active Directory начинается построение ИТ-инфраструктуры предприятия
Active Directory (AD) облегчает доступ к ресурсам компании ее сотрудникам, облегчает хранение информации о ресурсах компании (компьютерах, пользователях, принтерах и так далее), основные используемые функции:
-
Сервис аутентификации (проверки логина и пароля).
-
Массовое распространение настроек всем пользователям и компьютерам сети.
-
База данных для хранения настроек совместимых приложений (например, Exchange, Skype, OneDrive).
Наше решение интеграции CRM - Active Directory
Входные данные
Зачем?
Предприятию можно намного упростить жизнь, сделав интеграцию 1C:CRM с Active Directory, она помогает избежать такие проблемы как:
-
Несвоевременное отключение доступа для сотрудников. (К примеру,при увольнении какого-либо работника - доступ отрезается не сразу же, более того, про возможность подключения к базе могут просто-напросто забыть. Благодаря интеграции 1С и AD при удалении пользователя из Active Directory уже бывший пользователь автоматически теряет возможность входа в систему 1С);
-
Ошибки или частичная заполненность данных пользователя при добавлении. (При внесении пользователя в 1С (без интеграции с AD) )необходимо для начала проверить нет ли его уже в системе, далее установить параметры для входа, заполнить карточку информацией - ввести номер телефона, почту и тд. Исходя из вышеперечисленного - при внесении данных можно легко запутаться или про что-то забыть);
-
Большая потеря времени. (На выполнение всего алгоритма по добавлению пользователей в систему, (без интеграции) уходит огромное количество времени - отсюда возможны простои в работе компании);
-
Дубли пользователей. (При внесении пользователя в 1С, необходимо проверить не заведен ли он уже. Без интеграции сделать это не составит большого труда, но никто не отменял человеческий фактор. Ведь когда вам необходимо внести 100 пользователей и проверить их же “Возможное” наличие в базе - задача начинает казаться не такой уж и легкой)
Пример реализации на конкретном предприятии:
В компании занимающейся торговлей, с более чем 100 сотрудниками, работающими в программе, предназначенной для автоматизации деятельности организаций сектора государственного и муниципального управления, было решено внедрить 1С:CRM. Так как компания динамически развивается, и процессы кадровых перемещений и структурных изменений происходят активно, было принято решение, с целью автоматизации рутинного процесса внесения новых пользователей в программу администратором 1С, использовать механизм интеграции 1С с AD.
Интеграция изнутри
Загрузка пользователей из Active Directory
Суть доработки в следующем: триггер "Загрузка пользователей из Active Directory", работающий по расписанию, опрашивает определенную группу безопасности AD (в которую помещаются доменные пользователи 1С), получает список всех пользователей из данной группы безопасности, далее создает новых или активирует старых в системе 1С:CRM.
Группа безопасности AD - используется для выделения прав пользователям на использование определенных информационных ресурсов Компании
Пример группы безопасности в домене
Поиск пользователя происходит по его логину в АД, если пользователь не найден, то учетной записи в 1С присваивается признак “Неактивна”, если найден, то остается без изменений. Список исключений в настройках триггера, создан для хранения исключений, активных пользователей 1с, которые могут отсутствовать в проверяемой группе домена.
Набор информации при создании нового пользователя в 1С зависит от такого какой фильтр LDAP в запросе используется. В нашем случае из карточки пользователя AD подтягивались такие данные как: данные, описанные в карточке пользователя AD: имя пользователя, аккаунт, домен, почта, телефонные номера и т.п.
Свойства пользователя домена
Поле используемое для хранения рабочего номера телефона
Карточка пользователя 1С заполненная на основании карточки пользователя домена выглядит так:
Заполненная карточка пользователя 1С
Набор информации, подтягиваемый в 1С, зависит от того какой фильтр LDAP в запросе мы используем- такие атрибуты мы и получаем. Соответственно, набор полей может быть любой, если они заполнены у пользователя домена. Задача поставленная перед нами, требовала получить только поля: Выводимое имя, Номер телефона, Эл. почта, IP-телефон, Мобильный номер.
При совпадении параметров с требованиями - в 1С:CRM создается пользователь, у которого заполнены оговоренные поля карточки, выставлены базовые права для входа в систему, а также настроен вход в 1С, привязанный к учетной записи в домене. Ответственному, указанному в триггере, формируется напоминание с именем вновь созданного пользователя и примечанием о необходимости назначить права доступа пользователю 1С.
После создания нового пользователя осуществляется проверка заполненности внешнего адреса электронной почты, если адрес заполнен, то запускается создание учетной записи и электронной почты MS Exchange. в нашем случае это входит в триггер по умолчанию - то есть, всегда срабатывает.
Реализация
Подключение к Active Directory было реализовано через механизм ADODB.Connection.
Нашей компанией в 1С:CRM была выполнена доработка стандартной конфигурации с применением технологии триггера. Технология триггеров использована для минимального изменения стандартной конфигурации 1С:CRM, таким образом появляется возможность изменения настроек и расписания работы без использования специализированных знаний и Конфигуратора (даже обычный администратор способен загрузить новый триггер, включить и отключить его).
“Функции интеграции 1C:CRM с Active Directory - это автоматическое создание на основании группы безопасности AD, пользователей в 1С, заполнение созданным пользователям данных для авторизации в домене, подключение корпоративных почтовых ящиков, подключение и настройка синхронизации календаря с MS Exchange. Кроме создания пользователей в 1С, добавленных в группу безопасности AD, была предусмотрена возможность отключения созданных пользователей в 1С (при удалении их из группы безопасности AD), а также возможность дополнения карточки пользователя данными из программы "Парус"
-Владимир Бычков (Технический специалист АКАМ).
Строка подключения
Ниже выведен список исключений - пользователи, которых нет в AD, но обязательно должны присутствовать в системе 1С (например администраторы):
Список исключений
Настройка MS Exchange
Подключение учетной записи электронной почты
Наши Итоги
Наше решение по интеграции 1C:CRM с Active Directory и MS Exchange применено успешно. Пройдя опытную эксплуатацию, в данный момент, оно используется в реальном времени.
Внедрение нашего решения позволило:
-
сократить повторяющиеся операции;
-
снизить время на настройку учетных записей пользователей в 1C:CRM;
-
производить эффективную и быструю загрузку данных пользователей из Active Directory;
-
своевременно, без больших временных затрат вносить пользователей в систему.
Собственно, плюсы здесь весьма очевидны, мы сокращаем время входа в 1С:Предприятие, также само администрирование пользователей становится проще.
Интеграция 1С:CRM и Active Directory решает ряд значимых проблем в компании:
-
При увольнении / уходе сотрудник сразу же теряет доступ не только к Active Directory, но и к самой системе. Исключается возможность “забыть” отключить доступ тому или иному пользователю;
-
Если пользователь есть в Active Directory, то при внесении его в систему- все его данные - почта, телефон, и тд подтягиваются автоматически. Теперь не нужно всю информацию вбивать вручную;
-
Увеличилась скорость внесения пользователей в систему 1С. Теперь, практически все манипуляции за вас делает триггер.
-
Исключена возможность появления дублей пользователей
Более того, в ходе разработки решена проблема внесения пользователей в 1С без связки с Active Directory:
-
Из-за того, что триггер сначала сверяет список Active Directory и список пользователей из 1С происходила следующая ситуация - некоторые пользователи (например администраторы системы) становились недействительными, соответственно, автоматически происходило их удаление, в связи с тем, что они не находились в группе доступа Active Directory. Так как, данные пользователи должны быть в системе 1С было решено создать список исключений. Теперь те пользователи, которых в группе доступа Active Directoryнет - хранятся в списке исключений.