Технология единого входа (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 на своем экземпляре:
- Создайте соединение SAML.
- Включите системное свойство SSO.
- Создайте отношение доверия с проверяющей стороной:
- с помощью импорта из файла XML.
- вручную.
- Создайте необходимые конечные точки SAML.
- Создайте правила утверждений.
- Проверьте соединение SAML.
Создание соединения SAML
Чтобы настроить соединение, выполните следующие шаги:
- Перейдите в Single Sign-On → Настройка SAML.
- Нажмите Создать и заполните поля.
- Нажмите Сохранить или Сохранить и выйти.
- Общее
- Метаданные сервера SAML
- Дополнительные сведения
Поле | Обязательно | Описание |
---|---|---|
Имя | Нет | Укажите название соединения SAML. |
Колонка пользователя | Да | Укажите поле из таблицы Пользователи, которое содержит информацию для идентификации пользователя. Доступные значения:
|
Поле запроса | Нет | Укажите название атрибута поставщика удостоверений, чтобы связать атрибут со значением поля Колонка пользователя. |
Активно | Нет | Установите флажок, чтобы сделать это соединение активным. |
Пример соотношения значения Колонки пользователя = 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>
Поле | Обязательно | Описание |
---|---|---|
URL метаданных | Да | Укажите внешнюю ссылку предоставленную поставщиком услуг для проверки подлинности. По этому адресу находится файл XML, содержащий метаданные федерации AD. В большинстве случаев этот файл назван federationmetada.xml. Большинство служб каталогов, таких как Active Directory, предоставляют ссылку на этот файл через свои инструменты управления. Укажите общедоступную ссылку на файл в этом поле. В случае соединения SAML ссылка должна выглядеть следующим образом: |
Metadata | Нет | Это поле содержит ответ внешней службы (метаданные федерации SAML) и автоматически заполняется содержимым файла federationmetadata.xml. |
Эта вкладка содержит служебную информацию о записи (кто и когда создал или обновил запись, и другое).
После создания записи в нижней части формы появляется действие пользовательского интерфейса Открыть метаданные. Нажмите его, чтобы открыть страницу https://instance.simpleone.ru/v1/saml/metadata
, на которой можно скачать файл метаданных. Этот файл необходим для импорта при создании доверия с проверяющей стороной.
Включить возможность единого входа (SSO)
Чтобы включить SSO на экземпляре, выполните следующие шаги:
- Настройте хотя бы одно соединение SAML как описано выше.
- Измените значение свойства simple.sso.active на true.
Пока шаги выше не будут выполнены, аутентификация пользователей будет продолжаться с использованием локального хранилища профилей.
- Свойство simple.sso.active не может быть активировано до того, как вы не настроите и не включите хотя бы одно соединение SAML.
- В случае, если все соединения SAML будут отключены, значение свойства simple.sso.active автоматически поменяется на false.
- В один момент времени возможно только одно активное SAML-соединение.
Используйте свойство simple.sso.active также для отключения SSO, чтобы ваш экземпляр аутентифицировал пользователей по логинам и паролям из локального хранилища профилей. Это может потребоваться, например, если данные аутентификации пользователя перестают поступать от IdP, и пользователи не могут получить доступ к экземпляру.
Пользователь с ролью admin может обойти SSO, войдя на экземпляр под локальным логином и паролем по адресу https://instance.simpleone.ru/side-door
и изменив значение simple.sso.active на false.
Создание отношение доверия с проверяющей стороной ADFS
Импорт настроек из XML-файла
Чтобы использовать преднастроенные данные, вам нужно сначала подготовить файл метаданных. Для этого выполните следующие шаги:
- Перейдите по ссылке
https://instance.simpleone.ru/v1/saml/metadata
. - Нажмите правой кнопкой мыши на странице и выберите Сохранить как, чтобы скопировать информацию метаданных в новый файл с расширением .xml (например, ExampleComSSOMetadata.xml).
- Сохраните файл.
Чтобы настроить отношение доверия с проверяющей стороной, выполните следующие шаги:
- Войдите на сервер ADFS и откройте консоль управления.
- Выберите Relying Party Trusts.
- Нажмите Add Relying Party Trust в правом верхнем углу, а затем Start с выбранной опцией Claims aware.
- Выберите опцию Import data about the relying party from a file и добавьте файл с метаданными, которые вы ранее сохранили. Например, ExampleComSSOMetadata.xml.
- Укажите отображаемое имя и введите примечания при необходимости.
- Не выбирайте сертификаты шифрования.
- Укажите разрешение доступа к проверяющей стороне. По умолчанию доступ разрешен всем пользователям. Нажмите Next.
- Нажмите снова 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-соединения.
Создание отношения вручную
Чтобы создать отношение доверия с проверяющей стороной вручную, выполните следующие шаги:
- Войдите на сервер ADFS и откройте консоль управления.
- Выберите Relying Party Trusts.
- Нажмите Add Relying Party Trust в правом верхнем углу и нажмите Start с выбранной опцией Claims aware.
- Выберите опцию Enter data about the relying party manually.
- Укажите отображаемое имя и введите примечания при необходимости.
- На шаге Configure Certificate нажмите Next. Не выбирайте сертификаты шифрования.
- На шаге Configure URL выберите протокол Enable support for the SAML 2.0 WebSSO.
- Введите
https://instance.simpleone.ru
- Введите
- Укажите Relying party trust identifiers.
- Relying party identifiers =
https://instance.simpleone.ru
. Нажмите Add.
- Relying party identifiers =
- Укажите разрешение доступа к проверяющей стороне. По умолчанию доступ разрешен всем пользователям. Нажмите Next.
- Нажмите снова Next и Close. В списке появится запись о настроенной проверяющей стороне.
Поле | Описание |
---|---|
Enter data about the relying party manually | Выберите опцию, чтобы ввести данные о проверяющей стороне вручную. |
Display name | Укажите название отношения. |
Notes | Введите примечания к отношению, которое вы создаете. |
Relying party trust identifier | Введите ссылку на экземпляр и нажмите Add. |
Policy | Выберите тип контроля доступа. По умолчанию, всем пользователям разрешен доступ. |
Вам также нужно будет настроить созданное отношение проверяющей стороны. Для этого выполните следующие шаги:
- Откройте созданную запись в инструменте управления ADFS.
- Во вкладке Monitoring заполните следующие поля:
- Monitoring relying party = true
- Relying party's federation metadata URL =
https://instance.simpleone.ru/v1/saml/metadata
- Automaticaly update relying party = false
- Во вкладке Endpoints вам нужно создать конечные точки. Инструкция по настройке дана ниже.
Создание конечных точек SAML
Как правило, конечные точки SAML создаются автоматически при создании доверия проверяющей стороны посредством импорта настроек. При необходимости вы можете создать или отредактировать их вручную. Чтобы создать конечную точку SAML Asserion Consumer, выполните следующие действия:
- Войдите на сервер ADFS и откройте консоль управления.
- Нажмите правой кнопкой мыши на ранее созданное отношение доверия.
- Откройте вкладку Endpoints.
- Нажмите Add SAML.
- Введите значения полей как описано ниже:
- Endpoint type = SAML
- Binding = Redirect
- Trusted URL =
https://instance.simpleone.ru/auth-sso
- Нажмите OK.
Чтобы создать конечную точку SAML Logout, выполните следующие шаги:
- Войдите на сервер ADFS и откройте консоль управления.
- Нажмите правой кнопкой мыши на ранее созданное отношение доверия.
- Откройте вкладку Endpoints.
- Нажмите Add SAML.
- Введите значения полей как описано ниже:
- Endpoint type = SAML Logout
- Binding = Redirect
- Trusted URL =
https://instance.simpleone.ru/logout
- Нажмите OK.
Список конечных точек для SSO
Экземпляр, настроенный для использования единого входа, имеет следующие конечные точки, доступные для HTTP-запросов, связанных со входом и выходом пользователей:
URL конечной точки | Метод HTTP | Цель |
---|---|---|
https://instance.simpleone.ru/v1/saml/metadata | GET | Файл метаданных .xml. |
https://instance.simpleone.ru/auth-sso | HTTP-Redirect (GET) | Авторизация пользователей с SSO. |
https://instance.simpleone.ru/logout | HTTP-Redirect (GET) | Выход пользователя из системы с SSO. |
https://instance.simpleone.ru/v1/saml/post | POST | Запрос аутентификации. |
Создание правил утверждения
Правила утверждения проверяющей стороны позволяют системе установить связь с инфраструктурой ADFS.
Есть два основных правила утверждений, которые необходимо настроить:
- Send LDAP Attribute as Claims – выберите атрибуты из Active Directory для отправки в качестве утверждения проверяющей стороне.
- Transform an Incoming Claim – выберите входящее утверждение, измените его тип и значение утверждения.
Отправка атрибутов LDAP как утверждений
Чтобы настроить правило утверждения Send LDAP Attribute as Claims, выполните следующие шаги:
-
Войдите на сервер ADFS и откройте консоль управления.
-
Нажмите правой кнопкой мыши на ранее созданное отношение доверия.
-
Выберите Edit Claim Issuance Policy item.
-
Нажмите Add Rule.
-
Выберите опцию Send LDAP Attribute as Claims в поле Claim rule template и нажмите Next.
-
Назовите правило. Например, Get LDAP Attributes.
-
Введите значения полей как описано ниже:
- Attribute store = Active directory
- LDAP Attribute = E-Mail-Addresses
- Outgoing Claim Type = E-Mail Address.
примечаниеВы можете указать дополнительные атрибуты, которые необходимо получить из AD.
-
Нажмите Finish.
Преобразование входящего утверждения
Чтобы настроить правило Преобразование входящего утверждения, выполните следующие шаги:
- Нажмите Add Rule.
- Выберите опцию Transform an Incoming Claim в поле Claim rule template и нажмите Next.
- Назовите правило. Например, Email2Name.
- Установите Incoming claim type равым типу исходящего утверждения предыдущего правила. Например, E-mail Address.
- Введите значения полей как описано ниже:
- Outgoing claim type = Name ID
- Outgoing name ID format = Email
- Выберите опцию Pass through all claim values.
- Нажмите Finish.
- Нажмите Apply, а затем OK, чтобы закрыть окно.
Тестирование настроек SSO
Чтобы проверить настройки SSO, выполните следующие шаги:
- Перейдите к экземпляру SimpleOne. Например,
https://instance.simpleone.ru
. Если все настройки выполнены верно, вы будете перенаправлены наhttps://adfs.example.com/adfs/ls/IdpInitiatedSignon.aspx?logintoRP=https://instance.simpleone.ru/
. - Войдите на экземпляр. Если все настроено верно, вы войдете в систему автоматически.
- Выберите Выйти в меню профиля, чтобы проверить функциональность конечной точки выхода.