Русский
  • Just-in-Time

Понимание Just-in-Time поддержка

Just-in-Time поддержка — это процесс, используемый в системах управления идентификацией и доступом для создания пользовательских учетных записей на лету, когда они впервые входят в систему. В этой статье объясняются основы Just-in-Time поддержки и отвечают на распространенные вопросы о его внедрении.

Guamian
Guamian
Product & Design

Прежде чем мы обсудим Just-in-Time поддержку, представьте, что вы создаете B2B приложение SaaS и хотите поддерживать функции членства, позволяя пользователям легко присоединяться к вашему рабочему пространству (арендатору). Какие функции вы бы предложили? Вот контрольный список для вас:

СценарийПоток
Приглашение администратораПользователи могут получить приглашение по электронной почте для присоединения к организации.
Создание пользователя или импорт через API управленияПользователи могут использовать предварительно созданную учетную запись для присоединения к организации.
Just-in-Time поддержкаПользователи, которые впервые входят в приложение, могут присоединиться к организации.
Синхронизация каталогов (например, SCIM)Используйте функциональность синхронизации каталогов поставщика удостоверений (IdP), чтобы заранее создавать пользователей в приложении.

Just-in-Time (JIT) поддержка — это процесс, используемый в системах управления идентификацией и доступом для создания учетных записей пользователей на лету, когда они впервые входят в систему. Вместо предварительного создания учетных записей пользователей заранее, JIT поддержка динамически создает и настраивает необходимые учетные записи пользователей при аутентификации. Just-in-time поддержка является популярной функцией со своими характеристиками, такими как эффективность, отсутствие административного участия и автоматическое членство в организации и т.д. Теперь, когда вы поняли основы Just-in-Time поддержки, у вас могут возникнуть вопросы, когда вы начнете углубляться в разработку реальных продуктов. Я отвечу на эти вопросы, которые могут быть спорными и сильно зависят от ваших конкретных бизнес-кейсов.

Нужно ли вам внедрять Just-in-Time поддержку для вашего продукта?

Эти случаи распространены при создании B2B приложений, связанных с многоарендаторной архитектурой, корпоративным SSO, работой с предприятиями или необходимостью функций адаптации команд. Вот несколько примеров, с которыми может столкнуться ваш клиент.

Быстрая адаптация

Ваш клиент, который испытывает частые наемы или быстрый рост, может использовать JIT поддержку для быстрого создания учетных записей пользователей для новых сотрудников. Рассмотрим пример:

Сара — новый сотрудник компании «SuperFantasy», которая использует «Okta» в качестве корпоративного поставщика удостоверений. Команда кадров добавляет ее как деловую идентификацию [email protected] в Okta всего один раз. Когда Сара впервые использует этот email для входа в корпоративное производственное приложение под названием «Smartworkspace», система автоматически создает учетную запись и назначает ей нужную роль в рабочем пространстве компании. Таким образом, ни Саре, ни команде кадров в SuperFantasy не нужно проходить через множество шагов для создания учетной записи и назначения роли.

Слияния, поглощения и временные сотрудники

Ваш клиент, который испытывает слияние или поглощение других, может упростить процесс предоставления доступа к системам компании для многих новых пользователей с помощью JIT поддержки. Взглянем на еще один пример,

Питер работает в компании «MagicTech», которая недавно была поглощена «SuperFantasy». MagicTech — это небольшая организация без корпоративного SSO, но также использует «Smartworkspace», где Питер уже имеет деловую учетную запись.

Команда кадров может добавить Питера в «Okta». Когда Питер впервые войдет в Smartworkspace через Okta, система автоматически свяжет его существующую деловую учетную запись и предоставит подходящий доступ к SuperFantasy.

Вышеописанные сценарии идеально подходят для внедрения функции JIT.

Является ли это специфическим для SAML и корпоративного SSO?

Just-in-time (JIT) поддержка часто ассоциируется с единым входом (SSO) в аутентификации SAML, но она не является исключительно для SAML. JIT поддержка также может использоваться с другими протоколами аутентификации, такими как OAuth 2.0 и OpenID Connect, и она не всегда требует настройки корпоративного SSO.

Например, JIT поддержка на основе email может упростить адаптацию команд, автоматически добавляя пользователей в рабочее пространство на основе их домена электронной почты. Это особенно полезно для организаций, у которых нет бюджета и ресурсов для покупки и управления корпоративным SSO.

