Настройка SSO через OAuth 2.0 / OpenID Connect

Введение

CURATOR поддерживает аутентификацию пользователей через федерацию удостоверений с использованием протоколов OAuth 2.0 и OpenID Connect (OIDC).

Это стандартный механизм реализации единого входа (Single Sign-On, SSO) — технологии, которая позволяет пользователям получать доступ к нескольким системам без необходимости использовать отдельные логины и пароли для каждой из них.

Такой подход называется федерацией удостоверений: информация об учетных данных пользователей хранится на стороне доверенного поставщика удостоверений — Identity Provider (IdP), а CURATOR выступает в роли Service Provider (SP) и делегирует аутентификацию внешней системе.

Если в вашей организации уже используется система централизованного управления пользователями и доступом, например Microsoft Active Directory, Keycloak или Google Workspace, вы можете использовать её для аутентификации сотрудников в личном кабинете CURATOR. В этом случае:

  • не требуется создавать отдельные учетные записи для пользователей в CURATOR;
  • управление доступами остается на стороне вашей инфраструктуры;
  • пользователи входят в систему с использованием корпоративных учетных данных.

Схема работы SSO

Ниже приведена упрощённая схема аутентификации пользователя через SSO с использованием OpenID Connect.

Cхема аутентификации пользователя через SSO с использованием OpenID Connect

Компоненты схемы

  • Пользователь — сотрудник организации
  • CURATOR (SP) — сервис, предоставляющий доступ
  • Identity Provider (IdP) — система аутентификации

Поток аутентификации

  1. Пользователь инициирует вход через SSO;
  2. CURATOR перенаправляет пользователя в IdP;
  3. Пользователь проходит аутентификацию;
  4. IdP возвращает пользователя с токеном;
  5. CURATOR проверяет токен и получает данные пользователя;
  6. Применяется сопоставление групп;
  7. Пользователь получает доступ.

Ключевые особенности

  • Аутентификация полностью происходит на стороне IdP;
  • CURATOR не получает доступ к паролю пользователя и обращается к IdP с IP адреса 185.65.149.86;
  • Взаимодействие реализовано через redirect (через браузер);
  • Доступ определяется на основе атрибутов, переданных IdP;
  • Существующие группы будут перезаписаны на те, что в CURATOR передаст IdP;
  • Доступ в личный кабинет для ранее созданных учетных записей будет сохранен.

Обзор

В личном кабинете CURATOR доступна настройка SSO через OpenID Connect.

После настройки:

  • пользователи аутентифицируются через IdP;
  • не создаются локальные учетные записи;
  • доступ управляется через группы и политики.

Как работает OpenID Connect

OpenID Connect — это протокол, который добавляет аутентификацию поверх OAuth 2.0.

Предварительные требования

Перед началом настройки:

  • настроен Identity Provider с поддержкой OIDC;
  • доступны:
    • Client ID
    • Client Secret
    • OIDC endpoints или Discovery URL

Настройка SSO в CURATOR

1. Переход к настройкам SSO

Перейдите в раздел Настройки SSO и нажмите Добавить федерацию.

2. Создание федерации

Укажите параметры:

  • Название — произвольное;
  • Идентификатор федерации (slug). Идентификатор будет дополнен случайным суффиксом;
  • Протокол — OAuth.

3. Получение Authorization URL

После создания федерации отобразится Authorization URL (Redirect URI). Этот URL необходимо указать в настройках вашего Identity Provider.

4. Настройка сопоставления групп

Перейдите в раздел Привязка групп и настройте соответствие групп IdP и групп CURATOR.

ВНИМАНИЕ! Без настройки привязки групп пользователи, входящие через SSO, не будут получать роли и группы. Этот шаг обязателен для корректной работы.

Убедитесь, что в маппинге присутствует группа, которая соответствует группе CURATOR с правами на управление пользователями (по умолчанию Access Manager). Иначе администраторы могут потерять доступ к управлению пользователями при следующем входе через SSO.

5. Настройка OAuth конфигурации

Перейдите в раздел Конфигурация.

6. Указание Endpoints

Укажите endpoints вашего Identity Provider:

  • Authorization Endpoint
  • Token Endpoint
  • UserInfo Endpoint
  • JWKS Endpoint
  • Logout Endpoint
    Или используйте Discovery URL ( .well-known/openid-configuration ), параметры подтянутся автоматически.

7. Указание учетных данных (Credentials)

Введите параметры доступа:

  • Client ID
  • Client Secret

8. Завершение настройки

Сохраните конфигурацию. После этого федерация появится в списке и станет доступна для использования.

Дополнительная информация

В интерфейсе личного кабинета доступна встроенная инструкция по настройке SSO.

chevron_left Предыдущая статья Следующая статья chevron_right