Перейти к основному содержимому
Версия: 1.21.3

Технология единого входа (SSO)

Технология единого входа (SSO) – технология, которая позволяет корпоративным сетям использовать внешние службы проверки подлинности пользователей (также известных как "поставщики удостоверений" или IdP). Она используется для настройки авторизации доступа в корпоративных службах наряду с основными методами аутентификации, предоставляемыми локальной базой данных.

Назначенный IdO аутентифицирует пользователей по их логинам и паролям. Некоторые сетевые ресурсы, такие как приложения и серверы, настроены так, чтобы доверять аутентификации пользователя, выполняемой IdP. В таких случаях пользователям не нужно вводить свои логины и пароли при доступе к этим ресурсам.

При включенном SSO, когда пользователь без активного сеанса входа в ADFS подключается к экземпляру SimpleOne, он перенаправляется на вход в ADFS. После ввода своего корпоративного логина и пароля Active Directory (AD) пользователь входит в экземпляр со своим соответствующим идентификатором, настройками конфигурации, членством в группах, ролями и остальной частью своего личного пользовательского контекста. Каждый раз, когда такой пользователь подключается к экземпляру до завершения сеанса входа в ADFS, он не вводит никаких логинов и паролей и снова автоматически входит в систему.

Настройка SSO

В SimpleOne SSO использует ADFS 2.0+ в качестве IdP и язык разметки подтверждения безопасности (SAML 2.0) на основе XML для обмена данными с ним. Поэтому, как администратор, вы должны выполнить следующие задачи, прежде чем включить SSO на своем экземпляре:

  1. Создать соединение SAML.
  2. Включить системное свойство SSO.
  3. Создайте отношение доверия с проверяющей стороной:
    • с помощью импорта из файла XML.
    • вручную.
  4. Создайте необходимые конечные точки SAML.
  5. Создайте правила утверждений.
  6. Проверьте соединение SAML.

Создание соединения SAML


Чтобы настроить соединение, выполните следующие шаги:

  1. Перейдите в Single Sign-On → Настройка SAML.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти.
ПолеОбязательноОписание
ИмяНетУкажите название соединения SAML.
Колонка пользователяДаУкажите поле из таблицы Пользователи, которое содержит информацию для идентификации пользователя. Доступные значения:
  • Электронная почта
  • Логин
  • ID
Поле запросаНетУкажите название атрибута поставщика удостоверений, чтобы связать атрибут со значением поля Колонка пользователя.
АктивноНетУстановите флажок, чтобы сделать это соединение активным.

Пример соотношения значения Колонки пользователя = Name и Поля запроса = SAM-Account-Name для приходящих XML-ответов:

<saml:Attribute FriendlyName="username"
Name="SAM-Account-Name"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string">ad.viewer</saml:AttributeValue>
</saml:Attribute>

После создания записи в нижней части формы появляется действие пользовательского интерфейса Открыть метаданные. Нажмите его, чтобы открыть страницу https://instance.simpleone.ru/v1/saml/metadata, на которой можно скачать файл метаданных. Этот файл необходим для импорта при создании доверия с проверяющей стороной.

Включить возможность единого входа (SSO)


Чтобы включить SSO на экземпляре, выполните следующие шаги:

  1. Настройте хотя бы одно соединение SAML как описано выше.
  2. Измените значение свойства simple.sso.active на true.

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

внимание
  1. Свойство simple.sso.active не может быть активировано до того, как вы не настроите и не включите хотя бы одно соединение SAML.
  2. В случае, если все соединения SAML будут отключены, значение свойства simple.sso.active автоматически поменяется на false.
  3. В один момент времени возможно только одно активное SAML-соединение.

Используйте свойство simple.sso.active также для отключения SSO, чтобы ваш экземпляр аутентифицировал пользователей по логинам и паролям из локального хранилища профилей. Это может потребоваться, например, если данные аутентификации пользователя перестают поступать от IdP, и пользователи не могут получить доступ к экземпляру.

подсказка

Пользователь с ролью admin может обойти SSO, войдя на экземпляр под локальным логином и паролем по адресу https://instance.simpleone.ru/side-door и изменив значение simple.sso.active на false.

