Служба AD Sync - обеспечивает непрерывную, одностороннюю синхронизацию из Active Directory (AD) предприятия в CloudPortal Services Manager (CPSM) в Cloud24. Служба AD Sync позволяет синхронизировать контроллеры домена вашей компании с контроллерами домена CPSM.

    AD Sync может быть установлен только на контроллере домена, с любой версией Windows Server от 2003 R2 до 2019 года. Однако, если у вас есть контроллеры домена Windows Server 2012 или более поздние версии, необходимо повысить уровень функциональности домена до Windows Server 2008 или более поздней. Если этого не сделать, работа AD Sync будет нестабильной.

    Для корректной синхронизации эта служба должна быть установлена на всех контроллерах домена в вашем лесу AD. Работа этой службы не будет никак заметна в вашей сетевой среде.

    Атрибут User Principal Name (UPN) вашего пользователя  в AD будет именем пользователя в Cloud24. Учетные записи ваших пользователей в CPSM будут регулярно синхронизироваться с любыми изменениями, выполненными в вашем локальном лесу AD.



Установка AD Sync.


Следующие шаги должны быть выполнены на всех контроллерах домена в вашем лесу Active Directory. Если существуют дочерние домены, AD Sync должен быть помещен в каждый домен.


  1. Войдите в CloudPortal Services Manager (CPSM) под учетной записью, предоставленные вам службой поддержки Cloud24.

  2. Создайте Global Security группу в вашей AD с названием AD Sync и добавьте в эту группу всех пользователей, планируемых для синхронизации в Cloud24.

  3. В панели CPSM в меню Services перейдите в AD Sync и нажмите  AD Sync Download.

  4. Загрузите дистрибутив AD Sync на каждый контроллер домена в лесу.

    1. Двойным кликом запустите установку;

    2. Нажмите Next;

    3. Введите пароль Вашей учетной записи администратора панели;

    4. На шаге Events to watch активируйте опции Watch for changes to users, Watch for changes to contacts, Watch for changes to groups. 
      Опцию User out of scope action: Ignore
      Оставьте значение User, contact, and group watch frequency (second) 5 секунд
      Нажмите Next;

    5. На шаге  User, contact, and group to synchronize удалите все группы, перечисленные в разделе Exclude users in these groups, а также группу Users в разделе Include users in these groups. Эти поля теперь должны быть пустыми.
      В поле Group name введите AD Sync и нажмите Find now. Это должно найти глобальную группу безопасности, созданную на шаге 2.

    6. На шаге User Information section оставляем без изменений;

    7. На шаге Connection Information section оставляем без изменений;

    8. Если в компании используется Proxy server, введите данные сервера;

    9. Путь установки рекомендуется оставить по умолчанию;

    10. Внести в файл конфигурации (C:\Program Files\AD Sync\ADSync.exe.config) изменения в строках указанные ниже

            <setting name="UpnFormat" serializeAs="String">
              <value>UserPrincipalName</value>
            </setting>
      
            <setting name="UploadMaxErrors" serializeAs="String">
              <value>5</value>
            </setting>
      
            <setting name="UserSync" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="ContactSync" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="ContactSyncDelete" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="GroupSync" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="BatchUploads" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="ThrottleUploads" serializeAs="String">
              <value>True</value>
            </setting>
      
            <setting name="MaxResubmits" serializeAs="String">
              <value>5</value>
            </setting>

      примечание: если у компании несколько почтовых доменов строку <setting name="UpnFormat" serializeAs="String"> желательно оставить без изменений

      если у клиента не подготовлен тот же домен, как указано в UPN пользователей, синхронизация завершится неудачно.



    11. После окончания установки необходимо перезагрузить контроллер домена.


Первая синхронизация пользователя


Первоначально, когда пользователь добавляется в группу AD Sync для синхронизации, сам пользователь будет синхронизироваться с пустым паролем, изменение пароля фиксируется только при его изменении. Таким образом, чтобы синхронизировать пароли, пользователь должен изменить свой пароль после синхронизации учетной записи. Самый простой способ сделать это — включить опцию затребовать пароль при первом входе.


Расширенные настройки AD Sync


В случае если у компании имеется несколько почтовых доменов и есть необходимость синхронизировать с вашей AD атрибут пользователя mail необходимо внести ряд изменений в сервис и конфигурационные файлы AD Sync


Обратитесь в службу поддержки, наши инженеры должны внести изменения в сервис как указано ниже


Перед внесением изменений обязательно сделайте резервную копию изменяемых файлов! 


На всех контроллерах домена в файле C:\Program Files\AD Sync\Requests\SetUser.xml необходимо строки


      <addresses templatedependency="userAddressSync">
        <address templatedependency="otherAddresses" templateforeach="otherAddress,otherAddresses" primary="False">{otherAddress}</address>
        <address templatedependency="mail,primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="False">{mail}</address>
        <address templatedependency="primaryAddress" primary="False">{upn}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="False">{upn}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}=""' primary="True">{upn}</address>
        <address templatedependency="-mail,-primaryAddress" primary="True">{upn}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="True">{mail}</address>
        <address templatedependency="primaryAddress" primary="True">{primaryAddress}</address>
      </addresses>

