CommuniGate Pro
+7 (499) 271-31-54 обратный звонок
КУПИТЬ

Интеграция Active Directory и CommuniGate Pro

Скачать модуль для интеграции Active Directory и CommuniGate Pro можно здесь >>.

ADSync-CGP - это программа, который обеспечивает интеграцию Active Directory и CommuniGate Pro. Приложение представляет собой службу Windows, которая отслеживает изменения записей в Active Directory и применяет данные изменения к аккаунтам CGPro. ADSync-CGP поддерживает процедуры создания записей, изменения значений полей записей, а также удаление записей. Текущая версия утилиты поддерживает также обработку групп Active Directory с созданием групп в CGPro с соответствующими участниками. Связь с сервером CGPro поддерживается по протоколу PWD.

Для установки службы распакуйте архив и запустите файл установки ADSync-CGPSetup.msi. После установки зайдите в директорию приложения (по умолчанию C:\Program Files\CommuniGate Systems\ADSync-CGP) и откройте файл с расширением .config в текстовом редакторе.

Задайте следующие параметры в XML (опциональные параметры отмечены символом "*"):

ADBaseDN: родительский DN (контейнер) для записей, изменения которых необходимо отслеживать (возможно задание нескольких DN с использованием символа "|" (символ pipe, без кавычек) в качестве разделителя);

*ADCGDefaultDomainName: имя домена, используемое по умолчанию для синхронизируемых пользователей CGPro, если не задано, то используется главный домен сервера;

*ADCGSyncAllOnStart: значение "true" указывает на необходимость синхронизации (создания и/или обновления настроек пользователей) всех записей в контейнере/контейнерах, указанных в ADBaseDN, при каждом запуске службы;

ADAccountNameAttribute: название атрибута записи пользователя, значение которого будет использоваться как имя аккаунта CGPro, может включать доменную часть (username@domain.name);

ADCGAccountStatus: название атрибута записи пользователя, для обработки данной записи утилитой ADSync-CGP значение атрибута должно включать подстроку "enabled", если значение включает подстроку "disabled", то доступ пользователя CGPro к сервисам отключается, при наличии подстроки "deleted" доступ пользователя к сервисам отключается, имя пользователя CGPro изменяется на "deleted_<username>":

www.communigate.ru/communigatepro/russian/Accounts.html#Services

*ADCGStatusScript: название синхронного скрипта, используемого для анализа необходимости обработки записей утилитой ADSync-CGP (см. подробное описание ниже);

*ADCGStatusFields: список атрибутов для передачи в синхронный скрипт, перечисленных через запятую, указанный в ADCGStatusScript (см. подробное описание ниже);

ADObjectClass: название класса LDAP, записи которого считаются записями пользователя;

ADGroupNameAttribute: название атрибута записи группы, значение которого будет использоваться для задания имени группы CGPro;

*ADGroupRealNameAttribute: название атрибута RealName группы;

ADCGGroupStatus: название атрибута статуса синхронизации группы (по аналогии с ADCGAccountStatus);

ADGroupObjectClass: название класса групп (по аналогии с ADObjectClass);

*ADGroupSetReplyTo, ADGroupExpand, ADGroupRemoveAuthor, ADGroupEmailDisabled, ADGroupFinalDelivery, ADGroupRejectAutomatic, ADGroupRemoveToAndCc, ADGroupSignalDisabled: названия атрибутов, значения которых необходимо синхронизировать в соответствующие настройки групп CGPro:

www.communigate.ru/communigatepro/russian/Groups.html#Settings

CGProAddress: адрес (доменное имя) сервера CGPro, можно задать несколько адресов через запятую;

*CGProPort: порт протокола PWD сервера CGPro:

www.communigate.ru/communigatepro/russian/PWD.html

*CGProSSL: значение "true" указывает на необходимость использования шифрования SSL/TLS для соединения с сервером CGPro:

www.communigate.ru/communigatepro/russian/PKI.html

*CGProDomain: имя домена CGPro для создания шифрованного соединения, требуется, если адрес сервера и имя домена, на которое выписан SSL-сертификат, различаются;