Основная идея JIT поддержки заключается в автоматизации создания или обновления учетных записей пользователей, когда пользователь впервые пытается получить доступ к сервису, независимо от используемого протокола.

Применяется ли это к новым или существующим пользователям приложения?

Это сложный вопрос. Под поддержкой Just-in-time (JIT) обычно подразумевается первая попытка доступа к приложению. Однако различные продукты воспринимают эту функциональность по-разному. Некоторые используют Just-in-time поддержку только для идентификации и создания учетных записей, в то время как другие также включают Just-in-Time обновления учетных записей, такие как повторное создание и синхронизация атрибутов.

В дополнение к автоматическому созданию пользователей, SAML JIT поддержка позволяет предоставлять и отзывать членство в группах в рамках поддержки. Она также может обновлять созданных пользователей, чтобы их атрибуты в хранилище поставщика услуг (SP) оставались синхронизированными с атрибутами хранилища пользователей поставщика идентификационных данных (IDP).

Например, в Oracle Cloud Just-in-Time поддержка может быть настроена различными способами.

  1. Just-in-Time создание
  2. Just-in-Time обновление

Администрирование Oracle Identity Cloud Service: Понимание SAML Just-In-Time поддержки.

При входе в систему пользователь:Поток
Существует, и JIT поддержка включена.Стандартный процесс отказа SSO.
Не существует и JIT создание включено.Пользователь создается, и заполнен атрибутами утверждения SAML, как это настроено в конфигурации JIT.
Существует, и JIT обновление включено.Значения атрибутов пользователя обновляются атрибутами утверждения SAML, как это настроено в конфигурации JIT.

Если вы хотите рассмотреть сценарий последующего входа существующего пользователя, убедитесь, что у вас есть надежная система поддержки наряду с вашей системой JIT. Например,

  • Разрешение конфликтов: Ваша система должна иметь стратегию для управления конфликтами, если учетная запись уже существует и содержит другую информацию, чем та, которая представлена поставщиком удостоверений при процессе JIT. Это может потребовать детального контроля над политиками вашей организации и конфигурации поставщика удостоверений.
  • Журналы аудита: Важно вести учет как создания новых учетных записей, так и обновлений существующих аккаунтов через процессы JIT для обеспечения безопасности и соблюдения требований.
  • Производительность: Хотя поддержка JIT происходит быстро, учитывайте потенциальное влияние на время входа в систему, особенно для существующих пользователей, если при каждом входе обновляется их информация.
  • Согласованность данных: Убедитесь, что ваш процесс поддержки JIT сохраняет согласованность данных, особенно при обновлении существующих учетных записей пользователей.

В чем разница между JIT и SCIM?

Помимо Just-in-Time (JIT) поддержки, вы могли слышать о SCIM (System for Cross-domain Identity Management). SCIM — это стандартный протокол, разработанный для упрощения и автоматизации управления идентификацией пользователей между различными системами и доменами. Он часто используется в сценариях синхронизации каталогов.

Основное различие между JIT и SCIM заключается в том, что JIT создает учетные записи во время попытки входа пользователя, в то время как SCIM может автоматически создавать пользователей через оффлайн-процесс, независимо от попыток входа пользователя.

То есть JIT сосредоточен на адаптации новых пользователей, в то время как SCIM сосредоточен на полном жизненном цикле управления пользователями.

Кроме того, JIT часто является расширением SAML и не имеет стандартизированного внедрения на всех системах, тогда как SCIM является четко определенным, стандартизированным протоколом (RFC 7644) для управления идентификацией.

Некоторые крупные организации используют SCIM для поддержки учетных записей, интегрируя его со своими собственными системами. Это может быть очень сложно и варьироваться от случая к случаю. Эти организации часто имеют поддержку, включающую как автоматизированные процессы, так и участие администратора вручную.

Just-in-Time поддержка в Logto

SSO Just-in-Time поддержка и Just-in-Time поддержка по email доменам — вот что мы поддерживаем в Logto.

В Logto у нас эта функция установлена на уровне организации, что позволяет пользователям автоматически присоединяться к организации и получать назначение ролей, если они соответствуют определенным критериям.

Мы внедряем функцию JIT на самом масштабируемом и безопасном уровне, чтобы упростить и автоматизировать процесс поддержки для разработчиков, которые адаптируют своих клиентов. Однако, как мы уже обсуждали ранее, так как системы поддержки могут быть сложными и адаптированы к индивидуальным потребностям ваших клиентов, вам следует полагаться как на предварительно созданные функции JIT Logto, так и на ваш тщательный дизайн системы, а также на API управления Logto для создания надежной системы поддержки.

