Инструкция по интеграции OIDC-провайдера Identity Blitz и Платформы Боцман
Шаг 1: Подготовка и базовая настройка Identity Blitz
-
Правильно задайте домен при установке
Внимание
Домен, указанный при первоначальной настройке Blitz, используется во всей последующей конфигурации. Изменить его на следующих этапах будет крайне затруднительно.
-
Активируйте и настройте встроенный LDAP-сервер (389-ds)
- Identity Blitz по умолчанию использует встроенное хранилище (
build-in), которое не поддерживает группы. Для работы с группами необходимо подключить LDAP. - В инструкции по установке Blitz рекомендуется поставить встроенный 389-ds, но его недостаточно просто установить — требуется дополнительная настройка.
- Identity Blitz по умолчанию использует встроенное хранилище (
-
Подготовьте LDAP-хранилище с помощью скриптов из дистрибутива Blitz
- В дистрибутиве Identity Blitz есть папка
scripts. - Запустите скрипты по порядку:
- init-скрипт: Инициализирует домен, создает служебного пользователя (например,
tree-reader) и настраивает базовые политики паролей. - group-скрипт (например,
grlb): Подготавливает LDAP к работе с группами. Он создает необходимую структуру (Organizational UnitGroups), стандартную группу (например,ORGS) и настраивает атрибуты.
- init-скрипт: Инициализирует домен, создает служебного пользователя (например,
Внимание
Без выполнения этих скриптов функционал групп в Blitz работать не будет.
- В дистрибутиве Identity Blitz есть папка
Шаг 2: Настройка хранилища данных (Data Source) в Blitz
-
Добавьте новое хранилище.
- В веб-интерфейсе Blitz перейдите в раздел Data Sources.
- Нажмите "Добавить" и выберите тип "LDAP".
-
Заполните параметры подключения к LDAP.
- Host/Port: Укажите хост и порт вашего LDAP-сервера (для 389-ds это localhost и стандартный порт).
- Базовый DN: Базовый Distinguished Name, где находятся пользователи (напр.,
cn=users,dc=blitz,dc=local). - Пользователь (DN) & Пароль: Учетные данные пользователя с правами на чтение в LDAP (например, созданный
tree-reader). Рекомендуется использовать отдельного служебного пользователя, а не суперадминистратора.
-
Настройте маппинг атрибутов (Attribute Mapping). !!! warning "Внимание" Это ключевой этап. Необходимо сопоставить атрибуты пользователя в LDAP с внутренними атрибутами Blitz.
- Пример маппинга:
sub(логин в Blitz) ->cn(Common Name в LDAP)email->mailgiven_name->givenName
- Убедитесь, что для объекта класса пользователя в LDAP выбран расширенный класс, например,
organizationalPerson, который поддерживает больше атрибутов и связь с группами.
- Пример маппинга:
-
Добавьте вычисляемый атрибут
email_verified.- Боцман требует в JWT-токене наличие поля
email_verified. - В Blitz перейдите в настройки атрибутов пользователя.
- Добавьте новый атрибут:
- Имя:
email_verified - Тип: Boolean
- Значение: Всегда
true(Вычисляемый атрибут).
- Имя:
- Боцман требует в JWT-токене наличие поля
Шаг 3: Настройка OAuth 2.0 / OIDC клиента в Blitz для Боцман
-
Создайте нового клиента.
- В веб-интерфейсе Blitz перейдите в раздел Приложения
- Нажмите "Добавить приложение".
-
Заполните основные параметры приложения:
- Идентификатор: Уникальный идентификатор (напр.,
bootsman). Это неизменяемое поле, запишите его. - Client Secret: В разделе «Настройки взаимодействия с приложением» сгенерируйте и сохраните сложный секрет. Он понадобится для настройки Боцман.
- Friendly Name / Domain: Внутреннее понятное имя и домен (напр.,
bootsman-test).
- Идентификатор: Уникальный идентификатор (напр.,
-
Настройте Redirect URIs.
- Это адреса, на которые Blitz может перенаправлять после аутентификации.
- Обязательно укажите:
https://<ВАШ_ДОМЕН_БОЦМАН>/verify-auth - Для удобства можно также указать общий домен с wildcard:
https://<ВАШ_ДОМЕН_БОЦМАН>/*(это менее безопасно).
-
Проверьте Разрешения.
- Убедитесь, что клиенту передаются стандартные поля OIDC. Минимальный необходимый набор:
emailgroupsprofileopenid
- Настройте маппинг атрибутов в полях (в разделе Scopes настроек Blitz), чтобы убедиться, что
emailиprofileпопадают в нужные поля.
- Убедитесь, что клиенту передаются стандартные поля OIDC. Минимальный необходимый набор:
-
Настройте маппинг в JWT-токене.
- В настройках клиента найдите раздел, отвечающий за содержимое ID-токена (JWT Claims).
- Убедитесь, что передаются следующие поля. Это критически важно для правильного отображения пользователя в Боцман:
nameemailemail_verified(был создан на шаге 2.4)groups
Шаг 4: Настройка аутентификации в Боцман
-
Перейдите в настройки аутентификации Боцман.
- В Боцмане откройте глобальные настройки (
Settings). - В меню «Пользователи» перейдите в раздел «Провайдеры авторизации» и выберите провайдер аутентификации Identity Blitz.
- В Боцмане откройте глобальные настройки (
-
Заполните параметры провайдера данными из Blitz:
- issuer: Базовый адрес переадресации из Шага 3.
- Client ID: заданный
Client IDиз Шага 3.2. - Client Secret: Сгенерированный
Client Secretиз Шага 3.2. - RedirectURI:
https://<ВАШ_ ДОМЕН _БОЦМАН>/verify-authадрес из «Префиксы ссылок возврата» - Scopes:
email groups profile openid.
-
Сохраните настройки и протестируйте вход.
Шаг 5: Включение и настройка синхронизации групп в Blitz
Внимание
Этот шаг необходим, чтобы группы из LDAP отображались в интерфейсе Blitz и, как следствие, передавались в Боцман.
-
Включите функционал групп через конфигурационный файл.
- Функционал групп по умолчанию отключен. Его необходимо включить через главный конфигурационный файл Blitz (
blitz-config.json). - Найдите в файле секцию
"groups". Она может быть закомментирована (например, с помощью символа_в начале). - Раскомментируйте эту секцию, удалив символ комментария, и сохраните файл. После этого в интерфейсе Blitz должна появиться вкладка "Группы".
- Функционал групп по умолчанию отключен. Его необходимо включить через главный конфигурационный файл Blitz (
-
Настройте хранилище для групп.
- После включения функционала необходимо "привязать" только что созданное LDAP-хранилище (из Шага 2) к системе групп Blitz.
- В конфигурационном файле, в секции
groups, укажитеstore_id, соответствующий вашему LDAP-хранилищу, и настройтеmember_ofиbase_dnдля корректного поиска групп.
Часто задаваемые вопросы:
-
Пользователи в Blitz не отображаются без поиска.
- Проблема: В Blitz на странице пользователей список пуст.
- Решение: Используйте поиск с символом
*(звездочка), чтобы отобразить всех пользователей.
-
Проблемы с SSL-сертификатами.
- Проблема: Ошибки из-за невалидных или самоподписанных сертификатов.
- Решение:
- Рекомендуемый путь: Используйте общий центр сертификации (например,
cert-manager, входящий в состав Боцман) для выпуска валидных сертификатов как для Blitz, так и для Боцман. Настройте Ingress для обоих продуктов, чтобы использовать эти сертификаты. - Альтернатива: Можно настроить встроенный в Blitz Nginx, следуя инструкции из дистрибутива, но это требует более глубокой настройки маршрутизации между компонентами Blitz.
- Рекомендуемый путь: Используйте общий центр сертификации (например,
-
Группы не отображаются в Blitz.
- Убедитесь, что вы:
- Выполнили скрипты инициализации групп (Шаг 1).
- Включили функционал групп в файле конфигурации (Шаг 5).
- Правильно настроили хранилище для групп (Шаг 5).
- Правильно указали
Group Base DNв настройках Data Source (Шаг 2).
- Убедитесь, что вы:






