AACsearch
Безопасность и соответствие

SSO и SCIM

Single sign-on и SCIM 2.0-провизионинг для организаций AACsearch.

SSO и SCIM

AACsearch поддерживает федеративный вход (SSO) и автоматическое управление жизненным циклом пользователей (SCIM 2.0). Обе функции — часть Enterprise.

ВозможностьСтатус
Пароль + 2FA✅ Все тарифы
Magic link / passkey✅ Все тарифы
OAuth (Google, Microsoft, GitHub)✅ Все тарифы
SAML SSO🟡 Enterprise — обращайтесь в sales
OIDC SSO🟡 Enterprise — обращайтесь в sales
SCIM 2.0 user provisioning✅ Enterprise — self-serve после активации
SCIM 2.0 group → role mapping✅ Enterprise — см. правила ниже
Just-in-time provisioning✅ Доступно при включённом SAML/OIDC

SSO (SAML / OIDC)

SAML и OIDC включаются индивидуально для организации. Напишите на sales@aacsearch.com, укажите:

  • Какой IdP (Okta, Azure AD / Entra ID, OneLogin, Google Workspace, Ping, JumpCloud, Auth0, кастомный).
  • SAML 2.0 или OIDC.
  • Принудительное SSO (блокировать пароль) или нет.
  • Домены, которые должны резолвиться в вашу организацию на странице входа.

В ответ — metadata URL (SAML) или client-конфиг (OIDC). Обычно круг — один рабочий день.

Принудительное SSO — переключатель «в одну сторону». После включения пароль не работает для всех участников, включая владельцев. Держите хотя бы один break-glass-аккаунт (с 2FA) вне SSO до успешного end-to-end теста.

Just-in-time провизионинг

При первом входе через IdP AACsearch автоматически создаёт User и добавляет его в организацию как member. Чтобы выдать роль выше (admin, owner):

  1. Один раз поднять в дашборде, либо
  2. Настроить SCIM group → role mapping.

JIT не выдаёт admin автоматически — это намеренно. Эскалация прав не должна быть побочным эффектом входа.

SCIM 2.0

SCIM позволяет вашему IdP пушить в AACsearch создание, обновление и деактивацию пользователей. Мы реализуем core schema SCIM 2.0 (RFC 7643) и протокол (RFC 7644) для Users и Groups.

Включение SCIM

  1. Organization → SCIM provisioning в дашборде.
  2. Generate token. Скопируйте bearer-токен (scim_…) один раз и сохраните в IdP — в нашей БД лежит только хэш.
  3. Скопируйте SCIM base URL: https://app.aacsearch.com/scim/v2.
  4. В IdP создайте SCIM-интеграцию с этим base URL и токеном.
  5. (Опционально) Добавьте provisioning rules — ниже.

Поддерживаемые эндпоинты

ЭндпоинтМетодПримечание
/scim/v2/UsersGET, POSTСписок, создание.
/scim/v2/Users/{id}GET, PUT, PATCH, DELETEЧтение, замена, обновление, деактивация.
/scim/v2/GroupsGET, POSTСписок, создание.
/scim/v2/Groups/{id}GET, PUT, PATCH, DELETEЧтение, замена, обновление, удаление.
/scim/v2/ServiceProviderConfigGETДискавери возможностей.
/scim/v2/ResourceTypesGETПеречисление ресурсов.
/scim/v2/SchemasGETСхемы атрибутов.

Только bearer-токен (Authorization: Bearer scim_…). Фильтрация и пагинация — по протоколу SCIM.

Ротация токена

Срок жизни у токена не задан. Ротируйте минимум раз в 12 месяцев:

  1. SCIM provisioning → Regenerate token. Новый токен возвращается один раз.
  2. Обновите токен в IdP.
  3. Старый перестаёт работать немедленно.

Регенерация фиксируется в scim_audit_log — см. Аудит.

SCIM group → role mapping

По умолчанию SCIM-провизионированные пользователи — members. Чтобы маппить группы IdP на роли:

  1. SCIM provisioning → Provisioning rules → Add rule.
  2. Group name — точное совпадение с displayName SCIM-группы, как её шлёт IdP (AACsearch Admins).
  3. Target roleowner, admin или member.
  4. Deprovisioning action — что происходит при удалении из группы:
    • suspend — отключить пользователя, строку сохранить (восстановимо).
    • remove — удалить из организации (необратимо).
    • notify — оповестить админа, ничего не делать.
  5. Enabledtrue для активации.

Правила вычисляются по порядку. Побеждает самая высокая подходящая роль: пользователь и в Admins, и в Engineering — получит admin.

Аудит

Каждое SCIM-действие пишется в отдельную таблицу scim_audit_log. Действия: config_created, token_regenerated, sync_started, user_provisioned, user_deprovisioned, group_provisioned и их failure-варианты. См. Аудит.

Частые ошибки

  • Нет break-glass-аккаунта. Всегда держите один аккаунт с паролем + 2FA вне SSO. Если IdP лёг одновременно с инцидентом — вам всё равно нужно войти.
  • Группа «все» → admin. Маппинг группы на роль должен отражать реальную ответственность. Правило Everyoneadmin убивает смысл.
  • Без деприсижна. Без suspend/remove уволенный сотрудник сохраняет доступ. Проверяйте, удалив себя из IdP-группы.
  • Ротация SCIM-токена без обновления IdP. Sync молча останавливается; аудит покажет sync_failed. Обновляйте в одно окно изменений.

См. также

  • API-ключи — отдельный auth-путь для программного доступа
  • Аудитscim_audit_log
  • Enterprise — тариф, в который входят SAML/OIDC и SCIM

On this page