Настройка сервера ActiveDirectory и плагина «Hierarchy» для синхронизации

Если вы не планируете синхронизировать структуру с хранилищем Ldap, вы можете настроить ее вручную, как это описано в инструкции по созданию должностей и отделов для плагина «KPI».

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

Настройка иерархии отделов

  • На контроллере домена откройте стандартную оснастку «Active Directory Пользователи и компьютеры».

  • Создать OU, в котором будет хранится иерархическая структура отделов. Выбранный в дальнейшем в настройках плагина этот OU и будет являться подразделением максимального уровня.

  • В данном OU создать группу безопасности, с названием абсолютно идентичным названию OU. Это необходимо для того, чтобы группа безопасности определялась как отдел. Помимо данной группы, в контейнере могут существовать и другие группы безопасности AD, но они не будут интерпретированы как отделы при синхронизации.
    По данному принципу создать всю структуру отделов вашей компании.

  • Сами пользователи могут находится как в созданном OU, так и в другом месте. Принадлежность к отделу определяется членством пользователя в группах, интерпретируемых как отдел.

  • Открыть параметры группы безопасности, являющейся отделом.

  • Добавить в данную группу всех пользователей, являющихся сотрудниками этого отдела.

  • В параметрах группы на вкладке «Управляется», выберите пользователя, который является руководителем этого отдела.

Выполняя данные шаги, настройте иерархию отделов, добавив в них пользователей и указав руководителей этих отделов.

Настройка должностей

Должности, также как и отделы, в домене создаются в виде групп безопасности. Однако, нет необходимости задавать какую-либо структуру. Это просто список групп, в которые вы должны будете добавить сотрудников, в соответствии с их должностями.

  • Выделите отдельный OU

  • Создайте в этом OU группы безопасности, которые будут являться должностями

  • Добавьте в группу безопасности, являющуюся должностью, тех сотрудников, которые состоят в данной должности в вашей организации.

Настройка офисов

Настройка офисов производится абсолютно так же, как мы настроили должности. Следует выделить отдельный OU, в котором создать список ваших офисов, если это необходимо. Указанием места работы сотрудника в данном офисе также является его членство в группе безопасности домена.

Проверка структуры

Если пользователь на сервере AD является членом двух групп, являющихся отделом, то при синхронизации только первая из них применится в качестве отдела пользователя. Та же логика применяется для должностей и офисов.
  • Вы можете открыть параметры пользователя и проверить список групп, в которых он состоит.

  • При необходимости, в этом же интерфейсе задайте правильный набор групп для должности, отдела и офиса.

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

Настройка параметров плагина

Настроив структуру объектов в ActiveDirectory, теперь можно сконфигурировать плагин и указать, откуда в иерархии объектов AD должны браться пользователи, отделы, должности, офисы и прочая информация.

  • Зайти в раздел Администрирование, далее выбрать раздел Модули и в открывшемся окне зайти в настройки плагина «Ldap Users Sync».

  • Установить флажок «Включить синхронизацию с LDAP».

  • Установить параметр «Метод определения типа объекта» в OU.

  • Задать параметры для полей «OU, в котором хранится дерево департаментов», «OU, в котором хранится список должностей», «OU, в котором хранится список офисов».

  • Указать jQuery selector для полей, в которых необходимо выводить информацию о сотрудниках находящихся в отпуске.

  • Остальные параметры являются опциональными. Синхронизация дополнительных данных из ActiveDirectory основана на расширении стандартной схемы дополнительными атрибутами, в которых, например, могут храниться данные об отпусках, днях рождениях, фотографиях сотрудников и т.п.

  • Зайдите в раздел Отделы в интерфейсе администратора Redmine.

  • Сначала выполните синхронизацию пользователей из AD.

  • Затем запустите синхронизацию отделов, должностей и офисов.

  • В результате вы получите в Redmine настроенную на вашем контроллере домена структуру.

  • Иерархию подчиненности пользователей можно проверить нажав на ссылку Показать иерархию пользователей.

Плагин «Hierarchy» имеет множество прочих настроек, определяющих объекты синхронизации или изменяющих стандартное поведение Redmine.

  • «Включить синхронизацию с LDAP» - если опция выключена, то при запускe любых процедур по синхронизации, не будет происходить ничего. Это необходимо, чтобы обезопасить себя от случайного перестраивания структуры в тех случаях, когда синхронизация у вас настроена автоматически по запуску cron.
  • «Использовать свою страничку о пользователе» - ссылка на профиль пользователя будет подменена всплывающим окном с информацией о пользователе, историей его действий и т.д. Набор данных зависит от установленных в системе плагинов.
  • «Доступ только к своим действиям и действиям подчиненных» - скроет в истории пользователей все действия, не относящиеся непосредственно к самому пользователю или его подчиненным.
  • «Лимит AD на получение количества записей по запросу» - стандартное количество отдаваемых из AD записей ограничено 1000 элементов. Если количество объектов синхронизации превышает это число, необходимо задать эту настройку или увеличить лимит на Контроллере Домена.
  • Набор настроек, относящихся к нестандартным атрибутам в объекте пользователя в AD. Если прописать в поля соответствующие атрибуты, то они будут выгружаться в Redmine автоматически.
  • В частности, если в AD заданы сроки отпуска пользователя и указан заместитель, то в Redmine при синхронизации будет происходить отслеживание данной ситуации. Замещающий получит права на период отпуска сотрудника автоматически. Права будут аннулированы автоматически по истечении отпуска в момент синхронизации с AD.
  • «Предупреждать об отпуске, если сотрудник выбирается в полях со следующими идентификаторами» - идентификаторы полей (селектор jQuery), по которым будут отслеживаться выпадающие поля типа пользователь. Если в данном поле будет выбран сотрудник, находящийся в отпуске в текущий момент, то появится уведомление о замещающем с возможностью быстрой подмены пользователя в поле.
  • Блок, с настройками для аватаров определяет, в каком атрибуте в AD брать данные с фотографией пользователя, в какой подпапке Redmine будут сохраняться фотографии пользователей. Прочие параметры определяют, разрешены ли пользовательские фотографии - «Использовать аватары из LDAP», и будут ли синхронизированы аватары при штатной синхронизации пользователей - «Загружать аватары из LDAP во время выполнения rake задач».