*CGProSecureLogin: значение "true" указывает на необходимость использования безопасного метода передачи пароля APOP при аутентификации сессии PWD:

www.communigate.ru/communigatepro/russian/Security.html#SASL

CGProUsername/CGProPassword: имя/пароль пользователя CGPro с административными правами;

*LogDir,LogLevel,LogSizeLimit,LogRotationPeriod: параметры записи логов утилиты ADSync-CGP (директория, уровень детализации, предельный объём файла в МБ, период ротации в днях);

*CacheSize: размер кэша утилиты синхронизации (для увеличения производительности рекомендуется устанавливать достаточно большое значение порядка десятков тысяч).


После данных параметров в той же секции конфигурации вы можете задать необходимые соответствия для названий атрибутов и параметров аккаунтов, которые необходимо синхронизировать, например, givenName -> RealName, ou -> o и т.д.:

<add key="givenName" value="RealName" />
<add key="ou" value="o" />

www.communigate.ru/communigatepro/russian/Accounts.html#Settings
www.communigate.ru/communigatepro/russian/CentralDir.html#CustomSettings

После задания конфигурации вы можете найти и запустить службу стандартными средствами Панель управления -> Администрирование -> Службы. Журнал событий службы можно найти в Панели управления -> Администрирование -> Просмотр событий. Подробные логи утилиты по умолчанию сохраняются в директорию приложения (C:\Program Files\CommuniGate Systems\ADSync-CGP).


Интеграция с синхронным скриптом CGPro для проверки статуса синхронизации записей

Если задание статуса синхронизации записей в отдельном поле, указываемом в параметрах ADCGAccountStatus и ADCGGroupStatus, не представляется возможным или требует реализации дополнительной логики обработки, то для выполнения такого анализа можно использовать функционал синхронных скриптов CGPro:

www.communigate.ru/communigatepro/russian/CGPL.html#SyncScripts

Имя скрипта задаётся в параметре конфигурации утилиты ADCGStatusScript, а список атрибутов, которые необходимо передевать в скрипт, - в параметре ADCGStatusFields. Скрипт должен быть заранее загружен в безымянный интерфейс CGPro. Для каждой записи AD, обрабатываемой утилитой ADSync-CGP, данный скрипт вызывается с параметром в виде словаря CGPro:

www.communigate.ru/communigatepro/russian/Data.html#Dictionary

Словарь параметров содержит обязательный ключ "#type#", значение по которому соответствует типу записи "account" или "group". Остальные ключи словаря соответствуют атрибутам, указанным в параметре конфигурации ADCGStatusFields, например:

<add key="ADCGStatusScript" value="adsync-status" /> <!-- параметр в файле конфигурации -->
<add key="ADCGStatusFields" value="employeeType,manager" /> <!-- параметр в файле конфигурации -->
{"#type#"="account";"employeeType"="worker";"manager"="worker manager";} // данные, передаваемые в синхронный скрипт adsync-status.scgp


Для обработки информации, предоставленной в параметре скрипта, может использоваться функционал CG/PL:

www.communigate.ru/communigatepro/russian/CGPL.html

В результате обработки синхронный скрипт должен установить в качестве результата своего выполнения одну из следующих строк:

enabled - синхронизация записи включена;
disabled - синхронизации записи включена, требуется отключение сервисов пользователя;
deleted - синхронизация записи включена, требуется отключение сервисов и переименование имени пользователя в "deleted_<username>";
invalid - синхронизация записи отключена.

Пример синхронного скрипта:

entry Main {
  var params = Vars().startParameter;
  if(!IsDictionary(params)) { // некорректный параметр запуска
    SetResult("invalid");
  }
  if(params.("#type#") == "account") { // обработка данных пользователя
    if(params.employeeType == "worker" && params.manager == "worker manager") {
      SetResult("enabled");
    } elif(params.employeeType == "former") {
      SetResult("deleted");
    } else {
      SetResult("disabled");
    }
  } elif(params.("#type#") == "group") { // обработка данных группы
    SetResult("enabled");
  } else { // неизвестный тип объекта
    SetResult("invalid");
  }
}

Для получения более подробной информации пишите на support@communigate.ru



Заказ звонка
Ваш телефон: +7