Руководство по интеграции корпоративного SSO
Интеграция tracio.ai с SAML, OIDC и собственными провайдерами идентификации. Пошагово для Okta, Auth0 и Azure AD с примерами кода.
Корпоративным клиентам требуется интеграция Single Sign-On (SSO) для их дашборда tracio.ai. В этом руководстве описано, как подключить tracio.ai к вашему провайдеру идентификации по SAML 2.0 или OpenID Connect (OIDC), с конкретными инструкциями для трёх наиболее распространённых провайдеров: Okta, Auth0 и Azure AD.
Поддерживаемые протоколы
tracio.ai поддерживает два протокола SSO: SAML 2.0 и OpenID Connect. SAML — традиционный корпоративный стандарт, широко поддерживаемый устаревшими провайдерами идентификации. OIDC — современный стандарт, построенный на OAuth 2.0, с более простой реализацией и лучшей поддержкой мобильных устройств. Мы рекомендуем OIDC для новых интеграций, а SAML — для организаций, которые уже стандартизировались на нём.
Оба протокола работают по одной схеме: пользователь пытается получить доступ к дашборду tracio.ai, перенаправляется к вашему провайдеру идентификации для аутентификации и возвращается обратно в tracio.ai с подписанным assertion или токеном. tracio.ai проверяет assertion, создаёт или обновляет сессию пользователя и предоставляет доступ на основе сопоставленной роли.
Интеграция с Okta
Для Okta создайте новую интеграцию приложения в админ-консоли Okta. Выберите OIDC в качестве метода входа и Web Application в качестве типа приложения. Укажите sign-in redirect URI как https://app.tracio.ai/auth/callback/oidc. Укажите sign-out redirect URI как https://app.tracio.ai/auth/logout.
В дашборде tracio.ai в разделе Settings > Authentication введите ваш домен Okta, client ID и client secret. tracio.ai автоматически определит OIDC-эндпоинты из metadata URL вашего Okta. Настройте сопоставление групп с ролями, чтобы назначать роли рабочего пространства tracio.ai (Owner, Admin, Member, Read Only) на основе членства в группах Okta.
Интеграция с Auth0
Создайте новое Regular Web Application в дашборде Auth0. Добавьте https://app.tracio.ai/auth/callback/oidc в Allowed Callback URLs. Добавьте https://app.tracio.ai в Allowed Logout URLs. Включите нужные connections (database, social, enterprise) на вкладке Connections приложения.
В tracio.ai введите ваш домен Auth0, client ID и client secret. OIDC discovery-эндпоинт Auth0 по адресу https://your-domain.auth0.com/.well-known/openid-configuration предоставляет все необходимые метаданные. Используйте Auth0 Rules или Actions, чтобы включить пользовательские claim'ы в ID token для сопоставления ролей.
Интеграция с Azure AD
В портале Azure перейдите в Azure Active Directory > App registrations > New registration. Укажите redirect URI как https://app.tracio.ai/auth/callback/oidc. В разделе Certificates & secrets создайте новый client secret. В разделе API permissions убедитесь, что предоставлены разрешения openid, profile и email.
В tracio.ai введите ваш tenant ID, client ID и client secret Azure AD. Metadata URL для OIDC соответствует шаблону https://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration. Сопоставьте группы или app roles Azure AD с ролями tracio.ai в настройках сопоставления ролей.
Сопоставление ролей и провижининг
В tracio.ai есть четыре роли рабочего пространства: Owner (всё, включая изменение биллинга, приглашение участников и удаление рабочего пространства), Admin (полное управление рабочим пространством — настройки, окружения, API-ключи, правила, журнал активности, — но без приглашений и без изменения биллинга), Member (повседневная работа: API-ключи, вебхуки, правила и списки) и Read Only (доступ к аналитике и конфигурации только на просмотр). Полная матрица прав — в разделе Роли и права доступа. Роли сопоставляются с группами или claim'ами вашего провайдера идентификации.
Мы также поддерживаем SCIM 2.0 для автоматизированного создания и удаления учётных записей. Когда сотрудника добавляют в соответствующую группу в вашем провайдере идентификации, для него автоматически создаётся учётная запись в tracio.ai с правильной ролью. Когда его удаляют, доступ отзывается в течение нескольких минут. SCIM гарантирует, что управление жизненным циклом пользователей остаётся централизованным в вашем провайдере идентификации.