Создание отношение доверия с проверяющей стороной ADFS

Импорт настроек из XML-файла


Чтобы использовать преднастроенные данные, вам нужно сначала подготовить файл метаданных. Для этого выполните следующие шаги:

  1. Перейдите по ссылке https://instance.simpleone.ru/v1/saml/metadata.
  2. Нажмите правой кнопкой мыши на странице и выберите Сохранить как, чтобы скопировать информацию метаданных в новый файл с расширением .xml (например, ExampleComSSOMetadata.xml).
  3. Сохраните файл.

Чтобы настроить отношение доверия с проверяющей стороной, выполните следующие шаги:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Выберите Relying Party Trusts.
  3. Нажмите Add Relying Party Trust в правом верхнем углу, а затем Start с выбранной опцией Claims aware.
  4. Выберите опцию Import data about the relying party from a file и добавьте файл с метаданными, которые вы ранее сохранили. Например, ExampleComSSOMetadata.xml.
  5. Укажите отображаемое имя и введите примечания при необходимости.
  6. Не выбирайте сертификаты шифрования.
  7. Укажите разрешение доступа к проверяющей стороне. По умолчанию доступ разрешен всем пользователям. Нажмите Next.
  8. Нажмите снова Next и Close. В списке появится запись о настроенной проверяющей стороне.
ПолеОписание
Import data about the relying party from fileВыберите опцию, чтобы импортировать метаданные из файла, который вы сохранили ранее.
Federation metadata file locationПрикрепите файл .xml с вашего устройства. Например. ExampleComSSOMetadata.xml.
Display nameУкажите название отношения.
NotesВведите примечания к отношению, которое вы создаете.
PolicyВыберите тип контроля доступа. По умолчанию, всем пользователям разрешен доступ.
примечание

Ссылка на метаданные вида https://instance.simpleone.ru/v1/saml/metadata доступна на каждом экземпляре с включенным SSO, независимо от существующего SAML-соединения.

Создание отношения вручную


Чтобы создать отношение доверия с проверяющей стороной вручную, выполните следующие шаги:

  1. Войдите на сервер ADFS и откройте консоль управления. 
  2. Выберите Relying Party Trusts.
  3. Нажмите Add Relying Party Trust в правом верхнем углу и нажмите Start с выбранной опцией Claims aware.
  4. Выберите опцию Enter data about the relying party manually.
  5. Укажите отображаемое имя и введите примечания при необходимости.
  6. На шаге Configure Certificate нажмите Next. Не выбирайте сертификаты шифрования.
  7. На шаге Configure URL выберите протокол Enable support for the SAML 2.0 WebSSO.
    • Введите https://instance.simpleone.ru
  8. Укажите Relying party trust identifiers.
    • Relying party identifiers = https://instance.simpleone.ru. Нажмите Add.
  9. Укажите разрешение доступа к проверяющей стороне. По умолчанию доступ разрешен всем пользователям. Нажмите Next.
  10. Нажмите снова Next и Close. В списке появится запись о настроенной проверяющей стороне.
ПолеОписание
Enter data about the relying party manuallyВыберите опцию, чтобы ввести данные о проверяющей стороне вручную.
Display nameУкажите название отношения.
NotesВведите примечания к отношению, которое вы создаете.
Relying party trust identifierВведите ссылку на экземпляр и нажмите Add.
PolicyВыберите тип контроля доступа. По умолчанию, всем пользователям разрешен доступ.

Вам также нужно будет настроить созданное отношение проверяющей стороны. Для этого выполните следующие шаги:

  1. Откройте созданную запись в инструменте управления ADFS.
  2. Во вкладке Monitoring заполните следующие поля:
    • Monitoring relying party = true
    • Relying party's federation metadata URL = https://instance.simpleone.ru/v1/saml/metadata
    • Automaticaly update relying party = false
  3. Во вкладке Endpoints вам нужно создать конечные точки. Инструкция по настройке дана ниже.

Создание конечных точек SAML

