⌘ K

ServiceDesk Plus · Для администраторов

Аутентификация SAML

Security Assertion Markup Language(SAML) — удобная альтернатива обычному входу в онлайн-сервисы. Пользователям не нужны отдельные пароли каждого сервиса. ServiceDesk Plus поддерживает SAML 2.0; настройка доступна в Admin > Users & Permission > SAML Single Sign On.

Требуемая роль: SDAdmin

 

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

SAML передаёт данные аутентификации и авторизации между поставщиком удостоверений (IdP) и поставщиком услуг (SP). ServiceDesk Plus выступает SP. После интеграции пользователи входят в приложение из IdP без ввода учётных данных. 

 

Например, ADFS как IdP позволяет входить с учётными данными Active Directory.

Скриншот показывает вход в приложение с SAML.

 

Иллюстрация 1: Аутентификация SAML

 

Настройка SAML в ServiceDesk Plus

  • Перейдите в Admin > Users & Permission > Single Sign On > SAML SSO.

  • Во вкладке Настройка (Configuration) включите SAML Single Sign-On.

  • Страница содержит сведения SP, сведения IdP и дополнительные утверждения.

 

Иллюстрация 2: Аутентификация SAML

 

  • Используйте сведения SP для настройки ServiceDesk Plus в IdP.

SAML 2.0 протестирован с ADFS, Okta, OneLogin, Azureи Google Workspace как IdP. Дополнительные настройки ICAM доступны здесь.
  • Сведения поставщика услуг

 

Имя поля

Описание

Entity ID

 

Используйте сведения для настройки ServiceDesk Plus как SP в IdP.

Assertion Consumer URL

Single Logout Service URL

Файл сертификата SP

Нажмите файл для скачивания и загрузите на портал IdP.

Файл метаданных SP

В некоторых IdP для настройки достаточно загрузить метаданные.

 

Изменение Alias URL в Advanced Portal Settings или переход с HTTP на HTTPS меняет Assertion Consumer URL и Single Logout Service URL. Создайте новый сертификат SP и повторно настройте SAML в SP и IdP.
В SAML SSO можно настроить внутренние и внешние URL в Alternate ACS URL .
Добавляйте их значком Add URL рядом с Assertion Consumer URL в Single Sign-On > SAML SSO.
  • После настройки SP в IdP вернитесь к SAML ServiceDesk Plus и задайте сведения IdP и дополнительные утверждения:

  • Сведения поставщика удостоверений

 

Имя поля

Описание

URL входа (Login URL)*

Введите URL входа IdP.

URL выхода (Logout URL)

Введите URL выхода IdP. Если единый выход SLO не нужен, пропустите.

Name ID Format*

Выберите формат по способу входа.

  • Transient или Persistent — вход по имени пользователя. Формат должен совпадать с IdP.

  • Email Address — вход по электронной почте.

  • Unspecified — вход по UPN учётной записи Active Directory.

Алгоритм (Algorithm)*

Выберите алгоритм, совпадающий с настроенным в IdP.

Сертификат (Certificate)

Загрузите сертификат IdP через Choose File.

* Обязательные поля

 

  • Дополнительные утверждения

Дополнительные атрибуты создают подробный профиль динамических пользователей SAML. При включённом динамическом добавлении их можно импортировать из IdP.

Для импорта:,

  • Выберите стандартные и пользовательские поля флажками.

  • Для полей укажите имя атрибута IdP. Эти сведения не обновляют существующие профили.

  • Наконец, нажмите Сохранить (Save).

 

Иллюстрация 3: Аутентификация SAML

 

Вкладка История (History) содержит действия, выполненные в Настройка (Configuration) . Стандартные фильтры показывают действия определённого атрибута.

 

Иллюстрация 4: Аутентификация SAML

 

Вход в ServiceDesk Plus через SAML

После включения SAML страница входа выглядит, как показано ниже.

 

Иллюстрация 5: Аутентификация SAML

 

Можно входить через Local Authentication, включённую по умолчанию, или SAML по ссылке под Log In. 

При отключённой локальной аутентификации отображается страница IdP.

Если имя входа IdP не совпадает с пользователем ServiceDesk Plus:

  • При включённом динамическом добавлении создаётся новый пользователь с именем IdP и паролем из настроек AD/LDAP.  

  • При отключённом динамическом добавлении вход невозможен.

Выход через SAML

Единый выход SAML позволяет выйти только из ServiceDesk Plus либо из всех сервисов IdP. 

  • Нажмите Иллюстрация 6: Аутентификация SAML. 

  • При настроенном выходе SAML в домене IdP доступны два варианта: 

  • Нажмите Log out для выхода только из ServiceDesk Plus. 

  • При нажатии Log Out of SAMLвыполняется выход из всех сервисов IdP.

 

Иллюстрация 7: Аутентификация SAML

 

Устранение неполадок

 

Код ошибки

Причина

Решение

4

Сертификат IdP загружен неправильно.

Повторно настройте сведения IdP.

8 Ответ SAML не получен от IdP. ServiceDesk Plus поддерживает только POST binding. Убедитесь, что IdP использует его.

10

Ошибка проверки ответа выхода IdP.

См. ошибки 42, 44, 50, 4 и 36. Обратитесь на servicedeskplus-support@manageengine.com.

21, 22, 23

Ответ IdP имеет статус Failure.

