Настройка единого входа (SSO) в платформе Optimacros: подробное техническое руководство
Единый вход (SSO) позволяет централизованно управлять аутентификацией пользователей в корпоративных ИТ-системах. Платформа Optimacros поддерживает два основных протокола единого входа — OAuth 2.0 и SAML 1.2, что обеспечивает гибкость интеграции с различными провайдерами идентификации (IdP). Настоящее руководство описывает архитектуру, настройку и сопровождение SSO в контексте Optimacros, основанное на официальной документации.
1. Обзор поддерживаемых протоколов
|
Протокол |
Поддержка в Optimacros |
Рекомендуется для |
Примеры IdP |
|
OAuth 2.0 |
Да |
Keycloak, Azure AD, Google OAuth |
Keycloak, Azure, Google |
|
SAML 1.2 |
Да |
ADFS, корпоративные IdP на базе SAML |
ADFS, SAML-платформы |
OAuth 2.0 более актуален для облачных приложений и REST-ориентированной инфраструктуры. SAML 1.2 широко используется в корпоративной среде, особенно при наличии ADFS или унаследованных SSO-серверов.
2. Архитектура взаимодействия
Компоненты:
- Платформа Optimacros (SP – Service Provider);
- Провайдер идентификации (IdP) — система, обеспечивающая аутентификацию (Keycloak, ADFS, Azure AD);
- Пользовательский агент (браузер);
Последовательность аутентификации:
- Пользователь обращается к Optimacros.
- Система перенаправляет на IdP (по endpoint’у).
- IdP выполняет аутентификацию и перенаправляет обратно.
- Optimacros проверяет токен или SAML-ассерцию и предоставляет доступ.
3. Пошаговая настройка OAuth 2.0
3.1 Конфигурационные параметры
- client_id
- client_secret
- redirect_uri
- auth_endpoint
- token_endpoint
- user_info_endpoint
3.2 Пример настройки для Keycloak
{
"auth_type": "OAuth",
"client_id": "optimacros-client",
"client_secret": "xxx",
"redirect_uri": "https://optimacros.company.com/oauth/callback",
"auth_endpoint": "https://keycloak.company.com/auth",
"token_endpoint": "https://keycloak.company.com/token",
"user_info_endpoint": "https://keycloak.company.com/userinfo"
}
3.3 Проверка
- Перейти по URL платформы Optimacros — должна быть переадресация.
- Проверить журнал событий на стороне IdP и Optimacros.
- Убедиться, что токен валидируется и извлекаются поля (email, groups).
4. Пошаговая настройка SAML 1.2
4.1 Обязательные параметры:
- saml_entity_id
- sso_url
- x509_certificate
- assertion_consumer_service_url
4.2 Пример настройки для ADFS
<EntityDescriptor entityID="https://optimacros.company.com">
<IDPSSODescriptor>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="https://adfs.company.com/adfs/ls/"/>
<KeyDescriptor use="signing">
<KeyInfo>
<X509Data>
<X509Certificate>MIID...</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
</IDPSSODescriptor>
</EntityDescriptor>
4.3 Проверка
- Проверка подписи SAML-ассерции;
- Совпадение assertion_consumer_service_url с указанным в Optimacros;
- Проверка claim-атрибутов (email, role, name_id).
5. Требования к IdP
|
Требование |
Описание |
|
Поддержка протоколов |
OAuth 2.0 или SAML 1.2 |
|
Безопасность передачи |
HTTPS, подпись токенов или SAML-ассерций |
|
Claim/атрибуты |
email, groups или role (обязательно) |
|
Поддержка redirect_uri |
Указание URI обратного вызова на стороне клиента |
|
Поддержка динамической конфигурации |
Желательно для OAuth (Discovery endpoint) |
6. Управление доступом и ролями
- Роли могут передаваться в claim или атрибуте (SAML);
- Маппинг ролей происходит по конфигурационному соответствию;
- Возможна авто-регистрация пользователей на основе e-mail;
- Рекомендуется разграничивать доступ к административной панели отдельно.
7. Типовые ошибки и устранение
|
Ошибка |
Возможная причина |
Решение |
|
invalid_token |
Истекший или неправильный токен |
Проверить сроки действия и client_secret |
|
redirect_uri_mismatch |
Несовпадение redirect_uri |
Синхронизировать URI на IdP и SP |
|
saml_response_signature_invalid |
Недействительная подпись |
Загрузить корректный x509 сертификат |
|
missing_claim |
Отсутствие поля email или role |
Добавить claim в настройках IdP |
|
user not found |
Отсутствие пользователя в Optimacros |
Включить авто-регистрацию или добавить вручную |
Заключение
Настройка единого входа в Optimacros требует чёткого следования протоколам, корректной настройки параметров аутентификации и тесного взаимодействия с IdP. Использование SSO существенно повышает безопасность доступа, снижает нагрузку на службу ИТ и позволяет централизованно управлять доступом. Оба протокола — OAuth 2.0 и SAML 1.2 — подходят для разных архитектур, и выбор зависит от инфраструктуры организации.