заменить на

 <addresses templatedependency="userAddressSync">
        <address templatedependency="otherAddresses" templateforeach="otherAddress,otherAddresses" primary="False">{otherAddress}</address>
        <address templatedependency="mail,primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="False">{mail}</address>
        <address templatedependency="primaryAddress" primary="False">{mail}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="False">{mail}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}=""' primary="True">{mail}</address>
        <address templatedependency="-mail,-primaryAddress" primary="True">{mail}</address>
        <address templatedependency="mail,-primaryAddress" templatecondition='{mail}&lt;&gt;""' primary="True">{mail}</address>
        <address templatedependency="primaryAddress" primary="True">{primaryAddress}</address>
      </addresses>


В файле C:\Program Files\AD Sync\ADSync.exe.config замените строки

      <setting name="UserAdressSync" serializeAs="String">
        <value>False</value>
      </setting>

на

      <setting name="UserAdressSync" serializeAs="String">
        <value>True</value>
      </setting>



Перезагрузите все ваши контроллеры домена.


После внесенных изменений будут синхронизироваться только пользователи с явно указанным атрибутом email иначе в логах Ad Sync вы увидите ошибки

Error  2  Failed to upload user 'Jane.Wilde' because Failed to update user 'Jane.Wilde': User eMail address '' is not valid


Увеличение размера файла логов


По умолчанию размер файла логов не может превышать стандартного ограничения файла .NET и по умолчанию составляет 5Мб. После в файл прекращается запись, ротация логов ежедневная. 


Для изменения настроек логирования необходимо внести изменения в файл конфигурации ADSync.exe.config


строки:


      <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" location="Custom" logFileCreationSchedule="Daily" traceOutputOptions="DateTime" autoFlush="True" customLocation="C:\Program Files\AD Sync\Logs">
        <filter type="System.Diagnostics.EventTypeFilter" initializeData="ActivityTracing,Information"/>
      </add>


заменить на:


      <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" location="Custom" logFileCreationSchedule="Daily" traceOutputOptions="DateTime" autoFlush="True" customLocation="C:\Program Files\AD Sync\Logs" maxFileSize="20971520" reserveDiskSpace="1073741824">
        <filter type="System.Diagnostics.EventTypeFilter" initializeData="ActivityTracing,Information"/>
      </add>

Где

АтрибутОписание
maxFileSize
Максимальный размер файла журнала в байтах. По умолчанию журналирование прекращается при достижении лимита.
logFileCreationSchedule

Ротация файла журнала. Возможные значения: None, Daily, Weekly.

customLocation
Полный путь к папке, в котором будут создаваться файлы логов. Можно указать отдельный диск
reserveDiskSpace
Минимальное оставшееся место на диске в байтах, прежде чем разрешить запись файлов журнала. По умолчанию запись журнала прекращается при достижении этого предела. 


Рекомендуемые параметры конфигурационного файла AD Sync


Имя значения
Значение
Описание
UserPollTime
20
Немного снижает нагрузку на AD
UploadPollTime
20
Снижает нагрузку на API и SQL-сервер за счет уменьшения частоты выполнения выгрузки. 
LogMask
65535
Для более подробного логирования ошибок
UploadMaxErrors
5
Количество попыток синхронизации при возникновении ошибок
EventLogWatch
True
Использование изменений в AD, записанные в журнал событий. Позволяет синхронизировать только те изменения, которые включены в набор свойств объекта AD, что приводит к меньшему количеству вызовов API и повышению производительности в целом. 
UserAttributesSyncOnChange
True
Синхронизация только измененных атрибутов пользователя AD

ContactAttributesSyncOnChange 
True
Синхронизация только измененных атрибутов контакта AD
GroupAttributesSyncOnChange
True
Синхронизация только измененных атрибутов группы AD

MaxGetStatusTries 
5
Обнаруживает объекты в состоянии подготовки и перезапускает синхронизацию

ThrottleUploads 

True
Включает ограничение количества измененных объектов в очереди на синхронизацию. Повышает производительность и снижает нагрузки на серверы API/SQL. 
ThrottleLimit
50-100
Количество элементов в очереди на синхронизацию
BatchUploads
True
Если в синхронизируемой группе большое количество объектов этот параметр позволит разделить объекты на очереди что позволит снизить нагрузку на API
UploadBatchSize
50
Количество элементов, отправляемых в одном запросе. (к элементу выше)
MaxResubmits
5
Количество попыток повторной отправки элементов группы, если члены группы не смогли их отправить. Если это значение не задано, группа будет повторяться бесконечно. 


Переустановка или обновление AD Sync.


Если вы планируете переустановить или обновить AD Sync,  необходимо выполнить следующие шаги на каждом контроллере домена.
1. Удалить AD Sync
2. Перезагрузите контроллер домена
3. Удалите папку установки AD Sync (по умолчанию это C:\Program Files\ AD Sync)
4. Установите AD Sync в соответствии с инструкцией ниже