Работа с LDAP¶
Возможности интеграции с LDAP¶
CodeScoring поддерживает аутентификацию и авторизацию пользователей по протоколу LDAP и маппинг атрибутов записей о пользователях в LDAP на атрибуты пользователей в системе.
Страница аутентификации CodeScoring¶
На странице аутентификации доступно меню с выбором провайдера аутентификации. Помимо провайдера по умолчанию (локальные учётные записи, internal directory
), доступны для выбора активные интеграции с LDAP серверами.
Маппинг атрибутов записей о пользователях LDAP на атрибуты пользователей CodeScoring¶
При аутентификации через LDAP происходит маппинг следующих данных из записи в директории на учётную запись в CodeScoring:
- название УЗ (
username
); - имя;
- фамилия;
- электронная почта.
Маппинг групп LDAP на группы и роли CodeScoring¶
При аутентификации через LDAP CodeScoring может запрашивать данные LDAP-групп пользователя и производить их маппинг на свои группы и роли. Для активации этой возможности в настройках LDAP необходимо заполнить следующие поля:
База для поиска групп
.Фильтр поиска для всех групп
Поле с названием группы
Поле с группами пользователя
(если значение поляМетод поиска по группе
равно "Пользовательская запись")Фильтр поиска групп пользователя
(если значение поляМетод поиска по группе
равно "Поиск по группе")
CodeScoring производит маппинг согласно правилам, управление которыми доступно в разделе Настройки -> Группы LDAP
.
Маппинг запускается только в двух случаях:
- в момент входа пользователя в систему;
- при нажатии кнопки
Применить все правила
в разделеНастройки -> Группы LDAP
.
Правила маппинга применяются следующим образом:
- в процессе маппинга обновляется состав групп пользователя;
- добавление, изменение и удаление правил маппинга не приведёт к обновлению групп пользователя. Для применения изменённых правил, необходимо инициировать процесс маппинга одним из двух способов, указанных выше;
- группы пользователя, добавленные или отредактированные администратором в ручном режиме, не изменяются в процессе маппинга, то есть приоритет отдаётся ручным изменениям;
- если при поиске LDAP-групп после успешной аутентификации в LDAP произошла ошибка, группы пользователей, применённые согласно правилам маппинга, будут удалены.
Просмотр существующих интеграций с LDAP¶
Просмотр существующих интеграций доступен в разделе Настройки -> LDAP
. В разделе отображаются таблица со списком настроенных интеграций LDAP, кнопка для создания новой интеграции (Добавить
) и окно поиска.
Просмотр деталей о существующей интеграции с LDAP¶
Просмотр деталей открывается при нажатии на гиперссылку с названием интеграции либо при нажатии на кнопку View в разделе Actions.
При просмотре доступны следующие действия:
- удаление интеграции;
- редактирование интеграции;
- проверка доступности (
Обновить статус
).
Помимо основных полей настроек (описаны ниже), при просмотре деталей об интеграции с LDAP доступны данные о:
- дате создания;
- дате последнего обновления;
- статусе доступности;
- (опционально) причине недоступности.
Создание или редактирование интеграции с LDAP¶
Для того чтобы создать новую интеграцию с LDAP, необходимо на просмотре списка интеграций нажать на кнопку Добавить
. Для того чтобы отредактировать существующую интеграцию, необходимо нажать на кнопку Редактировать
на странице просмотра или списка интеграций. Формы создания и редактирования идентичны.
Описание полей формы¶
Название
— название интеграции, отображается на странице аутентификации;LDAP протокол
— выбор между протоколами LDAP и LDAPS (LDAP поверх SSL);Имя хоста LDAP
— доменное имя или IP адрес сервера LDAP;Порт LDAP
— порт LDAP сервера;База для поиска пользователя
— указание места поиска записей о пользователе;Фильтр поиска пользователя
— фильтр для поиска записи о пользователе. Должен содержать шаблон%USERNAME%
, при поиске он будет заменён на имя УЗ, для которой производится аутентификация через LDAP;Поле с именем учетной записи
— атрибут хранящий название УЗ пользователя в записи о нём;Поле с email
— атрибут хранящий email пользователя в записи о нём;Поле с именем
— атрибут хранящий имя пользователя в записи о нём;Поле с фамилией
— атрибут хранящий фамилию пользователя в записи о нём;Формат имени учетной записи
— выбор формата строки авторизации;Домен
— указание домена Active Directory (появляется при выборе соответствующего Username format);Сервисный пользователь
— логин пользователя с правами чтения каталогов на сервере LDAP;Пароль
— пароль пользователя с правами чтения каталогов на сервере LDAP;Поле с названием группы
— атрибут хранящий название группы в записи о ней;База для поиска групп
— указание места поиска записей о группах;Фильтр поиска групп пользователя
— фильтр для поиска записей о группах, к которым принадлежит пользователь. Должен содержать шаблон%USERNAME%
, при поиске он будет заменён на имя УЗ, для которой производится аутентификация через LDAP;Фильтр поиска для всех групп
— фильтр для поиска записей о всех группах в LDAP;Поле с группами пользователя
— атрибут хранящий идентификаторы членов группы в записи о ней;Использовать TLS
;Активно
— используется ли интеграция с LDAP для аутентификации пользователей.
Доступные опции для username format¶
Тестирование конфигурации интеграции с LDAP¶
Для удобства конфигурации пользователям доступны 2 формы для тестирования подключения:
- тестирование подключения и аутентификации (
Тестирование подключения
); - тестирование поиска (
Тест поиска пользователя
).
Для обоих тестов комбинируются данные из основной формы с данными формы тестирования. Данные из полей Сервисный пользователь
и Пароль сервисного пользователя
игнорируются.
Тестирование подключения и аутентификации¶
При нажатии на кнопку теста (Проверить подключение
) в секции Тестирование подключения происходит подключение к LDAP серверу (операция bind
). В случае успешного теста выводится уведомление об успехе операции, в случае провала теста — сообщение об ошибке.
Тестирование загрузки данных о пользователе¶
При нажатии на кнопку теста (Проверить подключение
) в секции Тест поиска пользователя происходит подключение к LDAP серверу (операция bind
) и поиск данных о пользователе (операция search
) согласно данным в форме. В случае успешного теста выводится уведомление об успехе операции и результат поиска, в случае провала теста — сообщение об ошибке.
Тестирование загрузки данных о группах¶
При нажатии на кнопку теста (Проверить подключение
) в секции Тест загрузки групп происходит подключение к LDAP серверу (операция bind
) и поиск данных о группах (операция search
) согласно данным в форме. В случае успешного теста выводится уведомление об успехе операции и результат поиска, в случае провала теста — сообщение об ошибке.
Механизм аутентификации с помощью LDAP¶
Замечания¶
- Использование авторизации через LDAP не подразумевает полную синхронизацию директории с информацией о пользователях из Службы каталогов.
- Редактирование название УЗ (
username
) и назначение пароля пользователю из LDAP невозможно. - Возможно наличие пользователей из различных провайдеров аутентификации с одинаковым названием УЗ (
username
). - Возможно назначение пользователю из LDAP любого уровня доступа (
User
,Auditor
,Administrator
).