Настройка AD/LDAP
Требования
- Запущенный и настроенный вами AD/LDAP сервер. Документация:
Настройка через Системную Консоль применяются только, если у вас файловая система с возможностью записи и Time не запущен в режиме кластера. Все параметры этой инструкции можно задавать через переменные окружения.
Подробнее об этом читайте в Admin Guide.
Настройка Time
-
Проконсультируйтесь с администратором вашего AD/LDAP сервера и получите параметры для подключения.
-
Заполните полученные данные в env-переменные. Получившаяся конфигурация будут выглядеть примерно так:
TIME_LDAPSETTINGS_ENABLE: true
TIME_LDAPSETTINGS_ENABLESYNC: false
TIME_LDAPSETTINGS_LDAPSERVER: ldap.example.com
TIME_LDAPSETTINGS_LDAPPORT: 389
TIME_LDAPSETTINGS_CONNECTIONSECURITY: "" # tls | starttls
TIME_LDAPSETTINGS_BASEDN: DC=example,DC=com
TIME_LDAPSETTINGS_BINDUSERNAME: ldap_username
TIME_LDAPSETTINGS_BINDPASSWORD: ldap_password
TIME_LDAPSETTINGS_FIRSTNAMEATTRIBUTE: givenName
TIME_LDAPSETTINGS_LASTNAMEATTRIBUTE: sn
TIME_LDAPSETTINGS_EMAILATTRIBUTE: mail
TIME_LDAPSETTINGS_USERNAMEATTRIBUTE: sAMAccountName
TIME_LDAPSETTINGS_NICKNAMEATTRIBUTE: mailNickname
TIME_LDAPSETTINGS_IDATTRIBUTE: objectGUID
TIME_LDAPSETTINGS_POSITIONATTRIBUTE: title
TIME_LDAPSETTINGS_LOGINIDATTRIBUTE: sAMAccountNameгде:
ldap.example.com
— DNS-имя вашего AD/LDAP сервераDC=example,DC=com
— базовая ветка поискаldap_username
— учетная запись в AD/LDAP с доступом на чтение ко всем интересующим группам и пользователямldap_password
— пароль от учетной записи выше
подсказкаДля проверки корректности настроек — их можно указать в Системной консоли (без сохранения) и нажать кнопку Протестировать подключение к AD/LDAP.
-
Ваши настройки могут существенно отличаться, если требуется шифрованное подключение к AD/LDAP серверу.
Необходимые параметры подключения и значения для них ищите в Admin Guide, раздел "AD/LDAP (бета)".
-
Перезапустите Time (все инстансы).
-
В логах не должно быть ошибок настройки LDAP.
Сообщение об ошибке при старте будет вида
ldap: connectivity check failed
, в полеerror
в логе будет указан детальный текст ошибки при попытке подключения к LDAP. В случае, если ошибка возникла — поправьте конфигурацию Time и перезапустите time-server снова. -
Войдите в Time как системный администратор, перейдите в System Console → Authentication → LDAP:
-
В поле User Filter укажите корректный AD/LDAP фильтр для пользователей. Он будет добавлен с условием
И
в запрос AD/LDAP при авторизации и синхронизации пользователя. -
В поле Group Filter укажите корректный AD/LDAP фильтр для пользователей. Он будет добавлен с условием
И
в запрос AD/LDAP при синхронизации группы. -
Если переключить Enable Admin Filter в положение
true
и указать Admin Filter, то пользователь, подходящий под этот фильтр, автоматически получит роль System admin. Admin Filter применяется аналогично User Filter на этапе авторизации пользователя. -
Нажмите кнопку Save.
Настройка параметров пользователя
Изменяйте стандартные значения параметров только в случае, если вы точно знаете, что делаете.
В некоторых случаях стандартные параметры для пользователей в AD/LDAP могут отличаться от общепринятых. В таком случае можно изменить стандартный маппинг полей AD/LDAP в поля пользователя:
Назначение полей можно узнать, прочитав комментарий под соответствующим полем.
Синхронизация
Синхронизация с AD/LDAP позволяет обновлять параметры пользователей с учетом изменений AD/LDAP сервера.
Джоба синхронизации не реагирует на изменение конфигурации в Системной консоли — необходимо перезапускать Time.
Синхронизация позволяет:
- Выгружать с AD/LDAP сервера группы, которые затем можно линковать к группам Time (подробности Связь групп AD/LDAP и групп Time).
- Обновлять профили пользователей, которые были созданы с использованием AD/LDAP авторизации.
- Синхронизировать участников групп, которые были слинкованы с Time. При этом, новые участники не будет создаваться. Будут только перемещаться уже существующие или удаляться из группы.
- На основе настроек группы в канале/команде, будут добавляться/убираться уже существующие в Time пользователи.
- Автоматическое добавление пользователей с ролью Системного админа.
Синхронизация групп
Синхронизация групп позволяет автоматизировать получение доступа к каналам/командам, основываясь на AD/LDAP группах.
Важно, чтобы был корректно настроен Group Filter из шагов выше.
Параметры:
- Group Display Name Attribute отвечает за имя группы
- Group ID Attribute отвечает за уникальный идентификатор группы в LDAP, который будет использоваться для идентификации группы в случае, если ее название изменяется
Параметры синхронизации
После настройки синхронизации групп, необходимо настроить запуск синхронизации.
Для запуска джобы синхронизации в настройках необходимо переключить Enable Synchronization with AD/LDAP в положение true
и сохранить изменения, нажав кнопку Save.
Параметры Synchronization Performance отвечают за настройки джобы синхронизации.
Синхронизация на больших деревьях может занимать значительное время, а так же приводить к высокой нагрузке на Time и AD/LDAP сервер.
Рекомендуем запускать индексацию не чаще 1 раза в час, а так же выгружать за один раз из LDAP не больше 1000 групп.
Статус джобов синхронизации отображается под настройками:
Связь групп AD/LDAP и групп Time
Синхронизация через LDAP позволяет создавать группы в Time и наполнять их пользователями.
После первой синхронизации в разделе System console → User management → Groups появится список групп, который были выгружены из AD/LDAP при синхронизации.
Наличие группы в этом списке не значит, что она синхронизируется.
Для того, чтобы использовать группы AD/LDAP, их необходимо привязать к Time. Для этого:
-
Найдите в списке интересующую вас группу.
-
Нажмите на кнопку Not linked рядом с интересующей вас группой.
-
Затем нажмите на ссылку Configure
-
В появившемся окне укажите имя группы в поле Name. Это поле будет предзаполнено значением из Group Display Name Attribute, полученным от AD/LDAP сервера.
-
Переключатель Enable Group Mentions (Beta) позволяет сделать группу доступной всем пользователям. Это позволит пользователям:
- тегнуть всех участников группы, используя тег группы
- просмотреть список участников группы
-
Поле Group Mention позволяет задать короткий тег для группы.
-
Кнопка Add Team and Channel позволяет задать в какие команды и каналы будет автоматически добавляться пользователь группы при синхронизации.
-
Нажмите на кнопку Add Team.
-
В появившемся окне выберите необходимые команды и нажмите Add.
Аналогично настраивается доступ к каналам.
Важно помнить, что в каналы по умолчанию пользователь добавляется автоматически при добавлении в команду. Нет необходимости дополнительно прописывать эти каналы в настройках группы.