Документация/Настройка SSO/JIT-провижининг

JIT-провижининг

Just-In-Time (JIT) провижининг автоматически создаёт учётные записи пользователей, когда они впервые входят через SSO. Никакого ручного создания пользователей — пользователи провизионятся по требованию.

Настройка не требуется: JIT-провижининг включается автоматически, когда настроен SSO. Дополнительная настройка не нужна.

Как работает JIT

Когда пользователь входит через SSO в первый раз, SecureCodingHub автоматически обрабатывает создание учётной записи:

1
Пользователь входит через SSO
Пользователь нажимает «Войти с SSO» и аутентифицируется через Вашего поставщика идентификации в первый раз.
2
Получен аутентификационный ответ
SecureCodingHub получает аутентификационный ответ от Вашего IdP, содержащий identity claims пользователя.
3
Поиск пользователя
Система ищет существующего пользователя по ExternalSsoId сначала, затем возвращается к сопоставлению по email. Если на последующем входе найдено только совпадение по email, существующий пользователь связывается со учётной записью IdP — его ExternalSsoId обновляется на новое значение, а его имя обновляется из claims IdP.
4
Создание учётной записи
Если существующий пользователь не найден, создаётся новая учётная запись с ролью Учащийся.
5
Проверка мест
Если у организации нет доступных мест, вход отклоняется с ошибкой. Пользователь не провизионится.
6
Обучение начинается
Пользователь вошёл и может начать обучение немедленно. Никаких ручных шагов онбординга не нужно.

Что создаётся

Когда JIT провизионит нового пользователя, заполняются следующие поля профиля:

ПолеЗначение
EmailИз SSO-ответа (NameID или атрибут email)
ИмяИз SSO-атрибутов (если доступно)
РольУчащийся (по умолчанию)
Метод аутентификацииsso (то же значение для OIDC и SAML — протокол не встроен в запись пользователя)
Внешний SSO IDУникальный идентификатор из IdP
КомандаНет (может быть назначена позже или через SCIM)

Управление местами

JIT-провижининг уважает лимит мест Вашей организации (maxSeats). Когда новый пользователь пытается войти через SSO, система проверяет, есть ли доступные места перед созданием учётной записи.

Если все места использованы, новый пользователь увидит ошибку и не сможет быть провизионирован. Администраторам следует мониторить использование мест с панели и обновить план, если им нужно больше мест.

JIT + SCIM

Для полного управления жизненным циклом сочетайте JIT-провижининг с SCIM:

ФункцияНазначение
JITСоздаёт пользователей при первом входе. Немедленный доступ без действий администратора.
SCIMСинхронизирует атрибуты пользователя, назначения групп/команд и обрабатывает деактивацию из Вашего IdP.
JIT + SCIMJIT создаёт пользователя при первом доступе. SCIM держит данные пользователя, команды и жизненный цикл в синхронизации в дальнейшем.
Рекомендуется: Сочетайте JIT с SCIM для лучшего опыта. JIT обрабатывает первоначальный доступ, SCIM обрабатывает текущее управление жизненным циклом.

Повышение пользователей

JIT-созданным пользователям всегда назначается роль Учащийся. JIT не поддерживает автоматическое создание учётных записей Администратора организации.

Чтобы повысить пользователя до Администратора организации, существующий администратор должен перейти на страницу Пользователи и вручную изменить роль пользователя. Это намеренная мера безопасности для предотвращения повышения привилегий через SSO-claims.

JIT-провижининг: часто задаваемые вопросы

Что JIT-провижининг решает, чего не решает ручное создание пользователей?

JIT-провижининг убирает синхронный шаг администратора между добавлением пользователя в IdP и возможностью этого пользователя начать обучение. С ручным созданием администратору приходится приглашать пользователей по email и одобрять места по одному — подвержено ошибкам на масштабе. С JIT-провижинингом назначение приложения IdP — это единственный источник истины, а учётная запись SecureCodingHub создаётся при первом SSO-входе. Никаких email-приглашений, никаких дублирующих учётных записей, никакого зала ожидания.

JIT vs запланированный провижининг доступа пользователей — когда мне нужен SCIM?

JIT обрабатывает провижининг доступа пользователей по требованию: учётная запись создаётся в момент, когда пользователь входит. SCIM — это запланированная отправка из IdP, обрабатывающая текущие обновления — изменения членства в группах, обновления атрибутов и деактивацию. Один JIT достаточен, если Вам нужно только создание учётных записей; сочетайте его с SCIM, когда Вам нужно, чтобы оффбординг автоматически вытекал из Вашего IdP без того, чтобы администратор SecureCodingHub прокликивал страницу Пользователи.

Где JIT вписывается в жизненный цикл провижининга идентификации и доступа?

В жизненном цикле провижининга идентификации и доступа JIT покрывает стадию создания — момент, когда новой идентификации нужна учётная запись в downstream-приложении. Более ранние стадии (создание идентификации, joiner-процессы, назначение групп) живут в IdP; более поздние стадии (mover, leaver, деактивация) лучше обслуживаются SCIM. Восприятие JIT как полного решения жизненного цикла — распространённая ошибка; это въезд, а не вся дорога.

Безопасен ли JIT-провижининг — может ли вредоносный IdP-claim повысить привилегии?

JIT-реализация SecureCodingHub всегда провизионит новых пользователей с ролью Учащийся, независимо от любого role claim, который эмитирует IdP. Повышение до Администратора организации требует явного действия со стороны существующего администратора в интерфейсе SecureCodingHub. Намерение дизайна — предотвратить повышение привилегий через манипулированные IdP-claims — даже если атакующий компрометирует IdP-идентификацию пользователя, худшее, что они получают через один JIT — это место Учащегося в Вашем тенанте.