Провайдеры идентификации
Провайдер идентификации — подключение к корпоративному каталогу или службе единого входа, позволяющее пользователям входить в DataForge под своими корпоративными учётными записями. Провайдеры идентификации настраиваются в разделе Настройки → Интеграции, на вкладке Провайдеры идентификации.
Назначение и область действия
Настроенный провайдер добавляет корпоративный способ входа рядом со встроенным: на странице входа пользователь вводит свой адрес, выбирает предложенного для него провайдера и входит по корпоративным учётным данным. Встроенный вход по электронной почте и паролю при этом продолжает работать — провайдер его не отменяет.
Ключевые свойства:
- Провайдер принадлежит компании создавшего его администратора. Администратор компании видит и изменяет только провайдеров своей компании, суперадминистратор — провайдеров всех компаний
- Поддерживаются три метода: LDAP / AD (пароль проверяет каталог), SAML / SSO и OAuth2 / OIDC (браузер переадресуется к провайдеру и обратно)
- Вход через провайдера не создаёт учётных записей. Учётная запись DataForge должна уже существовать в компании провайдера — учётные записи создаются только по приглашению
- Создание, изменение, удаление и проверка провайдеров, а также входы через них фиксируются в системном журнале
Права доступа
| Роль | Управление провайдерами идентификации (просмотр, создание, изменение, удаление, проверка) | Вход через провайдера |
|---|---|---|
| Суперадминистратор | Да (провайдеры всех компаний) | Да |
| Администратор компании | Да (провайдеры своей компании) | Да |
| Остальные роли (проджект-менеджер, разработчик, аналитик, наблюдатель) | Нет | Да |
Страница Интеграции доступна только администраторам; пользователи с другими ролями открыть её не могут, но используют настроенных провайдеров на странице входа.
Список провайдеров
Вкладка Провайдеры идентификации отображает провайдеров компании в виде таблицы:
| Столбец | Описание |
|---|---|
| Отображаемое название | Название, заданное администратором |
| URL | Хост каталога для LDAP / AD либо идентификатор провайдера для SAML / SSO |
| Метод | LDAP / AD, SAML / SSO или OAuth2 / OIDC |
| Количество пользователей | Количество пользователей, связанных с провайдером |
| Последняя проверка | Дата и время последней проверки подключения либо —, если проверка не выполнялась |
| Статус | Активна, Ошибка проверки или Отключена |
| Действия | Кнопки редактирования, проверки подключения и удаления |
Над таблицей располагается кнопка Добавить провайдера идентификации. Таблица поддерживает сортировку и поиск: по столбцам Метод и Статус фильтрация выполняется выбором значения из списка, по остальным — поиском по подстроке. Список постраничный.
Статус провайдера
| Статус | Значение |
|---|---|
| Активна (зелёный) | Провайдер включён, и последняя проверка подключения завершилась успешно |
| Ошибка проверки (красный) | Последняя проверка подключения завершилась неудачно |
| Отключена (серый) | Флажок Включён снят — провайдер не предлагается на странице входа |
Статус не является отдельной настройкой: он определяется флажком Включён и результатом последней проверки подключения.
Добавление провайдера
- Нажмите Добавить провайдера идентификации над списком
- Заполните общие параметры, затем выберите вкладку нужного метода — LDAP / AD, SAML / SSO или OAuth2 / OIDC — и заполните его параметры
- Для SAML и OAuth2 скопируйте сформированный адрес обратного вызова из диалога в настройки на стороне провайдера идентификации
- При необходимости добавьте правила сопоставления групп в нижней части диалога
- Нажмите Проверить, чтобы проверить текущие значения формы
- Нажмите Сохранить
Сохраняется только выбранная вкладка: диалог записывает параметры выбранного метода. Кнопки Проверить и Сохранить остаются недоступны, пока не заполнены обязательные поля выбранного метода.
Общие параметры
Эти поля располагаются над вкладками методов и действуют для любого метода:
| Поле | Обязательность | Описание |
|---|---|---|
| Отображаемое название | Да | Название провайдера в списке и на странице входа, до 255 символов |
| Домены электронной почты | Нет | Почтовые домены, обслуживаемые провайдером, до 50. Значения вводятся вручную; вставленный полный адрес сокращается до доменной части, значение приводится к нижнему регистру. Пустой список означает, что провайдер предлагается для любого адреса |
| Включён | — | Провайдер участвует во входе. Снятый флажок переводит провайдера в статус Отключена |
| Провайдер по умолчанию | — | Провайдер предлагается первым, если введённому адресу соответствует несколько провайдеров. В компании допускается не более одного такого провайдера |
LDAP / Active Directory
Пароль пользователя проверяет сам каталог: DataForge выполняет вход служебной учётной записью, находит запись пользователя и затем выполняет вход от его имени.
| Поле | Обязательность | Значение по умолчанию | Описание |
|---|---|---|---|
| Хост сервера каталогов | Да | — | Имя хоста или IP-адрес сервера каталогов |
| Порт | Да | 389 | Порт сервера каталогов. Переключение флажка Включить SSL (LDAPS) меняет значение на 636 и обратно, если не введён произвольный порт |
| Включить SSL (LDAPS) | — | Снят | Подключаться по LDAPS вместо обычного LDAP |
| DN для привязки | Да | — | Различающееся имя служебной учётной записи, от имени которой выполняется поиск в каталоге |
| Пароль для привязки | Да | — | Пароль служебной учётной записи. Хранится в зашифрованном виде и повторно не отображается |
| Атрибут логина | Да | sAMAccountName |
Атрибут, с которым сопоставляется имя пользователя |
| Класс объекта | Да | person |
Класс объекта, по которому отбирается запись пользователя |
| Атрибут email | Да | mail |
Атрибут с адресом электронной почты |
| Атрибут группы | Да | memberOf |
Атрибут с членством в группах |
| Атрибут имени | Да | givenName |
Атрибут с именем |
| Атрибут фамилии | Да | sn |
Атрибут с фамилией |
Поддерживаются Microsoft Active Directory, OpenLDAP и другие каталоги, совместимые с LDAP, — для последних двух скорректируйте имена атрибутов в соответствии со схемой каталога.
SAML 2.0 / SSO
Браузер переадресуется к провайдеру идентификации, который возвращает подписанное утверждение с данными пользователя.
| Поле | Обязательность | Значение по умолчанию | Описание |
|---|---|---|---|
| SP Entity ID | Да | Формируется из адреса сервера | Идентификатор DataForge как Service Provider. Поле доступно для изменения — некоторые провайдеры требуют определённого значения |
| ACS (callback) URL | — | Формируется | Адрес, на который отправляется утверждение. Поле только для чтения; зарегистрируйте этот адрес на стороне провайдера идентификации |
| Источник метаданных IdP | Да | XML | XML — документ метаданных вставляется в диалог; URL — документ загружается по адресу |
| Метаданные провайдера идентификации | Да | — | Сам документ метаданных либо адрес, с которого он загружается. Вставленный документ форматируется автоматически и прокручивается внутри поля |
| Формат NameID | Да | Формат идентификатора пользователя в утверждении: Email, Persistent, Transient, Unspecified | |
| Атрибут группы | Да | group_attr |
Атрибут утверждения с членством в группах |
| Атрибут имени | Да | firstName_attr |
Атрибут утверждения с именем |
| Атрибут фамилии | Да | lastName_attr |
Атрибут утверждения с фамилией |
Идентификатор провайдера, адрес единого входа и сертификаты подписи извлекаются из метаданных при сохранении провайдера и при проверке подключения. Для источника URL метаданные дополнительно обновляются автоматически, когда устаревают. Выход из DataForge остаётся локальным — он не завершает сеанс на стороне провайдера идентификации.
Таким образом настраиваются Active Directory Federation Services, Microsoft Entra ID, Okta, PingFederate, OneLogin и любые другие провайдеры идентификации SAML 2.0.
OAuth2 / OpenID Connect
Браузер переадресуется к провайдеру идентификации и возвращается с кодом авторизации, который DataForge обменивает на данные пользователя.
| Поле | Обязательность | Значение по умолчанию | Описание |
|---|---|---|---|
| Тип провайдера | Да | Microsoft Entra ID | Предустановка: Microsoft Entra ID, Google Workspace, Okta, Custom (любой другой провайдер OpenID Connect). Влияет на значения по умолчанию в диалоге; поток входа одинаков для всех |
| Client ID | Да | — | Идентификатор приложения, зарегистрированного на стороне провайдера |
| Client secret | Да | — | Секрет этого приложения. Хранится в зашифрованном виде и повторно не отображается |
| URL перенаправления | — | Формируется | Адрес, на который провайдер возвращает браузер. Поле только для чтения; зарегистрируйте этот адрес на стороне провайдера идентификации |
| URL авторизации | Да | — | Адрес провайдера, на который направляется пользователь |
| URL токена | Да | — | Адрес провайдера, на котором обменивается код авторизации |
| URL информации о пользователе | Да | — | Адрес провайдера, с которого считываются данные пользователя |
| Scopes | Да | openid, profile, email, groups |
Запрашиваемые области. Значения можно удалять и добавлять произвольные; область openid обязательна и не имеет кнопки удаления |
| Атрибут email | Да | email |
Утверждение с адресом электронной почты |
| Атрибут группы | Да | groups |
Утверждение с членством в группах |
| Атрибут имени | Да | given_name |
Утверждение с именем |
| Атрибут фамилии | Да | family_name |
Утверждение с фамилией |
Адреса провайдера задаются явно, поэтому подходит любой провайдер, совместимый с OpenID Connect. Для предустановки Google Workspace всё, что связано с группами, — поле Атрибут группы, область groups и строки сопоставления групп — недоступно и очищается, поскольку этот провайдер не передаёт данные о группах обычному клиенту OpenID Connect.
Адреса обратного вызова
Каждый провайдер получает собственный постоянный идентификатор, из которого вместе с публичным адресом сервера формируются ACS (callback) URL и URL перенаправления. Это собственные адреса DataForge, поэтому поля доступны только для чтения — выделите значение и скопируйте его в настройки на стороне провайдера идентификации.
- Идентификатор выдаётся сразу при открытии диалога создания, поэтому адрес обратного вызова можно скопировать и зарегистрировать у провайдера идентификации до сохранения провайдера
- Идентификатор не изменяется, поэтому регистрация на стороне провайдера сохраняется при изменении провайдера, а ту же интеграцию можно воспроизвести в другой среде
- Метаданные Service Provider для интеграции SAML DataForge публикует по тому же идентификатору — их можно передать провайдеру идентификации вместо заполнения его настроек вручную
- Если публичный адрес сервера не задан, создать провайдера SAML или OAuth2 нельзя — диалог сообщает причину
Проверка подключения
Проверить провайдера можно двумя способами:
- Кнопкой Проверить в диалоге создания или редактирования — проверяются текущие значения формы, ничего не сохраняется. Для сохранённого провайдера незаполненное поле Пароль для привязки или Client secret замещается сохранённым значением
- Кнопкой проверки подключения в строке списка — используются сохранённые настройки, а результат записывается в столбцы Последняя проверка и Статус
Проверка выполняется последовательностью шагов, и при неудаче указывается шаг, на котором она произошла:
| Метод | Проверки |
|---|---|
| LDAP / AD | подключение к серверу — каталог доступен, соединение TLS установлено; вход сервисной учётной записи — DN и пароль приняты; поиск пользователя — запись пользователя находится; чтение атрибутов — сопоставленные атрибуты присутствуют в записи |
| SAML / SSO | метаданные IdP — документ метаданных загружается и корректно разбирается; сертификат подписи — сертификат действителен и не истёк; ACS URL — адрес приёма утверждения соответствует |
| OAuth2 / OIDC | адреса эндпоинтов — адреса авторизации, токена и информации о пользователе доступны; учётные данные клиента — client ID и секрет приняты; redirect URI — адрес обратного вызова соответствует |
Результат отображается уведомлением: при успехе — «Подключение к каталогу установлено успешно», при неудаче — «Не удалось подключиться к каталогу» с указанием шага и причины, полученной от провайдера.
При проверке редактируемого провайдера можно переиспользовать сохранённый секрет, но не в том случае, если в этом же диалоге изменён URL токена — секрет не должен отправляться на новый адрес.
Сопоставление групп и ролей
Под вкладками методов в диалоге располагается список правил Группа каталога → Роль в DataForge, до 100 правил. Каждая строка связывает группу в том виде, в каком её передаёт провайдер, с ролью, которую эта группа даёт. Кнопка Добавить сопоставление групп добавляет строку, кнопка удаления убирает её; незаполненные строки при сохранении отбрасываются.
В списке ролей доступны Администратор, Проджект-менеджер, Разработчик, Аналитик и Наблюдатель. Роль суперадминистратора намеренно не предлагается — внешний каталог не должен давать права администрирования всей системы.
Как правила применяются при каждом входе:
- Членство пользователя в группах считывается у провайдера и заменяет ранее записанное
- Если правила не настроены, группы только фиксируются, а роль учётной записи в DataForge не изменяется
- Если правила настроены, роль учётной записи приводится к ним в соответствие. При совпадении нескольких групп применяется наиболее привилегированная роль в порядке «Администратор → Разработчик → Аналитик → Наблюдатель»
- Если правила настроены, но пользователь не входит ни в одну указанную группу, вход отклоняется
- Учитывается только прямое членство в группах, вложенные группы не раскрываются
Что происходит с учётными записями
Данные провайдера применяются при каждом входе, а не только при первом:
- Учётная запись должна уже существовать в DataForge и принадлежать компании провайдера. Вход через провайдера её не создаёт — единственный способ добавить пользователя — приглашение
- Учётная запись, для которой приглашение отправлено, но регистрация не завершена, активируется первым успешным входом через провайдера
- Имя и фамилия обновляются значениями из провайдера. Если провайдер не передал ни того, ни другого, вместо имени подставляется адрес электронной почты — но только пока у учётной записи нет собственного имени, чтобы введённое в DataForge имя не было затёрто
- Корпоративные пароли в DataForge не хранятся. Учётная запись, у которой нет собственного пароля DataForge, не может использовать встроенный вход по электронной почте и паролю, пока не задаст его
- После сопоставления учётной записи выполняются обычные проверки: IP-адрес клиента проверяется по спискам IP-адресов компании так же, как при встроенном входе
Изменение провайдера
- У сохранённого провайдера метод не изменяется — остальные две вкладки недоступны. Для смены метода создайте нового провайдера
- Сохранённые секреты — Пароль для привязки и Client secret — повторно не отображаются. Пустое поле при сохранении означает «оставить сохранённое значение», введённое значение заменяет прежнее
- Все остальные параметры, включая домены, флажки и правила сопоставления групп, можно изменить в любой момент
Удаление провайдера
Провайдер удаляется из списка через диалог подтверждения, который предупреждает, что пользователи, входившие через него, потеряют этот способ входа. Их учётные записи DataForge сохраняются — они входят через другого провайдера либо по встроенным электронной почте и паролю, если задали их.
Записи в журнале аудита
Изменения конфигурации провайдеров фиксируются в системном журнале в категории управления провайдерами идентификации: добавление, изменение, удаление и проверка подключения. Каждое изменённое поле записывается со старым и новым значением; пароль служебной учётной записи и секрет клиента отмечаются как изменённые без раскрытия значений.
Входы через провайдера фиксируются в категории аутентификации с указанием провайдера и его метода: успешные входы, неудачные попытки с причиной и изменения учётной записи, выполненные сопоставлением, — имя, роль и статус — со старым и новым значением.