Подключение к каталогу LDAP

Вы можете подключить ваше приложение JIRA к каталогу LDAP для проверки подлинности, управления пользователями и группами.

Обзор

Каталог LDAP представляет собой набор данных о пользователях и группах. LDAP (Легкий Протокол Доступа к каталогам)  (Lightweight Directory Access Protocol) - это интернет-протокол, который веб-приложения могут использовать для поиска информации об этих пользователях и группах с сервера LDAP.

Мы предоставляем встроенные разъемы для самых популярных серверов каталогов LDAP:

  • Microsoft Active Directory
  • Сервер Apache Directory (ApacheDS)
  • Apple Open Directory
  • Сервер каталогов Fedora
  • Novell eDirectory
  • OpenDS
  • OpenLDAP
  • OpenLDAP с использованием схемы Posix
  • Схема Posix для LDAP
  • Sun Directory Server Enterprise Edition (DSEE)
  • Общий сервер каталогов LDAP

Когда использовать эту опцию: подключение к серверу каталогов LDAP полезно, если ваши пользователи и группы хранятся в корпоративном каталоге. При настройке каталога вы можете выбрать только чтение, чтение только с локальными группами или чтение / запись. Если вы выбираете чтение / запись, любые изменения, внесенные в пользовательскую и групповую информацию в приложении, также будут обновлять каталог LDAP.

 

Подключение к каталогу LDAP в JIRA

Для того чтобы подключить JIRA к каталогу LDAP, необходимо выполнить следующие шаги:

  1. Войдите в систему как пользователь с глобальным разрешением «Системные администраторы JIRA» (JIRA System Administrators).
  2. Выберите  > «Управление пользователями» (User Management)> «Каталоги пользователей» (User Directories).

Комбинация клавиш: 'g' + 'g' + начало ввода 'каталогов'.

  1. Добавьте каталог (Add) и выберите один из следующих типов:
    • «Microsoft Active Directory» - эта опция обеспечивает быстрый способ выбора AD, потому что это самый популярный тип каталога LDAP.
    • «LDAP». На следующем экране вы сможете выбрать определенный тип каталога LDAP.
  2. Введите значения для параметров, как описано ниже.
  3. Сохраните настройки каталога.
  4. Определите порядок каталогов, щелкнув синими стрелками вверх и вниз рядом с каждым каталогом на экране «Пользовательские каталоги» (User Directories). Ниже приведено краткое описание того, как порядок каталога влияет на обработку:
    • Порядок каталогов - это порядок, в котором они будут искать пользователей и группы.
    • Изменения для пользователей и групп будут производиться только в первом каталоге, где приложение имеет разрешение на внесение изменений.

Подробнее см. Управление несколькими каталогами.

Заметки:

Для этой конфигурации каждый раз, когда пользователь входит в систему (то есть первый и последующий раз), данные пользователя в JIRA будут обновляться из данных пользователя в LDAP. Это включает имя пользователя, отображаемое имя, адрес электронной почты и членство в группах. Однако для членства в группах применяется только следующее:

  • только прямые группы (т. е. не вложенные группы) синхронизируются с LDAP.
  • только группы, которые уже присутствуют в JIRA, синхронизированы, т. е. группы не добавляются / удаляются, а иерархии групп не синхронизируются.

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

 Настройка

 Описание

 Имя

Введите значащее имя, чтобы помочь вам идентифицировать сервер каталогов LDAP. Примеры:

  •         Пример каталог штата компании
  •         Пример Компания Corporate LDAP

 Тип каталога

Выберите тип каталога LDAP, к которому вы будете подключаться. Если вы добавляете новое соединение LDAP, значение, которое вы выбрали здесь, будет определять значения по умолчанию для многих параметров на остальном экране. Примеры:

  •          Microsoft Active Directory
  •          OpenDS
  •          И более.

 Имя хоста

Имя хоста вашего сервера каталогов. Примеры:

  •          ad.example.com
  •          ldap.example.com
  •          opends.example.com

 

 Использовать SSL

Проверьте это, если соединение с сервером каталогов является соединением SSL (Secure Sockets Layer=Протокол SSL)). Обратите внимание, что вам необходимо настроить SSL-сертификат, чтобы использовать этот параметр.

                      Имя пользователя

Различающееся имя пользователя, которое приложение будет использовать при подключении к серверу каталогов. Примеры:

• сп = администратор, сп = пользователей, dc = объявления, DC = пример, DC = COM

• сп = пользователь, dc = домен, DC = имя

user@domain.name

 

 Пароль

Пароль пользователя, указанного выше.

