Подключение и настройка SSO
Single Sign-On (SSO) позволяет использовать для авторизации внешние службы. Это позволяет настраивать авторизацию в корпоративных сервисах наряду с обычными методами аутентификации, предоставляемыми локальной базой данных. SSO использует язык разметки SAML (Security Assertion Markup Language) для обмена данными между поставщиком учетных записей (identity provider) и поставщиками услуг (service provider). Эта процедура может быть реализована на основе службы ADFS 2.0.
Чтобы настроить SSO в системе, необходимо:
- Настроить подключение SAML.
- Указать значение true для системного свойства simple.sso.active.
Для настройки необходимо обладать ролью admin
Этапы настройки SSO:
- Создание отношения доверия с проверяющей стороной ADFS.
- Создать правила проверяющей стороны ADFS.
- (необязательно) Создать конечную точку выхода SAML.
- Создать подключение SAML.
- Проверить соединение.
Создание доверия проверяющей стороны ADFS
В качестве примера в инструкции будет использоваться экземпляр instance.example.com. При выполнении последовательности действий необходимо использовать реальный адрес экземпляра, для которого производится настройка.
На первом этапе требуется подготовить файл, содержащий мета-данные. Для этого необходимо:
- Перейдите к https://instance.example.com/v1/saml/metadata.
- Скопируйте метаданные в новый файл с расширением XML.
- Сохраните файл.
Следующий этап – настройка проверяющий стороны ADFS. Для этого необходимо:
- Войдите на сервер ADFS и откройте консоль управления.
- Выберите Relying Party Trusts.
- Щелкните Add Relying Party Trust в правом верхнем углу и нажмите кнопку Start.
- Выберите параметр Import data about the relying party from a file.
- Укажите отображаемое имя и при необходимости введите некоторые заметки.
- Не выбирайте сертификат шифрования.
- Укажите разрешения пользователя для этой проверяющей стороны. По умолчанию разрешены все пользователи. Нажмите кнопку Next.
- Нажмите кнопку Next еще раз, а затем кнопку Close. Появится новое доверие проверяющей стороны.
Также возможно провести настройку проверяющей стороны вручную:
- Войдите на сервер ADFS и откройте консоль управления.
- Выберите Relying Party Trusts .
- Нажмите сначала кнопку Add Relying Party Trust в правом верхнем углу, а затем – кнопку Start.
- Укажите параметр Enter data about the relying data manually.
- Укажите отображаемое имя и при необходимости введите некоторые заметки.
- Не выбирайте сертификат шифрования.
- Выберите Enable support for the SAML 2.0 WebSSO protocol.
- Тип https://instance.example.com/adfs/fs
- Укажите идентификаторы проверяющей стороны
- Тип https://instance.example.com/adfs/services/trust
- Укажите разрешения пользователя для этой проверяющей стороны. По умолчанию разрешены все пользователи. Нажмите кнопку Next.
- Нажмите кнопку Next еще раз, а затем кнопку Close. Появится новое доверие проверяющей стороны.
Создание правила проверяющей стороны ADFS
Правила проверяющей стороны помогают установить связь между инфраструктурой ADFS и экземпляром SimpleOne. Чтобы настроить эти правила следуйте инструкции ниже.
- Войдите на сервер ADFS и откройте консоль управления.
- Щелкните правой кнопкой мыши на доверие проверяющей стороны, созданное ранее.
- Выберите элемент Edit Claim Issuance Policy.
- Нажмите кнопку Add Rule.
- Выберите параметр Send LDAP Attribute as Claims и нажмите кнопку Next.
- Присвойте утверждению имя. Например, Get LDAP Attributes.
- Введите значения, перечисленные ниже:
- Attribute store = Active directory
- LDAP Attribute = E-Mail-Addresses
- Outgoing Claim Type = E-mail Address
- Нажмите кнопку Finish.
- Нажмите еще раз кнопку Add Rules.
- Выберите параметр Transform an Incoming Claim и нажмите кнопку Next.
- Присвойте утверждению имя, например Email2Name.
- Задайте Incoming claim type равным типу исходящего утверждения в предыдущем правиле. Например, Email Address.
- Установите значения, перечисленные ниже:
- Outgoing claim type = Name ID
- Outgoing name ID format = Email
- Выберите параметр Pass through all claim values.
- Нажмите кнопку Finish.
- Нажмите кнопку ОК, чтобы закрыть окно.
Создание конечной точки выхода
Как правило, конечные точки выхода SAML создаются автоматически в рамках создания доверия проверяющей стороны. При необходимости их можно создавать или редактировать вручную. Для этого выполните следующие действия:
- Войдите на сервер ADFS и откройте консоль управления.
- Щелкните правой кнопкой мыши доверие проверяющей стороны, созданное ранее.
- Перейдите на вкладку Endpoints.
- Нажмите кнопку Add SAML.
- Введите значения, перечисленные ниже:
- Endpoint type = SAML Logout
- Binding = POST
- Trusted URL = https://instance.example.com/logout
- Нажмите кнопку ОК.
Создание подключения SAML
Чтобы настроить подключение SAML, выполните следующие действия:
- Перейдите к разделу Single Sign-On → SAML Definition.
- Нажмите New и заполните поля из таблицы ниже.
- Нажмите кнопку Save или Save and Exit, чтобы применить изменения.
Поле | Обязательность | Описание |
---|---|---|
Name | - | Название SAML-подключения |
User field | + | Поле в таблице User, содержащее сведения для идентификации пользователя. Доступные опции: |
- Username
- ID|
|Active|-|Активно подключение или нет|
|SAML Server Metadata tab|
|Metadata URL|+|Внешний URL-адрес, предоставленный поставщиком услуг для проверки подлинности. По этому адресу находится XML-файл, содержащий метаданные Федерации. Как правило, в большинстве случаев этот файл называется federationmetada.xml. Большинство служб каталогов, таких как Active Directory, предоставляют ссылку на этот файл через консоль управления.|
|Metadata|-|Автоматически заполняется содержимым файла federationmetadata.xml.|
Проверка соединения
Чтобы проверить настройку конфигурации, выполните следующие действия:
- Перейдите на экземпляр SimpleOne, например, https://instance.example.com в режиме инкогнито. Если настройка была произведена корректно, Вы будете перенаправлены на страницу https://adfs.example.com/adfs/ls/IdpInitiatedSignon.aspx?logintoRP=https://instance.example.com/
- Войдите в свой экземпляр
- Выберите Logout в меню профиля, чтобы проверить функциональность завершения пользовательской сессии.
Подключение и настройка LDAP
Интеграция с LDAP позволяет подключить экземпляр к серверам LDAP или Active Directory (далее – AD) и использовать их в качестве источника пользовательских данных. Благодаря этому можно синхронизировать экземпляр SimpleOne с другими корпоративными сервисами для использования одной учетной записи в каждой из них.
Видео по настройке подключения к Active Directory и импорту пользователей:
Инструкция по настройке аутентификации с помощью Keycloak
Для настройки необходимо обладать ролью admin.
- Указать значение true для системного свойства simple.sso.active.
- Настроить SAML подключение
- Создать SAML подключение:
1. Перейти через навигатор на форму создания Single Sign-On (SSO) → SAML Definition → New
2. В поле Name указать произвольное название
3. В поле User Field выбрать поле Email
4. В разделе SAML Server Metadata в поле Metadata URL добавить ссылку на метаданные в формате .xml из Keycloack
5. Сохранить форму
При сохранении формы возможны ошибки: Unsupported KeyInfo type : SimpleSAML ** XMLSecutity ** XML ** ds ** KeyName » и «Saving error »
Ошибки возникают из-за того, что система не может обработать метаданные из-за неправильной последовательности тегов. Для решения необходимо отредактировать файл с метаданными. Переместите потомка ds:KeyName как указано на скриншотах ниже:
После необходимо заново указать ссылку на отредактированный файл метаданных в записи SAML-подключения и повторить сохранение записи.
В случае успешной обработки мы получим метаданные:
- Настроить Keycloack
- Создать клиента (скриншоты 3.1 – 3.5)
1. В поле Client ID указать ссылку на ваш экземпляр по примеру: «https://your-instance.simpleone.ru»
2. В поле Client Protocol выбрать «saml »
3. Все переключатели кроме Enabled перевести в состояние OFF
4. В поле Login Theme выбрать «keycloack »
5. В поле Client Protocol выбрать «saml »
6. В поле Name ID Format выбрать «username»
7. В поле Base URL указать ссылку на экземпляр по примеру: «https://your-instance.simpleone.ru/auth-sso»
8. В поле Master SAML Processing URL указать ссылку на экземпляр по примеру: «https://your-instance.simpleone.ru/auth-sso»
9. Остальные поля оставить без изменений (см. скриншоты) - Настроить маппинг (скриншоты 3.1 – 3.5)
1. Перейти на вкладку Mappers и нажать на кнопку Create
2. В поле Name указать «email »
3. В поле Mapper Type выбрать «User Attribute»
4. В поле User Attribute указать «email»
5. В поле Friendly Name указать «mail »
6. В поле SAML Attribute Name указать «mail»
7. В поле Aggregate Attribute NameFormat выбрать «URI Reference» - Создать пользователя (скриншоты 3.6 – 3.10)
1. В левом меню выбрать раздел Users и нажать на кнопку Add User
2. Заполнить поля Username и Email и нажать кнопку Save
Убедитесь, что на экземпляре существует пользователь с таким же email адресом.
3. Перейти на вкладку Credentials , заполнить поля Password и Password Confirmation и нажать кнопку Set Password
Скриншот 3.1
Скриншот 3.2
Скриншот 3.3
Скриншот 3.4
Скриншот 3.5
Скриншот 3.6
Скриншот 3.7
Скриншот 3.8
Скриншот 3.9
Скриншот 3.10