Как правило, конечные точки SAML создаются автоматически при создании доверия проверяющей стороны посредством импорта настроек. При необходимости вы можете создать или отредактировать их вручную. Чтобы создать конечную точку SAML Asserion Consumer, выполните следующие действия:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Нажмите правой кнопкой мыши на ранее созданное отношение доверия.
  3. Откройте вкладку Endpoints.
  4. Нажмите Add SAML.
  5. Введите значения полей как описано ниже:
    • Endpoint type = SAML 
    • Binding = Redirect
    • Trusted URL = https://instance.simpleone.ru/auth-sso
  6. Нажмите OK.

Чтобы создать конечную точку SAML Logout, выполните следующие шаги:

  1. Войдите на сервер ADFS и откройте консоль управления.
  2. Нажмите правой кнопкой мыши на ранее созданное отношение доверия.
  3. Откройте вкладку Endpoints.
  4. Нажмите Add SAML.
  5. Введите значения полей как описано ниже:
    • Endpoint type = SAML Logout
    • Binding = Redirect
    • Trusted URL = https://instance.simpleone.ru/logout
  6. Нажмите OK.

Список конечных точек для SSO


Экземпляр, настроенный для использования единого входа, имеет следующие конечные точки, доступные для HTTP-запросов, связанных со входом и выходом пользователей:

URL конечной точкиМетод HTTPЦель
https://instance.simpleone.ru/v1/saml/metadataGETФайл метаданных .xml.
https://instance.simpleone.ru/auth-ssoHTTP-Redirect (GET)Авторизация пользователей с SSO.
https://instance.simpleone.ru/logoutHTTP-Redirect (GET)Выход пользователя из системы с SSO.
https://instance.simpleone.ru/v1/saml/postPOSTЗапрос аутентификации.

Создание правил утверждения

Правила утверждения проверяющей стороны позволяют системе установить связь с инфраструктурой ADFS.

Есть два основных правила утверждений, которые необходимо настроить:

  • Send LDAP Attribute as Claims – выберите атрибуты из Active Directory для отправки в качестве утверждения проверяющей стороне.
  • Transform an Incoming Claim – выберите входящее утверждение, измените его тип и значение утверждения.

Отправка атрибутов LDAP как утверждений


Чтобы настроить правило утверждения Send LDAP Attribute as Claims, выполните следующие шаги:

  1. Войдите на сервер ADFS и откройте консоль управления. 

  2. Нажмите правой кнопкой мыши на ранее созданное отношение доверия.

  3. Выберите Edit Claim Issuance Policy item.

  4. Нажмите Add Rule.

  5. Выберите опцию Send LDAP Attribute as Claims в поле Claim rule template и нажмите Next.

  6. Назовите правило. Например, Get LDAP Attributes.

  7. Введите значения полей как описано ниже:

    • Attribute store = Active directory
    • LDAP Attribute = E-Mail-Addresses
    • Outgoing Claim Type = E-Mail Address.
    примечание

    Вы можете указать дополнительные атрибуты, которые необходимо получить из AD.

  8. Нажмите Finish.

Преобразование входящего утверждения


Чтобы настроить правило Преобразование входящего утверждения, выполните следующие шаги:

  1. Нажмите Add Rule.
  2. Выберите опцию Transform an Incoming Claim в поле Claim rule template и нажмите Next.
  3. Назовите правило. Например, Email2Name.
  4. Установите Incoming claim type равым типу исходящего утверждения предыдущего правила. Например, E-mail Address.
  5. Введите значения полей как описано ниже:
    • Outgoing claim type = Name ID
    • Outgoing name ID format = Email
  6. Выберите опцию Pass through all claim values.
  7. Нажмите Finish.
  8. Нажмите Apply, а затем OK, чтобы закрыть окно.

Тестирование настроек SSO

Чтобы проверить настройки SSO, выполните следующие шаги:

  1. Перейдите к экземпляру SimpleOne. Например, https://instance.simpleone.ru. Если все настройки выполнены верно, вы будете перенаправлены на https://adfs.example.com/adfs/ls/IdpInitiatedSignon.aspx?logintoRP=https://instance.simpleone.ru/.
  2. Войдите на экземпляр. Если все настроенно верно, вы войдете в систему автоматически.
  3. Выберите Выйти в меню профиля, чтобы проверить функциональность конечной точки выхода.