Повторно настройте IdP по инструкции здесь.

35

Ответ IdP не подписан. ServiceDesk Plus принимает только подписанные ответы.

Настройте IdP для подписи утверждений и ответов ServiceDesk Plus.

36

Невозможно проверить подпись IdP ответа SAML.

Загрузите правильный сертификат IdP на странице SAML.

37 IdP отправляет несколько атрибутов с одинаковым именем.

Причиной может быть неверное сопоставление либо передача нескольких значений, например ролей или групп, как отдельных атрибутов.

Обратитесь к команде IdP для исправления сопоставления.

Убедитесь, что каждое имя атрибута передаётся в ответе SAML только один раз.

38

Ответ SAML не содержит корректного NameID форматалибо ответ зашифрован.

Зашифрованные ответы SAML не поддерживаются.

Убедитесь, что SAMLResponse содержит один из поддерживаемых форматов NameID:

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

40

Entity ID ответа SAML и ServiceDesk Plus различаются.

Повторно настройте сведения SP в IdP.

42

Целевой URL ответа SAML не совпадает с фактическим URL вызова.

Повторно настройте сведения SP в IdP.

 

Если приложение опубликовано через прокси, например Azure App Proxy, добавьте proxyName="<external_url>" и proxyPort="<external_port>" в тег connector файла server.xml.

 

proxyName не должен содержать протокол http:// или https:// и завершающий /. Например, для https://zylker.com значение proxyName — zylker.com.

44

Поле Issuer ответа SAML пустое.

Обратитесь на servicedeskplus-support@manageengine.com.

46, 47, 51

Ответ SAML не проверяется, поскольку системная отметка времени не соответствует стандартному времени.

Установите правильные время и часовой пояс сервера.

48

Настроено Assertion Encryption, не поддерживаемое ServiceDesk Plus.

Замените Assertion Encryption на Assertion Sign в IdP для подписи без шифрования.

49

Имя Issuer отсутствует в утверждении SAML.

Повторно настройте SP и IdP. 

 

Если ошибка остаётся, отправьте письмо на servicedeskplus-support@manageengine.com с файлами журналов.

50

Утверждение IdP предназначено другому пользователю или заявителю.

Повторно войдите через SAML.

52 (в ServiceDesk Plus)

Ответ SAML не сопоставлен с нужным пользователем, а динамическое добавление отключено в настройках портала самообслуживания.

 

Если пользователя нет, создайте вручную с именем входа IdP.

Если пользователь существует, измените Name ID в IdP в соответствии с именем входа ServiceDesk Plus.

 

52 (в Asset Explorer)

Пользователя нет либо он не является специалистом.

Создайте специалиста вручную с именем IdP либо преобразуйте заявителя в специалиста.

53 Исключение при создании учётной записи. Обратитесь на servicedeskplus-support@manageengine.com. с файлами журналов.
54 Превышена максимальная длина (Max length exceeded) Удалите ненужные дополнительные атрибуты, чтобы уменьшить количество символов до значения менее 50000.

60

Пользователь не найден при входе SAML по электронной почте.

Если пользователя нет и динамическое добавление отключено, создайте вручную с адресом почты. При включённом динамическом добавлении он создаётся автоматически.

Для существующего пользователя задайте почту, совпадающую с адресом для входа ServiceDesk Plus.

61

Вход пользователя отключён.

Включите вход пользователя.

62

Один адрес входа указан у нескольких пользователей.

Адрес должен принадлежать только одному пользователю. Ошибка возникает, если он указан как основной или дополнительный у другого.

 

Частые вопросы:

1. Почему при правильных учётных данных вход SAML создаёт нового пользователя?

IdP передаёт имя входа по настроенному NameID. Приложение не сопоставляет его с вашей записью, поскольку имя ServiceDesk Plus отличается от ответа SAML. Возможны два случая:

  • При динамическом добавлении создаётся новый пользователь с именем IdP и паролем настроек AD/LDAP. 

  • Без динамического добавления отображается ошибка и вход невозможен.

Для исправления настройте правильный NameID в IdP.

 

2. Почему создаётся отдельный пользователь, хотя IdP возвращает правильное имя?

Для пользователя домена IdP должен возвращать домен вместе с именем входа. 

Например, для специалиста Peter с именем peter в домене Zylker IdP должен вернуть Zylker\peter. 

Иначе создаётся новый пользователь.

 

Выберите правильный NameID и повторно настройте IdP.

 

3. Как исправить выравнивание страницы входа после включения SAML, как показано ниже?

Иллюстрация 8: Аутентификация SAML

 

  • Перейдите в Admin >> Self-Service Portal Settings.  

  • Нажмите Customize now в Login Page customization.

 

В HTML-редактор добавьте классы со скриншота. Они также доступны в <server_home>\custom\login\default.html.

 

 .sign-line{  

  text-align: center; 

  display: block; 

  border-bottom: 1px solid #ccc; 

  margin:10px 0; 

 } 

 .or-ctr{ 

  background: #fff; 

  position: relative; 

  top: 8px; 

  padding: 0 4px; 

  font-size: 12px; 

  color: #727272; 

 } 

 .sign-saml{ 

  color: #009adb; 

  text-decoration: none; 

 } 

 

Иллюстрация 9: Аутентификация SAML

 

  • Нажмите Save и проверьте выравнивание ссылки.