База знаний Глабикс.Экран

Настройка единого входа (SSO) через AD FS для Глабикс

Данное руководство описывает настройку интеграции Глабикс с AD FS по протоколу SAML 2.0. После настройки сотрудники вашей организации смогут входить в Глабикс через корпоративную учётную запись Active Directory.

Обзор

  • Протокол: SAML 2.0
  • Формат NameID: Email Address
  • Алгоритм подписи: RSA-SHA256
  • Алгоритм дайджеста: SHA-256
  • Автоматическое создание пользователей: Да (при первом входе через SSO)
  • Single Logout (SLO): Поддерживается (IdP-initiated)

При первом входе через SSO учётная запись пользователя в Глабикс создаётся автоматически. При каждом последующем входе атрибуты пользователя (роль, департамент, команда, доступ к папкам) синхронизируются с данными из SAML-ответа.

Ограничение по email-домену: Если в настройках организации указаны допустимые email-домены, вход через SSO будет возможен только для пользователей с email из этих доменов.

Шаг 1. Заполнение формы SAML-интеграции на сайте Глабикс

Перейдите в настройки организации → раздел SSO и заполните следующие параметры:

Параметр Значение Пример
Identity Provider Entity ID Идентификатор вашего AD FS http://adfs.company.com/adfs/services/trust
IdP SSO Service URL URL службы единого входа AD FS https://adfs.company.com/adfs/ls/
X.509 Certificate Тело сертификата подписи (без заголовков) Содержимое .cer файла

Где найти Entity ID: Консоль AD FS → Service → Edit Federation Service Properties → поле Federation Service identifier.

Получение X.509 Certificate: Описано в Шаге 5.

Шаг 2. Добавление отношения доверия с проверяющей стороной (Relying Party Trust)

  1. Откройте консоль AD FS Management.
  2. Перейдите в Relying Party Trusts → нажмите Add Relying Party Trust....
  3. На экране приветствия выберите Claims awareStart.
  4. Выберите Enter data about the relying party manuallyNext.
  5. Укажите отображаемое имя: GlabixNext.
  6. Пропустите настройку сертификата шифрования токена (нажмите Next).
  7. На экране Configure URL:
    • Установите флажок Enable support for the SAML 2.0 WebSSO protocol.
    • В поле Relying party SAML 2.0 SSO service URL укажите:
      {APP_URL}/saml/acs
      Например: https://app.glabix.com/saml/acs
    • Нажмите Next.
  8. На экране Configure Identifiers:
    • В поле Relying party trust identifier укажите:
      {APP_URL}/saml/acs
    • Нажмите Add, затем Next.
  9. На экране Choose Access Control Policy выберите Permit everyone (или настройте ограничения по необходимости) → Next.
  10. Проверьте настройки → NextClose.

Шаг 3. Настройка Single Logout (SLO) (опционально)

Для поддержки автоматического завершения сессий Глабикс при выходе из AD FS:

  1. Откройте свойства Relying Party Trust Glabix.
  2. Перейдите на вкладку Endpoints.
  3. Нажмите Add SAML... и укажите:
    • Endpoint type: SAML Logout
    • Binding: POST
    • Trusted URL:
      {APP_URL}/saml/logout
      Например: https://app.glabix.com/saml/logout
  4. Нажмите OK.

При SLO все активные сессии пользователя в Глабикс будут немедленно завершены.

Шаг 4. Настройка правил выдачи утверждений (Issuance Transform Rules)

Откройте Edit Claim Issuance Policy для Relying Party Trust Glabix и добавьте следующие правила.

Правило 1: NameID (email)

Формат NameID должен быть Email Address.

  1. Add Rule... → шаблон: Transform an Incoming Claim.
  2. Настройте:
    • Claim rule name: NameID
    • Incoming claim type: E-Mail Address
    • Outgoing claim type: Name ID
    • Outgoing name ID format: Email
    • Выберите Pass through all claim values.
  3. Нажмите Finish.

Если у вас нет правила, извлекающего E-Mail Address из AD, добавьте его перед этим правилом:

  • Add Rule... → шаблон: Send LDAP Attributes as Claims
  • Attribute store: Active Directory
  • LDAP Attribute: E-Mail-AddressesOutgoing Claim Type: E-Mail Address

Правило 2: Атрибут email

  1. Add Rule... → шаблон: Send LDAP Attributes as Claims.
  2. Настройте:
    • Claim rule name: Email Attribute
    • Attribute store: Active Directory
    • Mapping:
    LDAP Attribute Outgoing Claim Type
    E-Mail-Addresses email
  3. Нажмите Finish.

Правило 3: Атрибут name

  1. Add Rule... → шаблон: Send LDAP Attributes as Claims.
  2. Настройте:
    • Claim rule name: Name Attribute
    • Attribute store: Active Directory
    • Mapping:
    LDAP Attribute Outgoing Claim Type
    Display-Name name
  3. Нажмите Finish.

Правило 4: Атрибут glabix_product (обязательный)

Глабикс требует атрибут glabix_product со значением screen в каждом SAML-ответе.

  1. Add Rule... → шаблон: Send Claims Using a Custom Rule.
  2. Настройте:
    • Claim rule name: Glabix Product
    • Custom rule:
      => issue(
        Type = "glabix_product",
        Value = "screen"
      );
  3. Нажмите Finish.

Шаг 5. Экспорт сертификата подписи AD FS

