Перейти к основному содержимому
Версия: 7.0

Конфигурация SSO с Blitz Identity Provider

осторожно

Перед настройкой SSO убедитесь, что в config.env параметр APP_URL соответствует текущему домену Пассворка, пример — APP_URL=https://passwork.example.com

Это нужно, чтобы IDP смог скачать metadata. Также сервер Пассворка должен работать по HTTPS протоколу.

Для примера используются следующие имена серверов:

  • Провайдер (IDP) — blitz.passwork.local
  • Сервер Пассворка (SP) — passwork.example.com

Создание приложения в Blitz Identity Provider

В Blitz Console перейти на вкладку Приложения и Добавить приложение:

Создание приложения Пассворка

В Пассворке открыть Настройки и пользователиНастройки SSO и скопировать Идентификатор (Entity ID):

https://passwork.example.com/api/v1/sso/metadata

Заполнить параметры приложения в Blitz:

Открыть созданное приложение (Пассворк) и перейти в раздел ПротоколыSAMLСконфигурировать:

Выбрать SAML протокол и заполнить поля

В МетаданныеИзменитьСгенерировать метаданные. В Пассворке скопировать:

На сервере, где установлен Blitz Identity Provider, автоматически генерируются публичный и приватный SSL-сертификаты для использования, которые размещены в — /etc/blitz-config/saml/credentials/:

ls -la /etc/blitz-config/saml/credentials/
-rw-r--r-- 1 blitz blitz 1874 апр 2 16:34 idp.crt
-rw------- 1 blitz blitz 3272 апр 2 16:34 idp.key

Получить и скопировать содержимое idp.crt SSL сертификата:

cat /etc/blitz-config/saml/credentials/idp.crt

Заполнить параметры для формирования метаданных:

Пример заполненных полей в SAML протоколе

Сгенерировать метаданные для Пассворка:

Пример сгенерированных метаданных

В разделе SAML профильСконфигурировать и выставить в never следующие параметры:

  • Шифровать утверждения;
  • Шифровать идентификаторы (NameIds).

Активировать — Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement:

Изменить параметры SAML профиля

Сохранить указанные значения и в левой панели перейти на вкладку — SAML.

Настройка правил обработки запросов от SP (Пассворка) в IDP (Blitz Identity Provider)

осторожно

В зависимости от нужного вида логина пользователя в Пассворке, вы можете настроить правила обработки так, чтобы формат пользователя мог быть следующим:

Пожалуйста, выберите необходимый формат логина пользователя в Пассворке и выполните настройку.

Настройка правил обработки для username@passwork.local формата

На вкладке SAMLДобавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:

  • Название — NameID;
  • Источник — email.

Добавить кодировщик и выполнить следующие действия:

  • Тип — SAML2StringNameID;
  • Название — NameID;
  • Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress.

Сохранить внесённые изменения для NameID атрибута:

Создать SAML атрибут правила утверждения
Настройка правил обработки для username формата

На вкладке SAMLДобавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:

  • Название — NameID;
  • Источник — sub.

Добавить кодировщик и выполнить следующие действия:

  • Тип — SAML2StringNameID;
  • Название — NameID;
  • Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress.
Создать SAML атрибут правила утверждения

Настройка правил обработки дополнительных атрибутов для передачи в SP

Добавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:

  • Название — emailAddress;
  • Источник — email.

Добавить кодировщик и выполнить следующие действия:

  • Тип — SAML2String;
  • Название — emailAddress;
  • Короткое имя — emailAddress;
  • Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.

Сохранить внесённые изменения для emailAddress атрибута:

Создать SAML атрибут для отдачи email адреса

Добавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:

  • Название — displayName;
  • Источник — given_name.

Добавить кодировщик и выполнить следующие действия:

  • Тип — SAML2String;
  • Название — displayName;
  • Короткое имя — displayName;
  • Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.

Сохранить внесённые изменения для displayName атрибута:

Создать SAML атрибут для отдачи given_name адреса

Открыть ПриложенияПассворк (созданное приложение) → в разделе Атрибуты пользователяДобавить:

  • NameID;
  • emailAddress;
  • displayName.

Сохранить изменения:

В приложение Пассворка добавить созданные правила для отдачи атрибутов

Настройка и заполнение параметров единого входа (SSO) в Пассворке

Заполнение значений «Атрибуты пользователя»

Авторизоваться в веб-интерфейсе Пассворка, перейти в — Настройки и пользователиНастройки SSO и заполнить атрибуты сопоставления:

  • Атрибут электронной почты — emailAddress;
  • Атрибут полного имени — displayName.

Заполнение значений «Поставщик удостоверений → Пассворк»

Открыть конфигурацию поставщика услуг (IDP) — SAMLURL с метаданными Blitz Identity Provider:

Открыть SAML метаданные Blitz Identity Provider

Скопировать следующие значения параметров:

entityID="https://blitz.passwork.local/blitz/saml"
SingleSignOnService Location="https://blitz.passwork.local/blitz/saml/profile/SAML2/Redirect/SSO"
SingleSignOnService Location="https://blitz.passwork.local/blitz/saml/profile/SAML2/Redirect/SLO"
Пример xml вывода
Пример xml вывода метаданных

Открыть — Настройки и пользователиНастройки SSO и заполнить значения:

Заполнение значения «Сертификат»

Повторно скопировать содержимое idp.crt SSL сертификата:

cat /etc/blitz-config/saml/credentials/idp.crt

Скопированный SSL сертификат поместить в соответствующее поле — Настройки и пользователиНастройки SSO.

Открыть окно авторизации в веб-интерфейсе Пассворка и выполнить вход через SSO для проверки корректной настройки:

Выполнить аутентификацию в Пассворке с помощью SSO