openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out sp-signing.keyИнтеграция с Blitz
Сервер аутентификации Blitz Identity Provider – это программное обеспечение для управления входом пользователей в приложения. Оно позволяет оснастить веб-сайты компании функциями защиты учетных записей пользователей.
Для начала необходимо определиться с основными понятиями, которые будут использоваться при настройке Blitz:
IdP (Identity Provider) – система, которая отвечает за аутентификацию пользователей. В данном случае это BlitzProvider. Именно туда перенаправляется пользователь, чтобы подтвердить свою личность.
SP (Service Provider) – приложение (в данном случае Infrascope), которое доверяет IdP и принимает от него данные о пользователе.
AuthnRequest – запрос на аутентификацию от SP к Idp.
SAML Assertion – подтверждение с данными пользователя от Idp к SP.
Далее для корректной работы SAML SSO необходимо на сервере (или на рабочей машине с установленным openssl) сгенерировать пару ключ/сертификат для подписания запросов (SP signing key / certificate):
Перейдите в директорию, где будете хранить ключи: cd /u01/kron/saml-certs/
Сгенерируйте приватный ключ RSA (2048 бит):
Сгенерируйте самоподписанный сертификат X.509:
openssl req -new -x509 -key sp-signing.key -sha256 -days 3650 -subj "/CN=ngrsoftlab.ru" -out sp-signing.crtВ результате появятся два файла:
/u01/kron/saml-certs/sp-signing.key – приватный ключ (хранить только на сервере);
/u01/kron/saml-certs/sp-signing.crt – публичный сертификат (для обмена с IdP).
Далее необходимо настроить SAML для Infrascope и BlitzProvider:
Создание приложения в BlitzProvider:
Перейдите в консоль Blitz: https://10.130.6.82:8443/blitz/console
В меню выберите Приложения или сразу: https://10.130.6.82:8443/blitz/console/apps
Нажмите кнопку Добавить приложение.
Заполните поля:
Идентификатор (entityID или client_id) – уникальный ID приложения (например, BITZ_82);
Название – любое удобное (например, INFRASCOPE);
Домен – основной домен приложения (dev2-infr.ngrsoftlab.ru);
Стартовая страница приложения – URL входа (например, https://dev2-infr.ngrsoftlab.ru/ui/login).
Сохраните приложение.
Настройка SAML в Infrascope:
Войдите в интерфейс администратора Infrascope: Администрирование > Настройка системы > Интеграции > Конфигурация SAML.
Включите SAML.
Заполните поля:
SAML ID сущности – укажите тот же entityID, который вы указали в BlitzProvider.
SAML URL – https://<адрес>/blitz/saml/profile/SAML2/Redirect/SSO.
SAML Logout URL – https://<адрес>/blitz/saml/profile/SAML2/Redirect/SLO.
SAML Remote URL – URL страницы логина Infrascope (https://dev2-infr.ngrsoftlab.ru/ui/login).
SAML X509 Certf. Key – X.509 сертификат IdP. + Сертификат можно получить по ссылке:
https://<адрес>/blitz/saml/profile/Metadata/SAML
Внутри XML найдите блок <ds:X509Certificate> и скопируйте его.Имя поставщика услуг – название кнопки (например, BlitzProvider).
Иконка – опционально (64x64).
Проверьте, что включены флаги Включить SAML и Включить вход поставщика услуг.
Сохраните изменения.

Войдите в интерфейс добавления параметров: Администрирование > Настройки системы > Добавить.
Добавьте saml.blitz.enable = true:

Зайдите в метаданные BlitzProvider:
https://10.130.6.82:8443/blitz/saml/profile/Metadata/SAMLСкопируйте значение entityID (для blitz-demo, например, entityID="https://blitz-demo.loc/blitz/saml").
Далее добавьте новый параметр saml.provider.entity.id = https://blitz-demo.loc/blitz/saml:

Добавьте в параметры пути к ранее созданным файлам:
saml.sp.key.path = /u01/kron/saml-certs/sp-signing.key
saml.sp.cert.path = /u01/kron/saml-certs/sp-signing.crt
Завершение настройки в BlitzProvider:
Вернитесь в Blitz Console > Приложения и выберите созданное приложение.
Пролистайте вниз до блока Протоколы > SAML и нажмите Сконфигурировать.
В поле Метаданные вставьте содержимое по адресу:
https://dev2-infr.ngrsoftlab.ru/login-ui/samlCheck?mode=metadata
Это метаданные SP, которые генерирует Infrascope.В блоке SAML профиль выберите параметры:
Подписывать утверждения (Sign assertions) – always;
Шифровать утверждения (Encrypt assertions) – never;
Шифровать идентификаторы (Encrypt NameIDs) – never.
Сохраните изменения.
Настройка пользователя:
Зайдите в Blitz Console > Пользователи > Создать учетную запись пользователя (sub: <логин в Infrascope>, Пароль: <любой>, остальные поля опционально).
Далее перейдите в Blitz Console > SAML > Добавить новый SAML атрибут:
Свойства SAML-атрибута: Название: <любое, например, logonname> / Источник: sub.
Добавьте кодировщик: выберите из 4 вариантов SAML2StringNameId: Название: <любое, например, logonname>.

Вернитесь в Blitz Console > Приложения и выберите созданное приложение.
Пролистайте вниз до блока Атрибуты пользователя.
Выберите в списке SAML-атрибут с тем названием, которое дали в пункте 2:

Проверка входа:
Проверьте, что на странице логина Infrascope появилась кнопка Войти с BlitzProvider.
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.