Примечание. Для подключения к LDAP-серверу необходимо, чтобы это приложение зарегистрировалось на сервере с указанным здесь именем пользователя и паролем. В результате этот пароль не может быть односторонним хэшем - он должен быть восстановлен в контексте этого приложения. Пароль в настоящее время хранится в базе данных простым текстом без обфускации(запутывания). Чтобы гарантировать его безопасность, вам необходимо убедиться, что другие процессы не имеют разрешений на чтение на уровне операционной системы для базы данных или файлов конфигурации этого приложения.

 

Настройки схемы

 Настройка

 

 Описание

 Базовое имя DN (различающееся имя)

Коренное различающееся имя (DN) для использования при запуске запросов к серверу каталогов. Примеры:

  •          o=example,c=com
  •          cn=users,dc=ad,dc=example,dc=com
  •          Для Microsoft Active Directory укажите базовое DN в следующем формате: dc = domain1, dc = local. Вам нужно будет заменить domain1 и local для вашей конкретной конфигурации. Microsoft Server предоставляет инструмент ldp.exe, который полезен для определения и настройки структуры LDAP вашего сервера.

 Дополнительное пользовательское DN (имя)

Это значение используется в дополнение к базовому DN при поиске и загрузке пользователей. Если значение не задано, поиск поддерева будет начинаться с базового DN. Пример:

  •          OU = Users

 Дополнительное имя группы DN

Это значение используется в дополнение к базовому DN при поиске и загрузке групп. Если значение не задано, поиск поддерева будет начинаться с базового DN. Пример:

  •          ou=Groups

 

Настройки разрешения

Примечание. Вы можете  только назначать пользователей LDAP к локальным группам,  если не выбрано «внешнее управление управления пользователями»( External Management User Management')

 Настройка

 

 Описание

 Только для чтения

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

 Только чтение, с локальными группами

Пользователи LDAP, группы и членства извлекаются с вашего сервера каталогов и могут быть изменены только через ваш сервер каталогов. Вы не можете изменять пользователей, группы или члены LDAP через экраны администрирования приложений. Однако вы можете добавлять группы во внутренний каталог и добавлять пользователей LDAP к этим группам.

Примечание для пользователей Confluence: пользователи из LDAP добавляются в группы, которые хранятся во внутреннем каталоге Confluence при первом входе в систему. Это делается только один раз для каждого пользователя. Существует известная проблема с Read Only, с локальными группами в Confluence, которые могут применяться к вам. См. CONFSERVER-28621. Пользователь потеряет все локальные членства в группах- если LDAP Sync не удается найти пользователя, но пользователь снова появляется в последующих синхронизациях Разрешено.

 Чтение /Запись

Пользователи LDAP, группы и членства извлекаются из вашего сервера каталогов. Когда вы изменяете пользователя, группу или членство через экраны администрирования приложений, изменения будут применяться непосредственно к вашему серверу каталогов LDAP. Убедитесь, что пользователь LDAP, указанный для приложения, имеет разрешения на изменение на вашем сервере каталогов LDAP.

 

 

Автоматическое добавление пользователей в группы

 

 Настройка

 

 Описание

 Членство в группах по умолчанию

Вариант доступен в Confluence 3.5 и более поздних версиях и JIRA 4.3.3 и более поздних. Это поле появляется, если вы выберете разрешение «Только чтение, с локальными группами». Если вы хотите, чтобы пользователи автоматически добавлялись в группу или группы, введите здесь имена групп. Чтобы указать более одной группы, разделите имена групп запятыми.

В Confluence 3.5 to Confluence 3.5.1: Каждый раз, когда пользователь входит в систему,их членство группы будут проверяться. Если пользователь не принадлежит к указанной группе (-ам), их имя пользователя будет добавлено в группу (группы). Если группа еще не существует, она будет добавлена локально.

В Confluence 3.5.2 и более поздних версиях и JIRA 4.3.3 и более поздних версиях: при первом входе пользователя в систему члены группы будут проверяться. Если пользователь не принадлежит к указанной группе (-ам), их имя пользователя будет добавлено в группу (группы). Если группа еще не существует, она будет добавлена локально. При последующих логинах имя пользователя не будет добавляться автоматически в какие-либо группы. Это изменение поведения позволяет пользователям удаляться из автоматически добавленных групп. В Confluence 3.5 и 3.5.1 они будут добавлены после следующего входа в систему.

 

Имейте в виду, что имена групп не проверяются. Если вы неправильно наберете имя группы, это приведет к сбоям авторизации - пользователи не смогут получить доступ к приложениям или функциям на основе имени предполагаемой группы.

Примеры:

  •          confluence-users
  •          confluence-users,jira-administrators,jira-core-users

 

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

 

 Настройка

 

Описание

 Включить вложенные группы

Включить или отключить поддержку вложенных групп.

Некоторые серверы каталогов позволяют вам определить группу в качестве члена другой группы. Группы в такой структуре называются вложенными группами. Вложенные группы упрощают разрешения, позволяя подгруппам наследовать разрешения от родительской группы.

 Управление статусом пользователя локально

Если true, вы можете активировать и деактивировать пользователей в Crowd независимо от их статуса на сервере каталогов.

 Отфильтровать истекших пользователей

Если значение true, учетные записи пользователей, отмеченные как истекшие в ActiveDirectory, будут автоматически удалены. Для кэшированных каталогов удаление пользователя произойдет во время первой синхронизации после истечения срока действия учетной записи.

Примечание. Это доступно в Embedded Crowd 2.0.0 и выше, но недоступно в версии 2.0.0 m04.

 Использовать постраничные результаты

Включить или отключить использование расширения LDAP для простого поиска поисковых запросов. Если пейджинг включен, поиск будет извлекать наборы данных, а не все результаты поиска сразу. Введите желаемый размер страницы - то есть максимальное количество результатов поиска, которое будет возвращено на страницу при включении результатов подкачки. Значение по умолчанию - 1000.

 Перенаправление переходов

Выберите, разрешать ли серверу каталогов перенаправление запросов на другие серверы. Эта опция использует настройку конфигурации узла (JNDI lookup java.naming.referral). Обычно это необходимо для серверов Active Directory, настроенных без надлежащего DNS, для предотвращения ошибки 'javax.naming.PartialResultException: Unprocessed Continuation Reference(s)': ("необработанного продолжения ссылки").

 Наивное соответствие DN

Если ваш сервер каталогов всегда возвращает согласованное строковое представление DN, вы можете включить наивное соответствие DN. Использование наивного соответствия DN приведет к значительному улучшению производительности, поэтому мы рекомендуем включить его там, где это возможно.

 

Этот параметр определяет, как ваше приложение будет сравнивать DN, чтобы определить, равны ли они.

  •          Если этот флажок установлен, приложение выполнит прямое, нечувствительное к регистру, сравнение строк. Это стандартный и рекомендуемый параметр для Active Directory, поскольку Active Directory гарантирует формат DN.
  •          Если этот флажок не выбран, приложение проанализирует DN и затем проверит анализируемую версию.

 Включить инкрементную синхронизацию

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

 Помните, что при использовании этой опции учетная запись пользователя, настроенная для синхронизации, должна иметь доступ на чтение:

  •          Атрибута uSNChanged всех пользователей и групп в каталоге, который необходимо синхронизировать.
  •          Объектов и атрибутов в контейнере удаленных объектов Active Directory.

Если по крайней мере одно из этих условий не выполняется, вы можете оказаться в списке пользователей, которые добавлены (или удалены) из Active Directory, которая не добавляется (или удаляется) в приложении.

 Интервал синхронизации (минуты)

Синхронизация - это процесс, с помощью которого приложение обновляет свое внутреннее хранилище данных пользователя, чтобы согласовать данные на сервере каталогов. Приложение отправляет запрос на ваш сервер каталогов каждые x минут, где «x» - это номер, указанный здесь. Значение по умолчанию - 60 минут.

 Время ожидания чтения (в секундах)

Время, в секундах, ожиданиеь ответа, который будет получен. Если в течение указанного периода ответа нет, попытка чтения будет прервана. Значение 0 (ноль) означает, что нет предела. Значение по умолчанию - 120 секунд.

 Время ожидания поиска (в секундах)

Время, в секундах, ожидания ответа от операции поиска. Значение 0 (ноль) означает, что нет предела. Значение по умолчанию - 60 секунд.

 Время ожидания подключения (в секундах)

Этот параметр влияет на два действия. Значение по умолчанию равно 0.

  •          Время ожидания получения соединения из пула соединений. Значение 0 (ноль) означает, что нет предела, поэтому подождите бесконечно.
  •          Время, в секундах, ждать при открытии новых подключений к серверу. Значение 0 (ноль) означает, что будет использоваться таймаут сети TCP, который может составлять несколько минут.

 

Настройки схемы пользователя

 

 Настройка

 

 Описание

 Класс объектов пользователя

Это имя класса, используемого для пользовательского объекта LDAP. Пример:

  •          user

 Фильтр пользовательских объектов

Фильтр, используемый при поиске объектов пользователя. Пример:

  •          (&(objectCategory=Person)(sAMAccountName=*))

Дополнительные примеры можно найти здесь.

 Атрибут имени пользователя

Поле атрибута, используемое при загрузке имени пользователя. Примеры

  •          cn
  •          sAMAccountName

NB: В Active Directory «sAMAccountName» является полем «Имя пользователя для входа в систему (pre-Windows 2000)». В поле «Имя пользователя входа» указано «cn».

 Имя пользователя RDN-атрибут

RDN (относительное различающееся имя) для использования при загрузке имени пользователя. DN для каждой записи LDAP состоит из двух частей: RDN и местоположения в каталоге LDAP, где находится запись. RDN - это часть вашего DN, которая не связана с структурой дерева каталогов. Пример:

  •          cn

 Атрибут имени пользователя

Поле атрибута, используемое при загрузке имени пользователя. Пример:

  •          givenName(собственное имя)

 Атрибут последнего имени пользователя

Поле атрибута, используемое при загрузке имени пользователя. Пример:

·         sn

 Атрибут имени отображаемого имени пользователя

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

·         displayName (отображаемое имя)

 Атрибут электронной почты пользователя

 

Поле атрибута, используемое при загрузке адреса электронной почты пользователя. Пример:

  •          mail

 Атрибут пароля пользователя

Поле атрибута, используемое при загрузке пароля пользователя. Пример:

  • unicodePwd

 Атрибут уникального идентификатора пользователя

Атрибут, используемый как уникальный неизменяемый идентификатор для пользовательских объектов. Это используется для отслеживания изменений имени пользователя и является необязательным. Если этот атрибут не установлен (или установлен в недопустимое значение), пользовательские имена не будут обнаружены - они будут интерпретироваться как удаление пользователя при  добавлении нового пользователя.

Обычно это указывает на значение UUID. Соответствующие стандартам LDAP-серверы будут реализовывать это как «entryUUID» в соответствии с RFC 4530. Этот параметр существует, поскольку он известен под разными именами на некоторых серверах, например. 'objectGUID' в Microsoft Active Directory.

Настройки схемы группы

 

 Настройка

 

 Описание

 Класс объекта группы

Это имя класса, используемого для объекта группы LDAP. Примеры:

  •  groupOfUniqueNames
  •  group

 Фильтр объектов группы

Фильтр, используемый при поиске объектов группы. Пример:

  •          (&(objectClass=group)(cn=*))

 Атрибут имени группы

Поле атрибута, используемое при загрузке имени группы. Пример:

  •          cn

 Атрибут  описания группы

Поле атрибута, которое будет использоваться при загрузке описания группы. Пример:

  •          description

 

Настройки схемы членства

 

 Настройка

 

Описание

 Атрибут участников группы

Поле атрибута, используемое при загрузке членов группы. Пример:

  •          member

 Атрибут членства пользователя

Поле атрибута, используемое при загрузке групп пользователей. Пример:

  •          memberOf

 Используйте атрибут членства пользователя при поиске членства в группе пользователя

Проверьте это, если ваш сервер каталогов поддерживает атрибут членства группы для пользователя. (По умолчанию это атрибут memberOf.)

  •          Если этот флажок установлен, ваше приложение будет использовать атрибут членства группы для пользователя при получении списка групп, к которым принадлежит данный пользователь. Это приведет к более эффективному извлечению.
  •          Если этот флажок не выбран, ваше приложение будет использовать атрибут members в группе («член» по умолчанию) для поиска.
  •          Если флажок Включить вложенные группы отключен, ваше приложение будет игнорировать параметр «Использовать атрибут членства пользователя» и будет использовать атрибут members в группе для поиска.

 Используйте атрибут членства пользователя при поиске членов группы

Проверьте это, если ваш сервер каталогов поддерживает атрибут членства пользователя в группе. (По умолчанию это атрибут 'member'.)

  •          Если этот флажок установлен, ваше приложение будет использовать атрибут членства группы для пользователя при извлечении членов данной группы. Это приведет к более эффективному поиску.
  •          Если этот флажок не выбран, ваше приложение будет использовать атрибут members в группе («член» по умолчанию) для поиска.

Схемы некоторых возможных конфигураций

Диаграмма выше: JIRA подключается к каталогу LDAP.

Диаграмма выше: JIRA подключается к каталогу LDAP с разрешениями, установленными только для чтения и локальными группами.

 

По материалам Atlassian JIRA Administrator's Guide: Connecting to an LDAP Directory