База знаний Глабикс.Экран
Редактор видеосообщений
Аналитика видеосообщений
Настройка единого входа (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)
- Откройте консоль AD FS Management.
- Перейдите в Relying Party Trusts → нажмите Add Relying Party Trust....
- На экране приветствия выберите Claims aware → Start.
- Выберите Enter data about the relying party manually → Next.
- Укажите отображаемое имя:
Glabix→ Next. - Пропустите настройку сертификата шифрования токена (нажмите Next).
- На экране Configure URL:
- Установите флажок Enable support for the SAML 2.0 WebSSO protocol.
- В поле Relying party SAML 2.0 SSO service URL укажите:
Например:{APP_URL}/saml/acshttps://app.glabix.com/saml/acs - Нажмите Next.
- На экране Configure Identifiers:
- В поле Relying party trust identifier укажите:
{APP_URL}/saml/acs - Нажмите Add, затем Next.
- В поле Relying party trust identifier укажите:
- На экране Choose Access Control Policy выберите Permit everyone (или настройте ограничения по необходимости) → Next.
- Проверьте настройки → Next → Close.
Шаг 3. Настройка Single Logout (SLO) (опционально)
Для поддержки автоматического завершения сессий Глабикс при выходе из AD FS:
- Откройте свойства Relying Party Trust
Glabix. - Перейдите на вкладку Endpoints.
- Нажмите Add SAML... и укажите:
- Endpoint type: SAML Logout
- Binding: POST
- Trusted URL:
Например:{APP_URL}/saml/logouthttps://app.glabix.com/saml/logout
- Нажмите OK.
При SLO все активные сессии пользователя в Глабикс будут немедленно завершены.
Шаг 4. Настройка правил выдачи утверждений (Issuance Transform Rules)
Откройте Edit Claim Issuance Policy для Relying Party Trust Glabix и добавьте следующие правила.
Правило 1: NameID (email)
Формат NameID должен быть Email Address.
- Add Rule... → шаблон: Transform an Incoming Claim.
- Настройте:
- 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.
- Claim rule name:
- Нажмите Finish.
Если у вас нет правила, извлекающего E-Mail Address из AD, добавьте его перед этим правилом:
- Add Rule... → шаблон: Send LDAP Attributes as Claims
- Attribute store: Active Directory
- LDAP Attribute:
E-Mail-Addresses→ Outgoing Claim Type: E-Mail Address
Правило 2: Атрибут email
- Add Rule... → шаблон: Send LDAP Attributes as Claims.
- Настройте:
- Claim rule name:
Email Attribute - Attribute store: Active Directory
- Mapping:
LDAP Attribute Outgoing Claim Type E-Mail-Addresses email - Claim rule name:
- Нажмите Finish.
Правило 3: Атрибут name
- Add Rule... → шаблон: Send LDAP Attributes as Claims.
- Настройте:
- Claim rule name:
Name Attribute - Attribute store: Active Directory
- Mapping:
LDAP Attribute Outgoing Claim Type Display-Name name - Claim rule name:
- Нажмите Finish.
Правило 4: Атрибут glabix_product (обязательный)
Глабикс требует атрибут glabix_product со значением screen в каждом SAML-ответе.
- Add Rule... → шаблон: Send Claims Using a Custom Rule.
- Настройте:
- Claim rule name:
Glabix Product - Custom rule:
=> issue( Type = "glabix_product", Value = "screen" );
- Claim rule name:
- Нажмите Finish.
Шаг 5. Экспорт сертификата подписи AD FS
Глабикс использует сертификат X.509 для проверки подписи SAML-ответов.
- В консоли AD FS перейдите в Service → Certificates.
- В разделе Token-signing дважды кликните на активный сертификат.
- Перейдите на вкладку Details → Copy to File....
- Выберите формат Base-64 encoded X.509 (.CER) → Next.
- Сохраните файл → Finish.
- Откройте сохранённый
.cerфайл текстовым редактором. - Скопируйте содержимое между
-----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.
Пример: передача названия отдела
- Add Rule... → шаблон: Send LDAP Attributes as Claims.
- Настройте:
- Claim rule name:
Department - Attribute store: Active Directory
- Mapping:
LDAP Attribute Outgoing Claim Type Department department - Claim rule name:
- В интерфейсе Глабикс создайте маппинг:
department=Sales→ Департамент "Продажи".
Пример: передача группы AD для маппинга на команду
- Add Rule... → шаблон: Send Claims Using a Custom Rule.
- 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"); - В интерфейсе Глабикс создайте маппинг:
team=design→ Команда "Дизайн" с проектной ролью.
Прямые атрибуты (без маппинга в интерфейсе)
Глабикс также поддерживает служебные SAML-атрибуты для прямого назначения ресурсов по ID. Эти атрибуты используются без дополнительной настройки маппинга в интерфейсе:
| Атрибут | Формат значения | Описание |
|---|---|---|
glabix_role |
ID роли (число) | Назначает роль напрямую по ID |
glabix_departments |
ID через запятую | Назначает департамент по ID |
glabix_teams |
teamId_roleId через запятую |
Назначает команду и проектную роль по ID |
glabix_folders |
UUID через запятую | Назначает доступ к папкам по UUID |
Эти атрибуты предназначены для продвинутых сценариев интеграции. В большинстве случаев рекомендуется использовать маппинг через интерфейс Глабикс.
Шаг 7. Проверка интеграции
- Убедитесь, что SSO активирован в настройках организации Глабикс.
- Попросите тестового пользователя войти через SSO.
- Проверьте:
- Пользователь успешно аутентифицирован и попал в Глабикс.
- Учётная запись создана автоматически (если это первый вход).
- Роль, департамент и доступы назначены корректно (если настроен маппинг).
Диагностика проблем
| Проблема | Возможная причина | Решение |
|---|---|---|
| Ошибка валидации 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 символа.