Работа с LDAP¶
Возможности интеграции с LDAP¶
CodeScoring поддерживает аутентификацию и авторизацию пользователей по протоколу LDAP и маппинг атрибутов записей о пользователях в LDAP на атрибуты пользователей в системе.
Страница аутентификации CodeScoring¶
На странице аутентификации доступно меню с выбором провайдера аутентификации. Помимо провайдера по умолчанию (локальные учётные записи, internal directory
), доступны для выбора активные интеграции с LDAP серверами.
Маппинг атрибутов записей о пользователях LDAP на атрибуты пользователей CodeScoring¶
При аутентификации через LDAP происходит маппинг следующих данных из записи в директории на учётную запись в CodeScoring:
- название УЗ (
username
); - имя;
- фамилия;
- электронная почта.
Маппинг групп LDAP на группы и роли CodeScoring¶
При аутентификации через LDAP CodeScoring может запрашивать данные LDAP-групп пользователя и производить их маппинг на свои группы и роли. Для активации этой возможности в настройках LDAP необходимо заполнить следующие поля:
Group search base
Group search filter for user
Group search filter for all groups
Group name field
Group member field
CodeScoring производит маппинг согласно правилам, управление которыми доступно в разделе Settings -> Group mapping
.
Маппинг запускается только в двух случаях:
- в момент входа пользователя в систему;
- при нажатии кнопки
Apply all rules
в разделеSettings -> Group mapping
.
Правила маппинга применяются следующим образом:
- в процессе маппинга обновляется состав групп пользователя;
- добавление, изменение и удаление правил маппинга не приведёт к обновлению групп пользователя. Для применения изменённых правил, необходимо инициировать процесс маппинга одним из двух способов, указанных выше;
- группы пользователя, добавленные или отредактированные администратором в ручном режиме, не изменяются в процессе маппинга, то есть приоритет отдаётся ручным изменениям;
- если при поиске LDAP-групп после успешной аутентификации в LDAP произошла ошибка, группы пользователей, применённые согласно правилам маппинга, будут удалены.
Просмотр существующих интеграций с LDAP¶
Просмотр существующих интеграций доступен в разделе Settings -> LDAP
. В разделе отображаются таблица со списком настроенных интеграций LDAP, кнопка для создания новой интеграции (Setup new
), окно поиска (Search
).
Просмотр деталей о существующей интеграции с LDAP¶
Просмотр деталей открывается при нажатии на гиперссылку с названием интеграции либо при нажатии на кнопку View в разделе Actions.
При просмотре доступны следующие действия:
- удаление интеграции (
Delete
); - редактирование интеграции (
Edit
); - проверка доступности (
Refresh status
).
Помимо основных полей настроек (описаны ниже), при просмотре деталей об интеграции с LDAP доступны данные о:
- дате создания;
- дате последнего обновления;
- статусе доступности;
- (опционально) причине недоступности.
Создание или редактирование интеграции с LDAP¶
Для того чтобы создать новую интеграцию с LDAP, необходимо на просмотре списка интеграций нажать на кнопку Setup new
. Для того чтобы отредактировать существующую интеграцию, необходимо нажать на кнопку Edit
на странице просмотра или списка интеграций. Формы создания и редактирования идентичны.
Описание полей формы¶
Name
— название интеграции, отображается на странице аутентификации;LDAP protocol
— выбор между протоколами LDAP и LDAPS (LDAP поверх SSL);LDAP hostname
— доменное имя или IP адрес сервера LDAP;LDAP port
— порт LDAP сервера;User search base
— указание места поиска записей о пользователеUser search filter
— фильтр для поиска записи о пользователе. Должен содержать шаблон%USERNAME%
, при поиске он будет заменён на имя УЗ, для которой производится аутентификация через LDAP;Username field
— атрибут хранящий название УЗ пользователя в записи о нём;Email field
— атрибут хранящий email пользователя в записи о нём;First name field
— атрибут хранящий имя пользователя в записи о нём;Last name field
— атрибут хранящий фамилию пользователя в записи о нём;Username format
— выбор формата строки авторизации;Domain
— указание домена Active Directory (появляется при выборе соответствующего Username format);Service user
— логин пользователя с правами чтения каталогов на сервере LDAP;Service user password
— пароль пользователя с правами чтения каталогов на сервере LDAP;Group search base
— указание места поиска записей о группах;Group search filter for user
— фильтр для поиска записей о группах, к которым принадлежит пользователь. Должен содержать шаблон%USERNAME%
, при поиске он будет заменён на имя УЗ, для которой производится аутентификация через LDAP;Group search filter for all groups
— фильтр для поиска записей о всех группах в LDAP;Group name field
— атрибут хранящий название группы в записи о ней;Group member field
— атрибут хранящий идентификаторы членов группы в записи о ней;Use tls
— использовать TLS;Is active
— используется ли интеграция с LDAP для аутентификации пользователей.
Доступные опции для username format¶
Тестирование конфигурации интеграции с LDAP¶
Для удобства конфигурации пользователям доступны 2 формы для тестирования подключения:
- тестирование подключения и аутентификации (
test bind
); - тестирование поиска (
test search
).
Для обоих тестов комбинируются данные из основной формы с данными формы тестирования. Данные из полей Service user
и Service user password
игнорируются.
Тестирование подключения и аутентификации¶
При нажатии на кнопку теста (Test it
) в секции Test bind происходит подключение к LDAP серверу (операция bind
). В случае успешного теста выводится уведомление об успехе операции, в случае провала теста — сообщение об ошибке.
Тестирование загрузки данных о пользователе¶
При нажатии на кнопку теста (Test it
) в секции Test user search происходит подключение к LDAP серверу (операция bind
) и поиск данных о пользователе (операция search
) согласно данным в форме. В случае успешного теста выводится уведомление об успехе операции и результат поиска, в случае провала теста — сообщение об ошибке.
Тестирование загрузки данных о группах¶
При нажатии на кнопку теста (Test it
) в секции Test load groups происходит подключение к LDAP серверу (операция bind
) и поиск данных о группах (операция search
) согласно данным в форме. В случае успешного теста выводится уведомление об успехе операции и результат поиска, в случае провала теста — сообщение об ошибке.
Механизм аутентификации с помощью LDAP¶
Замечания¶
- Использование авторизации через LDAP не подразумевает полную синхронизацию директории с информацией о пользователях из Службы каталогов.
- Редактирование название УЗ (
username
) и назначение пароля пользователю из LDAP невозможно. - Возможно наличие пользователей из различных провайдеров аутентификации с одинаковым названием УЗ (
username
). - Возможно назначение пользователю из LDAP любого уровня доступа (
User
,Auditor
,Administrator
).