Вы можете подключить ваше приложение 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, необходимо выполнить следующие шаги:
- Войдите в систему как пользователь с глобальным разрешением «Системные администраторы JIRA» (JIRA System Administrators).
- Выберите > «Управление пользователями» (User Management)> «Каталоги пользователей» (User Directories).
Комбинация клавиш: 'g' + 'g' + начало ввода 'каталогов'.
-
Добавьте каталог (Add) и выберите один из следующих типов:
- «Microsoft Active Directory» - эта опция обеспечивает быстрый способ выбора AD, потому что это самый популярный тип каталога LDAP.
- «LDAP». На следующем экране вы сможете выбрать определенный тип каталога LDAP.
- Введите значения для параметров, как описано ниже.
- Сохраните настройки каталога.
-
Определите порядок каталогов, щелкнув синими стрелками вверх и вниз рядом с каждым каталогом на экране «Пользовательские каталоги» (User Directories). Ниже приведено краткое описание того, как порядок каталога влияет на обработку:
- Порядок каталогов - это порядок, в котором они будут искать пользователей и группы.
- Изменения для пользователей и групп будут производиться только в первом каталоге, где приложение имеет разрешение на внесение изменений.
Подробнее см. Управление несколькими каталогами.
Заметки:
Для этой конфигурации каждый раз, когда пользователь входит в систему (то есть первый и последующий раз), данные пользователя в JIRA будут обновляться из данных пользователя в LDAP. Это включает имя пользователя, отображаемое имя, адрес электронной почты и членство в группах. Однако для членства в группах применяется только следующее:
- только прямые группы (т. е. не вложенные группы) синхронизируются с LDAP.
- только группы, которые уже присутствуют в JIRA, синхронизированы, т. е. группы не добавляются / удаляются, а иерархии групп не синхронизируются.
Настройки сервера
Настройка |
Описание |
Имя |
Введите значащее имя, чтобы помочь вам идентифицировать сервер каталогов LDAP. Примеры:
|
Тип каталога |
Выберите тип каталога LDAP, к которому вы будете подключаться. Если вы добавляете новое соединение LDAP, значение, которое вы выбрали здесь, будет определять значения по умолчанию для многих параметров на остальном экране. Примеры:
|
Имя хоста |
Имя хоста вашего сервера каталогов. Примеры:
|
Использовать SSL |
Проверьте это, если соединение с сервером каталогов является соединением SSL (Secure Sockets Layer=Протокол SSL)). Обратите внимание, что вам необходимо настроить SSL-сертификат, чтобы использовать этот параметр. |
Имя пользователя |
Различающееся имя пользователя, которое приложение будет использовать при подключении к серверу каталогов. Примеры: • сп = администратор, сп = пользователей, dc = объявления, DC = пример, DC = COM • сп = пользователь, dc = домен, DC = имя
По умолчанию все пользователи могут читать атрибут uSNChanged; однако только администраторы или пользователи с соответствующими разрешениями могут обращаться к контейнеру «Удаленные объекты». Конкретные привилегии, необходимые пользователю для подключения к LDAP, - это «Bind» и «Read» (информация о пользователе, информация о группе, членство в группе, порядковый номер обновления, удаленные объекты), которые пользователь может получить, будучи членом встроенная группа администраторов Active Directory . Обратите внимание, что инкрементная синхронизация не будет выполняться молча, если пользователь получает доступ к Active Directory без этих привилегий. Об этом сообщается как CWD-3093. |
Пароль |
Пароль пользователя, указанного выше. Примечание. Для подключения к LDAP-серверу необходимо, чтобы это приложение зарегистрировалось на сервере с указанным здесь именем пользователя и паролем. В результате этот пароль не может быть односторонним хэшем - он должен быть восстановлен в контексте этого приложения. Пароль в настоящее время хранится в базе данных простым текстом без обфускации(запутывания). Чтобы гарантировать его безопасность, вам необходимо убедиться, что другие процессы не имеют разрешений на чтение на уровне операционной системы для базы данных или файлов конфигурации этого приложения. |
Настройки схемы
Настройка
|
Описание |
Базовое имя DN (различающееся имя) |
Коренное различающееся имя (DN) для использования при запуске запросов к серверу каталогов. Примеры:
|
Дополнительное пользовательское DN (имя) |
Это значение используется в дополнение к базовому DN при поиске и загрузке пользователей. Если значение не задано, поиск поддерева будет начинаться с базового DN. Пример:
|
Дополнительное имя группы DN |
Это значение используется в дополнение к базовому DN при поиске и загрузке групп. Если значение не задано, поиск поддерева будет начинаться с базового DN. Пример:
|
Если для дополнительного (различенного имени) DN пользователя или дополнительного DN группы не задано никакое значение, это приведет к тому, что поиск поддерева начнется с базового DN и, в случае огромной структуры каталогов, может вызвать проблемы с производительностью для входа и операций, которые полагаются на логин, который будет выполняться.
Настройки разрешения
Примечание. Вы можете только назначать пользователей 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 они будут добавлены после следующего входа в систему.
Имейте в виду, что имена групп не проверяются. Если вы неправильно наберете имя группы, это приведет к сбоям авторизации - пользователи не смогут получить доступ к приложениям или функциям на основе имени предполагаемой группы. Примеры:
|
Расширенные настройки
Настройка
|
Описание |
Включить вложенные группы |
Включить или отключить поддержку вложенных групп. Некоторые серверы каталогов позволяют вам определить группу в качестве члена другой группы. Группы в такой структуре называются вложенными группами. Вложенные группы упрощают разрешения, позволяя подгруппам наследовать разрешения от родительской группы. |
Управление статусом пользователя локально |
Если 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, которая не добавляется (или удаляется) в приложении. |
Интервал синхронизации (минуты) |
Синхронизация - это процесс, с помощью которого приложение обновляет свое внутреннее хранилище данных пользователя, чтобы согласовать данные на сервере каталогов. Приложение отправляет запрос на ваш сервер каталогов каждые x минут, где «x» - это номер, указанный здесь. Значение по умолчанию - 60 минут. |
Время ожидания чтения (в секундах) |
Время, в секундах, ожиданиеь ответа, который будет получен. Если в течение указанного периода ответа нет, попытка чтения будет прервана. Значение 0 (ноль) означает, что нет предела. Значение по умолчанию - 120 секунд. |
Время ожидания поиска (в секундах) |
Время, в секундах, ожидания ответа от операции поиска. Значение 0 (ноль) означает, что нет предела. Значение по умолчанию - 60 секунд. |
Время ожидания подключения (в секундах) |
Этот параметр влияет на два действия. Значение по умолчанию равно 0.
|
Настройки схемы пользователя
Настройка
|
Описание |
Класс объектов пользователя |
Это имя класса, используемого для пользовательского объекта LDAP. Пример:
|
Фильтр пользовательских объектов |
Фильтр, используемый при поиске объектов пользователя. Пример:
Дополнительные примеры можно найти здесь. |
Атрибут имени пользователя |
Поле атрибута, используемое при загрузке имени пользователя. Примеры
NB: В Active Directory «sAMAccountName» является полем «Имя пользователя для входа в систему (pre-Windows 2000)». В поле «Имя пользователя входа» указано «cn». |
Имя пользователя RDN-атрибут |
RDN (относительное различающееся имя) для использования при загрузке имени пользователя. DN для каждой записи LDAP состоит из двух частей: RDN и местоположения в каталоге LDAP, где находится запись. RDN - это часть вашего DN, которая не связана с структурой дерева каталогов. Пример:
|
Атрибут имени пользователя |
Поле атрибута, используемое при загрузке имени пользователя. Пример:
|
Атрибут последнего имени пользователя |
Поле атрибута, используемое при загрузке имени пользователя. Пример: · sn |
Атрибут имени отображаемого имени пользователя |
Поле атрибута, которое будет использоваться при загрузке полного имени пользователя. Пример: · displayName (отображаемое имя) |
Атрибут электронной почты пользователя
|
Поле атрибута, используемое при загрузке адреса электронной почты пользователя. Пример: |
Атрибут пароля пользователя |
Поле атрибута, используемое при загрузке пароля пользователя. Пример:
|
Атрибут уникального идентификатора пользователя |
Атрибут, используемый как уникальный неизменяемый идентификатор для пользовательских объектов. Это используется для отслеживания изменений имени пользователя и является необязательным. Если этот атрибут не установлен (или установлен в недопустимое значение), пользовательские имена не будут обнаружены - они будут интерпретироваться как удаление пользователя при добавлении нового пользователя. Обычно это указывает на значение UUID. Соответствующие стандартам LDAP-серверы будут реализовывать это как «entryUUID» в соответствии с RFC 4530. Этот параметр существует, поскольку он известен под разными именами на некоторых серверах, например. 'objectGUID' в Microsoft Active Directory. |
Настройки схемы группы
Настройка
|
Описание |
Класс объекта группы |
Это имя класса, используемого для объекта группы LDAP. Примеры:
|
Фильтр объектов группы |
Фильтр, используемый при поиске объектов группы. Пример:
|
Атрибут имени группы |
Поле атрибута, используемое при загрузке имени группы. Пример:
|
Атрибут описания группы |
Поле атрибута, которое будет использоваться при загрузке описания группы. Пример:
|
Настройки схемы членства
Настройка
|
Описание |
Атрибут участников группы |
Поле атрибута, используемое при загрузке членов группы. Пример:
|
Атрибут членства пользователя |
Поле атрибута, используемое при загрузке групп пользователей. Пример:
|
Используйте атрибут членства пользователя при поиске членства в группе пользователя |
Проверьте это, если ваш сервер каталогов поддерживает атрибут членства группы для пользователя. (По умолчанию это атрибут memberOf.)
|
Используйте атрибут членства пользователя при поиске членов группы |
Проверьте это, если ваш сервер каталогов поддерживает атрибут членства пользователя в группе. (По умолчанию это атрибут 'member'.)
|
Схемы некоторых возможных конфигураций
Диаграмма выше: JIRA подключается к каталогу LDAP.
Диаграмма выше: JIRA подключается к каталогу LDAP с разрешениями, установленными только для чтения и локальными группами.
По материалам Atlassian JIRA Administrator's Guide: Connecting to an LDAP Directory