Глабикс использует сертификат X.509 для проверки подписи SAML-ответов.

  1. В консоли AD FS перейдите в Service → Certificates.
  2. В разделе Token-signing дважды кликните на активный сертификат.
  3. Перейдите на вкладку DetailsCopy to File....
  4. Выберите формат Base-64 encoded X.509 (.CER)Next.
  5. Сохраните файл → Finish.
  6. Откройте сохранённый .cer файл текстовым редактором.
  7. Скопируйте содержимое между -----BEGIN CERTIFICATE----- и -----END CERTIFICATE----- (только тело сертификата, без заголовков).

Вставьте это значение в поле X.509 Certificate в форме SSO на сайте Глабикс.

Шаг 6. Настройка маппинга атрибутов (опционально)

Глабикс позволяет автоматически назначать пользователям роли, департаменты, команды и доступ к папкам на основе атрибутов из SAML-ответа. Маппинг настраивается в интерфейсе Глабикс (настройки организации → SSO → маппинг атрибутов).

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

Тип Описание Пример
Роль SAML-атрибут → роль в организации role=manager → роль "Менеджер"
Департамент SAML-атрибут → департамент department=Sales → департамент "Продажи"
Команда SAML-атрибут → команда + проектная роль team=design → команда "Дизайн" с ролью "Участник"
Папка SAML-атрибут → доступ к папке с видеозаписями access=marketing → папка "Маркетинг"

Как это работает

  • При каждом входе через SSO Глабикс сравнивает текущие атрибуты пользователя с настроенными маппингами.
  • Если атрибуты изменились (например, сотрудник перешёл в другой отдел), Глабикс автоматически обновит его членство в департаментах, командах и доступ к папкам.
  • Удаление из ресурсов происходит только для тех, на которые настроен маппинг. Доступы, выданные вручную через интерфейс Глабикс, не затрагиваются.

Добавление правил в AD FS для маппинга

Для передачи дополнительных атрибутов добавьте соответствующие правила в Claim Issuance Policy.

Пример: передача названия отдела

  1. Add Rule... → шаблон: Send LDAP Attributes as Claims.
  2. Настройте:
    • Claim rule name: Department
    • Attribute store: Active Directory
    • Mapping:
    LDAP Attribute Outgoing Claim Type
    Department department
  3. В интерфейсе Глабикс создайте маппинг: department = Sales → Департамент "Продажи".

Пример: передача группы AD для маппинга на команду

  1. Add Rule... → шаблон: Send Claims Using a Custom Rule.
  2. Custom rule (пример для группы "Design Team"):
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-21-..."]
    => issue(Type = "team", Value = "design");
  3. В интерфейсе Глабикс создайте маппинг: team = design → Команда "Дизайн" с проектной ролью.

Прямые атрибуты (без маппинга в интерфейсе)

Глабикс также поддерживает служебные SAML-атрибуты для прямого назначения ресурсов по ID. Эти атрибуты используются без дополнительной настройки маппинга в интерфейсе:

Атрибут Формат значения Описание
glabix_role ID роли (число) Назначает роль напрямую по ID
glabix_departments ID через запятую Назначает департамент по ID
glabix_teams teamId_roleId через запятую Назначает команду и проектную роль по ID
glabix_folders UUID через запятую Назначает доступ к папкам по UUID

Эти атрибуты предназначены для продвинутых сценариев интеграции. В большинстве случаев рекомендуется использовать маппинг через интерфейс Глабикс.

Шаг 7. Проверка интеграции

  1. Убедитесь, что SSO активирован в настройках организации Глабикс.
  2. Попросите тестового пользователя войти через SSO.
  3. Проверьте:
    • Пользователь успешно аутентифицирован и попал в Глабикс.
    • Учётная запись создана автоматически (если это первый вход).
    • Роль, департамент и доступы назначены корректно (если настроен маппинг).

Диагностика проблем

Проблема Возможная причина Решение
Ошибка валидации SAML-ответа Неверный сертификат X.509 Экспортируйте сертификат заново в формате Base-64, убедитесь что скопировали только тело
Пользователь не может войти Email-домен не совпадает с доменом организации Проверьте настройки email-доменов в Глабикс
Ошибка invalid_product_attribute Отсутствует атрибут glabix_product Убедитесь что правило из Шага 4 (Правило 4) добавлено
Пользователь не попадает в нужный департамент Не настроен маппинг или атрибут не передаётся Проверьте правила в AD FS и маппинг в интерфейсе Глабикс
Сессия не завершается при выходе из AD FS Не настроен SLO endpoint Выполните Шаг 3

Справочная информация

Endpoints Глабикс

Endpoint URL Описание
ACS (Assertion Consumer Service) {APP_URL}/saml/acs Приём SAML-ответов (POST)
SLO (Single Logout) {APP_URL}/saml/logout Завершение сессий (POST)

Обязательные SAML-атрибуты

Атрибут Тип Описание
NameID Email Address Email пользователя (используется как идентификатор)
email String Email пользователя
name String Отображаемое имя
glabix_product String Должно быть screen

Опциональные SAML-атрибуты

Любые дополнительные атрибуты, переданные в SAML-ответе, могут быть использованы для маппинга ролей, департаментов, команд и папок (см. Шаг 6).

Технические ограничения

  • Один SAML-провайдер на организацию.
  • Один департамент на пользователя (при маппинге нескольких департаментов будет использован первый).
  • Маппинг атрибутов работает по строгому строковому совпадению (без поддержки wildcard и регулярных выражений).
  • Максимальная длина имени и значения атрибута для маппинга: 64 символа.