В компании на триста человек вопрос «у кого есть доступ к порталу» перестаёт быть риторическим. Человек уволился в пятницу — в понедельник его учётку отключили в домене, а в пяти сервисах она живёт дальше, потому что заводилась там отдельно и вручную. Через полгода служба безопасности просит список активных доступов, и оказывается, что единственный честный способ его собрать — обойти пять админок и сверить руками.
SAML 2.0 SSO закрывает именно этот разрыв. DTPulse становится service provider'ом рядом с вашим Identity Provider: пароль сотрудник вводит только у себя в IdP, а портал получает подписанное утверждение о том, кто пришёл. Выключили учётку в IdP — доступ в портал закрылся в тот же момент, без отдельного действия.
Как это выглядит для сотрудника
На странице входа появляется кнопка «Войти через SSO». Сотрудник вводит рабочую почту — портал по домену определяет компанию и отправляет его в ваш IdP. Дальше идёт привычный корпоративный экран со всеми политиками, которые у вас настроены: пароль, второй фактор, условный доступ, ограничение по устройству. Обратно человек возвращается уже внутрь портала.
Собственный TOTP DTPulse при SSO-входе не запрашивается: второй фактор остаётся там, где им управляет ИТ, и не дублируется.
Что настраивает администратор
Форма живёт в «Администрирование → Настройки» и доступна только роли ADMIN — HR в этот раздел не попадает.
Верхняя половина — данные service provider'а, которые нужно скопировать в IdP: Entity ID, ACS URL и адрес метаданных. У каждой компании они свои, рядом с каждым полем кнопка копирования, метаданные отдаются отдельным URL, если ваш IdP умеет их импортировать.
Нижняя половина — то, что вы вставляете из IdP: его Entity ID, SSO URL, при необходимости SLO URL и один или несколько сертификатов X.509 в формате PEM. Отдельно настраивается карта атрибутов (почта, имя, фамилия) — на случай, когда IdP присылает их под нестандартными именами; при пустых полях используются стандартные claim-URI и NameID. И роль по умолчанию для новых учётных записей: USER, HR или ADMIN.
Это одна форма и один сохранённый экран. Реальное время настройки упирается не в портал, а в то, как быстро ваш IdP-администратор создаст приложение на своей стороне.
Что происходит при первом входе
Учётная запись создаётся автоматически из данных assertion — почта, имя, фамилия, роль по умолчанию. Повторный вход ничего не дублирует: если сотрудник с такой почтой уже есть, портал просто связывает его с внешней учёткой.
Перед созданием проверяются две вещи. Домен почты должен входить в список доменов компании — даже корректно подписанное утверждение не заведёт человека с чужим доменом. И число сотрудников должно укладываться в лимит тарифа: на исчерпанном лимите вход не создаст лишнюю запись молча, а вернёт понятную ошибку администратору.
Дальше новый человек живёт в общем потоке: карточка в дереве, отдел, руководитель, место на карте офиса.
Безопасность по умолчанию
Подпись assertion обязательна, и интерфейс не даёт её отключить. Вход, инициированный со стороны IdP, выключен по умолчанию — включается осознанно. Каждое использованное утверждение записывается, повторное отклоняется; для IdP вроде ADFS, которые не всегда присылают идентификатор, он выводится из sessionIndex, inResponseTo или хеша самого ответа — защита от повтора работает в любом случае.
Проверяются подпись, условия действия, окно NotBefore / NotOnOrAfter, Audience и Destination, с допуском по расхождению часов в 60 секунд. Приватный ключ SP — он нужен, только если вы подписываете исходящие AuthnRequest — хранится зашифрованным AES-256-GCM и наружу не отдаётся никогда. SSO URL принимается только по https, сертификат обязан разбираться как PEM.
Каждый вход и каждая неудачная попытка попадают в журнал аудита с причиной отказа — несовпадение аудитории, просроченный сертификат, чужой домен, повтор. Это тот случай, когда разбор инцидента занимает пять минут, а не день.
Сертификаты не протухают незаметно
Ежедневная проверка смотрит срок действия сертификатов IdP и за 30 дней до истечения пишет письмо администраторам компании. Сертификатов можно хранить несколько одновременно: новый добавляется рядом со старым, старый удаляется после переключения — ротация проходит без окна недоступности.
Кому это экономит время
ИТ — портал перестаёт быть исключением из общего контура доступов. Заведение и отзыв делаются там же, где для остальных систем.
Службе информационной безопасности — понятный ответ на вопрос «как отзывается доступ» и журнал, в котором видно, кто и когда входил, а кому отказали и почему.
Новому сотруднику — нет отдельного пароля и письма с приглашением. Учётка появляется в момент первого входа.
HR — список сотрудников перестаёт расходиться с реальностью между кадровыми событиями.
С чего начать
Укажите домены почты компании в настройках, создайте приложение SAML в своём IdP, скопируйте туда три поля из портала и вставьте обратно три поля из IdP. Проверьте вход одним пользователем, потом включите переключатель для всех.
SAML настраивается на любом тарифе — ограничение только по числу сотрудников. Для установки на своей инфраструктуре (dtpulse.ru поставляется и как on-premise) это особенно уместно: учётные данные не покидают ваш контур вообще, а портал получает только подписанное утверждение о личности.