Skip to content

Аутентификация через SAML 2.0

Важно

ТестОпс поддерживает только SAML версии 2.0.

Аутентификация через SAML доступна только в серверной версии ТестОпс.

SAML — открытый стандарт, который позволяет провайдеру идентификации передавать основному сервису данные об успешной аутентификации пользователя. Если вы настроите SAML-интеграцию для ТестОпс, пользователи смогут использовать учетные записи из сервера провайдера идентификации для входа в ТестОпс.

Принцип работы аутентификации через SAML

В основе SAML лежит общение сервиса (в данном случае ТестОпс) с провайдером идентификации (например, Okta и Keycloak) с помощью HTTP-перенаправлений:

  1. Пользователь пытается открыть страницу ТестОпс.
  2. Если пользователь не аутентифицирован, ТестОпс предлагает использовать SAML для аутентификации. Для этого пользователю нужно нажать кнопку с названием провайдера идентификации.
  3. Когда пользователь нажимает кнопку, ТестОпс формирует SAML-запрос (SAML request) и перенаправляет браузер пользователя с этой информацией на страницу провайдера идентификации.
  4. Пользователь вводит учетные данные на странице провайдера идентификации.
  5. Провайдер идентификации формирует SAML-ответ (SAML assertion), содержащий информацию, которая необходима ТестОпс для аутентификации пользователя, и перенаправляет браузер пользователя на специальную страницу ТестОпс.
  6. ТестОпс аутентифицирует пользователя на основе информации из SAML-ответа.

SAML может также использоваться без SAML-запросов. Например, пользователь может сначала зайти на страницу провайдера идентификации и после аутентификации нажать кнопку перехода в ТестОпс.

Настройка аутентификации через SAML

Чтобы настроить аутентификацию в ТестОпс через SAML, измените конфигурационные файлы ТестОпс в зависимости от вашего типа развертывания:

Измените параметры в файле values.yaml:

  • общие параметры:

    • network.tls.enabled — должно быть true;
    • auth.primary — должно быть saml2.
  • подключение к серверу провайдера идентификации:

    • auth.saml.enabled — должно быть true;
    • auth.saml.id — название провайдера идентификации. Будет использоваться в URL-адресах и на кнопке входа. Не используйте пробелы и специальные символы;
    • auth.saml.entityIdhttps://<домен_инстанса_ТестОпс>/api/login/saml2/authenticate/{registrationId};
    • auth.saml.acsUrlhttps://<домен_инстанса_ТестОпс>/api/login/saml2/sso/{registrationId};
    • auth.saml.identityProviderMetadataUri — URL-адрес файла metadata.xml на сервере провайдера идентификации.
  • названия атрибутов SAML:

    • auth.saml.firstNameAttribute — название атрибута, содержащего имя пользователя;
    • auth.saml.lastNameAttribute — название атрибута, содержащего фамилию пользователя;
    • auth.saml.emailAttribute — название атрибута, содержащего электронную почту пользователя;
    • auth.saml.groups.groupRoleAttribute — название атрибута, содержащего названия групп пользователя.
  • сопоставление групп:

    • auth.saml.syncRoles — если true, ТестОпс будет назначать пользователям глобальные роли в соответствии с их группами на сервере провайдера идентификации;

    • auth.saml.groups.roleUserGroups — список групп на сервере провайдера идентификации, разделенных запятыми, которые соответствуют глобальной роли «Пользователь» в ТестОпс;

    • auth.saml.groups.roleAdminGroups — список групп на сервере провайдера идентификации, разделенных запятыми, которые соответствуют глобальной роли «Администратор» в ТестОпс;

    • auth.defaultRole — глобальная роль нового пользователя по умолчанию.

      Допустимые значения: ROLE_ADMIN, ROLE_USER, ROLE_GUEST.

      При auth.saml.syncRoles: true этот параметр должен иметь значение ROLE_GUEST.

Примеры настроенных конфигурационных файлов ТестОпс для SAML

yaml
network:
  ...
  tls:
    enabled: true

auth:
  primary: saml2
  defaultRole: ROLE_GUEST
  saml:
    enabled: true
    id: "testsaml"
    entityId: https://<ваш домен ТестОпс>/api/login/saml2/authenticate/{registrationId}
    acsUrl: https://<ваш домен ТестОпс>/api/login/saml2/sso/{registrationId}
    identityProviderMetadataUri: https://адрес/файла/metadata.xml
    syncRoles: false
    firstNameAttribute: firstNameAttribute
    lastNameAttribute: lastNameAttribute
    emailAttribute: emailAttribute
    groups:
      groupRoleAttribute: groupRoleAttribute
      roleUserGroups: testops_users
      roleAdminGroups: testops_admins

Использование SAML вместе с локальной аутентификацией ТестОпс

Если SAML указан как основной способ аутентификации в ТестОпс, при необходимости вы также можете использовать локальную аутентификацию:

  • Страница https://<домен_инстанса_ТестОпс>/login использует метод аутентификации, указанный в конфигурационных файлах ТестОпс в атрибуте primary или ALLURE_LOGIN_PRIMARY. Для данной инструкции это SAML.
  • Страница https://<домен_инстанса_ТестОпс>/login/system использует локальную аутентификацию ТестОпс.

Чтобы войти в ТестОпс, например, с глобальной ролью «Администратор», перейдите на https://<домен_инстанса_ТестОпс>/login/system и используйте учетные данные локального пользователя.

Logo © 2026 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»