Давайте рассмотрим эту диаграмму, чтобы понять, как это работает в Logto,

Поддержка корпоративного SSO

Если у вас настроен корпоративный SSO в Logto, вы можете выбрать корпоративный SSO вашей организации для включения Just-in-time поддержки.

Новые или существующие пользователи, которые входят через корпоративное SSO в первый раз, автоматически присоединятся к организации и получат роли по умолчанию в организации.

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

Статус пользователяОписание потока
Пользователь не существует, и JIT включен.Пользователь создается и автоматически присоединяется к соответствующей организации с подходящими ролями.
Пользователь существует с тем же подтвержденным email, что и корпоративный SSO, и JIT включен.Email пользователя автоматически связывается с учетной записью корпоративного SSO, и пользователь присоединяется к соответствующей организации с правильными ролями.
Пользователь не существует, и JIT не включен.Стандартный процесс отказа SSO.
Пользователь существует, и JIT не включен.Стандартный процесс SSO.

Поддержка SSO

Поддержка по email доменам

Если у организации нет выделенного корпоративного SSO, вы можете использовать email домены для включения Just-in-Time поддержки. Это обычно происходит в небольших бизнесах, у которых нет бюджета на корпоративный SSO, но которым все равно требуется определенная автоматизация членства и управление безопасностью.

Когда пользователи регистрируются, если их подтвержденные email адреса совпадают с настроенными email доменами на уровне организации, они будут автоматически присоединены к соответствующей организации(-ям) с подходящими ролями.

Поддержка по email доменам

Поддержка по email доменам работает для:

  1. Аутентификация при регистрации через email
  2. Аутентификация при регистрации через социальные сети

Поток email

Статус пользователяОписание потока
Пользователь не существует и регистрируется по email, и JIT включен.Пользователь создается и автоматически присоединяется к соответствующей организации с подходящими ролями.
Пользователь существует с тем же подтвержденным email, что и прописанные email домены, и JIT включен.Стандартный процесс входа через email.
Пользователь не существует и регистрируется по email, и JIT не включен.Стандартный процесс регистрации по email.
Пользователь существует и входит через email, и JIT не включен.Стандартный процесс входа через email.

Социальный поток

Статус пользователяОписание потока
Пользователь не существует, регистрируется через социальную сеть, используя подтвержденный email, и JIT включен.Пользователь создается и автоматически присоединяется к соответствующей организации с подходящими ролями.
Пользователь не существует, регистрируется через социальную сеть, используя неподтвержденный email или без email, и JIT включен.Стандартный процесс регистрации через социальную сеть.
Пользователь существует с тем же подтвержденным email, что и прописанные email домены, входит через социальную сеть, и JIT включен.Стандартный процесс входа через социальную сеть.
Пользователь не существует, регистрируется через социальную сеть, и JIT не включен.Стандартный процесс регистрации через социальную сеть.
Пользователь существует, входит через социальную сеть, и JIT не включен.Стандартный процесс входа через социальную сеть.

Управление конфликтами между поддержкой по email доменам и корпоративным SSO

Если вы изначально настроили поддержку по email доменам, а затем настроили корпоративный SSO с тем же email доменом, вот что произойдет:

Когда пользователь вводит свой email адрес, он будет перенаправлен на поток SSO, обходя аутентификацию через email. Это означает, что процесс JIT не будет запущен.

Чтобы решить эту проблему, мы покажем предупреждающее сообщение при конфигурации. Убедитесь, что вы выбрали правильный SSO для включения Just-in-time поддержки и не полагайтесь на поддержку по email доменам.

Разрешение конфликтов

Роли по умолчанию в организации

При поддержке пользователей, вы можете установить их роли по умолчанию в организации. Список ролей предоставляется из шаблона организации, и вы можете выбрать роль или оставить этот выбор пустым.

Just-in-Time обновление корпоративного SSO

К счастью, эта функция уже встроена в корпоративный SSO! Вы можете выбрать, будет ли информация профиля синхронизироваться с Logto при первом входе или при каждом входе. Мы также планируем добавить больше возможностей, таких как сопоставление ролей и организаций и переподготовка в будущем.

JIT обновление SSO Узнайте больше.

Функция Just-in-Time доступна немедленно в Logto. Зарегистрируйтесь в Logto сегодня и начните автоматизировать адаптацию ваших клиентов.