Содержание
Введение
Функция Единый вход (англ. Single Sign-On или SSO), доступная в Панели управления, позволяет включить возможность аутентификации с помощью доверенной третьей стороны, используя установленные у вас сервисы SSO (Shibboleth, OneLogin или Active Directory Federation Services).
В общих чертах, технология единого входа позволяет пользователям осуществлять вход в систему только один раз, а затем получать доступ ко множеству приложений/сервисов без повторной аутентификации. Например, если на веб-портале существует несколько обширных независимых разделов (форум, чат, блог и т. д.) то, пройдя процедуру аутентификации в одном из сервисов, пользователь автоматически получает доступ ко всем остальным, что избавляет его от многократного ввода данных своей учётной записи.
SSO — это всегда совместная работа двух приложений: поставщика учетных записей (англ. Identity Provider, далее по тексту сокращенно «IdP») и поставщика сервиса (англ. Service Provider, далее по тексту сокращенно «SP»).
Р7-Офис SSO реализует только SP. В качестве IdP может выступать множество различных провайдеров, но Р7-Офис был протестирован только со следующими сервисами: Shibboleth, OneLogin и AD FS.
Используя SSO-аутентификацию, вы получаете следующие преимущества:
- Повышенное удобство. Пользователи получают более быстрый и простой способ доступа на портал, не требующий запоминания множества логинов и паролей.
- Повышенный уровень безопасности. Р7-Офис не хранит пароли пользователей ни в каком виде, а использует результаты аутентификации на стороне поставщика учетных записей.
- Удобное администрирование. Вся необходимая информация о пользователе передается в аутентификационном токене. При изменении информации о пользователе на стороне поставщика учетных записей данные автоматически обновятся на портале при последующей аутентификации с помощью SSO. Если профиль пользователя отсутствует на портале, он будет автоматически создан при первом входе пользователя на портал с помощью учетных данных SSO.
В Р7-Офис SSO-аутентификация реализована на базе безопасного и широко используемого стандарта SAML. SAML (Security Assertion Markup Language, язык разметки декларации безопасности) — стандарт на базе языка XML, позволяющий передавать данные об аутентификации и авторизации между поставщиком учетных записей и поставщиком сервиса через токены безопасности, содержащие утверждения.
В данной статье описан процесс включения SSO в целом. Если вас интересуют конкретные настройки или примеры для определенных поставщиков учетных записей, обратитесь к нашим статьям о настройке поставщика сервиса Р7-Офис и поставщиков учетных записей Shibboleth, OneLogin или AD FS.
Включение SSO
Чтобы включить и настроить на портале аутентификацию с помощью SSO, необходимо выполнить два следующих основных шага:
- Зарегистрировать поставщика учетных записей на странице SSO в Панели управления Р7-Офис. Информацию, которую требуется указать, можно найти в вашем аккаунте поставщика учетных записей.
- Зарегистрировать Р7-Офис в качестве проверенного поставщика сервиса в аккаунте поставщика учетных записей. Эта процедура различается в зависимости от выбранного поставщика учетных записей.
Регистрация поставщика учетных записей в поставщике сервиса Р7-Офис
Для регистрации поставщика учетных записей в Р7-Офис SP используйте раздел Настройки поставщика сервиса Р7-Офис на странице SSO.
- На портале Р7-Офис перейдите в Панель управления и откройте страницу SSO.
- Нажмите на переключатель Включить аутентификацию с помощью технологии единого входа.
- Заполните требуемые поля в разделе Настройки поставщика сервиса Р7-Офис. Нужную информацию можно указать несколькими разными способами:
- Введите URL-адрес файла метаданных. Если метаданные поставщика учетных записей доступны извне по ссылке, вставьте эту ссылку в поле URL-адрес XML-файла метаданных IdP и нажмите кнопку Загрузить данные. Когда данные будут загружены, все требуемые параметры автоматически отобразятся в расширенной форме.
- Загрузите файл метаданных. Если поставщик учетных записей предоставляет файл метаданных, используйте кнопку Выбрать файл, чтобы найти файл, сохраненный на локальной машине. Когда файл будет загружен, все требуемые параметры автоматически отобразятся в расширенной форме.
- Укажите требуемые параметры вручную. Если файл метаданных недоступен, введите нужные параметры вручную. Для получения нужных значений обратитесь к администратору вашего поставщика учетных записей.
Доступны следующие параметры:
- Идентификатор сущности поставщика учетных записей (обязательное поле) — идентификатор поставщика учетных записей или URL-адрес, который будет использоваться поставщиком сервиса, чтобы однозначно идентифицировать поставщика учетных записей.https://example.com/idp/shibboleth
где example.com — это доменное имя вашего SSO-сервиса
- URL-адрес конечной точки единого входа IdP (обязательное поле) — URL-адрес, используемый для единого входа на стороне поставщика учетных записей. Это адрес конечной точки в поставщике учетных записей, на который поставщик сервиса отправляет запросы аутентификации.Задайте нужный тип Привязки, выбрав одну из соответствующих радиокнопок. Привязки определяют, каким образом запросы и ответы аутентификации передаются между поставщиком учетных записей и поставщиком сервиса по стандартному транспортному протоколу: с помощью привязки HTTP POST или привязки HTTP Redirect.
- URL-адрес конечной точки единого выхода IdP — URL-адрес, используемый для единого выхода на стороне поставщика сервиса. Это адрес конечной точки в поставщике учетных записей, на который поставщик сервиса отправляет запросы и ответы выхода.Задайте нужный тип Привязки, выбрав одну из соответствующих радиокнопок. Привязки определяют, каким образом запросы и ответы выхода передаются между поставщиком учетных записей и поставщиком сервиса по стандартному транспортному протоколу: с помощью привязки HTTP POST или привязки HTTP Redirect.
- Формат NameId — параметр NameID позволяет поставщику сервиса идентифицировать пользователя. Выберите в списке один из доступных форматов.
Можно также добавить сертификаты поставщика учетных записей и поставщика сервиса.
Открытые сертификаты поставщика учетных записей
В разделе Открытые сертификаты поставщика учетных записей можно добавить открытые сертификаты поставщика учетных записей, используемые поставщиком сервиса для проверки запросов и ответов от поставщика учетных записей.
Если вы загрузили метаданные поставщика учетных записей, эти сертификаты будут автоматически добавлены в Панель управления. В противном случае сертификаты можно найти в вашем аккаунте поставщика учетных записей. Чтобы добавить сертификат вручную, нажмите кнопку Добавить сертификат. Откроется окно Новый сертификат. Вставьте сертификат в поле Открытый сертификат и нажмите кнопку OK.
Задайте дополнительные параметры для сертификатов, поставив соответствующие галочки.
Укажите, подписи каких запросов/ответов, отправляемых от поставщика учетных записей поставщику сервиса, следует проверять:
- Проверять подпись ответов аутентификации — чтобы проверять подписи ответов аутентификации SAML, отправляемых поставщику сервиса.
- Проверять подпись запросов выхода — чтобы проверять подписи запросов выхода SAML, отправляемых поставщику сервиса.
- Проверять подпись ответов выхода — чтобы проверять подписи ответов выхода SAML, отправляемых поставщику сервиса.
Выберите нужный алгоритм из списка Стандартный алгоритм проверки подписи: rsa-sha1
, rsa-sha256
или rsa-sha512
.
Можно редактировать или удалить добавленные сертификаты, используя соответствующую ссылку.
Сертификаты поставщика сервиса
В разделе Сертификаты поставщика сервиса можно добавить сертификаты поставщика сервиса, используемые для подписи и шифрования запросов и ответов от поставщика сервиса.
Если ваш поставщик учетных записей требует, чтобы входящие данные были подписаны и/или зашифрованы, создайте или добавьте сертификаты в этом разделе.
Нажмите кнопку Добавить сертификат. Откроется окно Новый сертификат. Вы можете сгенерировать самоподписанный сертификат или добавить уже имеющийся сертификат в поле Открытый сертификат, а соответствующий ему закрытый ключ — в поле Закрытый ключ. В списке Использовать для выберите один из доступных вариантов: signing
, encrypt
, signing and encrypt
. Когда все будет готово, нажмите кнопку OK.
В зависимости от предназначения сертификата, выбранного в списке Использовать для при загрузке/генерации сертификата, указываются дополнительные параметры сертификата. Следующие параметры определяют, какие запросы/ответы, отправляемые от поставщика сервиса поставщику учетных записей, следует подписывать:
- Подписывать запросы аутентификации — чтобы поставщик сервиса подписывал запросы аутентификации SAML, отправляемые поставщику учетных записей.
- Подписывать запросы выхода — чтобы поставщик сервиса подписывал запросы выхода SAML, отправляемые поставщику учетных записей.
- Подписывать ответы выхода — чтобы поставщик сервиса подписывал ответы выхода SAML, отправляемые поставщику учетных записей.
Если вы выбрали опцию encrypt
или signing and encrypt
в списке Использовать для, также будет отмечен параметр Расшифровывать утверждения. Расшифровка осуществляется с помощью соответствующего Закрытого ключа.
Выберите нужные алгоритмы из списков:
- Алгоритм подписи:
rsa-sha1
,rsa-sha256
илиrsa-sha512
. - Стандартный алгоритм расшифровки:
aes128-cbc
,aes256-cbc
илиtripledes-cbc
.
Можно редактировать или удалить добавленные сертификаты, используя соответствующую ссылку.
Сопоставление атрибутов
В разделе Сопоставление атрибутов можно указать соответствие полей модуля Люди Р7-Офис атрибутам пользователя, которые будут возвращаться из поставщика учетных записей. Когда пользователь осуществляет вход в Р7-Офис SP с использованием учетных данных SSO, Р7-Офис SP получает требуемые атрибуты и заполняет полное имя и адрес электронной почты для учетной записи пользователя значениями, полученными от поставщика учетных записей. Если такого пользователя нет в модуле «Люди», он будет создан автоматически. Если информация о пользователе была изменена на стороне поставщика учетных записей, данные также обновятся в поставщике сервиса.
Доступны следующие атрибуты:
- Имя (обязательное поле) — атрибут в записи пользователя, соответствующий имени пользователя.
- Фамилия (обязательное поле) — атрибут в записи пользователя, соответствующий фамилии пользователя.
- Электронная почта (обязательное поле) — атрибут в записи пользователя, соответствующий адресу электронной почты пользователя.
- Местоположение — атрибут в записи пользователя, соответствующий местоположению пользователя.
- Должность — атрибут в записи пользователя, соответствующий должности пользователя.
- Телефон — атрибут в записи пользователя, соответствующий номеру телефона пользователя.
Когда все параметры будут указаны в Панели управления, нажмите кнопку Сохранить. Откроется раздел Метаданные поставщика сервиса Р7-Офис.
Регистрация Р7-Офис в качестве проверенного поставщика сервиса в поставщике учетных записей
Теперь необходимо добавить Р7-Офис в качестве проверенного поставщика сервиса в ваш аккаунт поставщика учетных записей, указав в поставщике учетных записей метаданные Р7-Офис SP.
Для получения нужных данных обратитесь к разделу Метаданные поставщика сервиса Р7-Офис на странице SSO. Убедитесь, что данные поставщика сервиса доступны публично. Для этого нажмите кнопку Скачать XML-файл метаданных поставщика сервиса. Содержимое XML-файла отобразится в новой вкладке браузера. Сохраните данные как XML-файл, чтобы можно было загрузить его в поставщик учетных записей.
Можно также вручную скопировать отдельные параметры, нажав на кнопку Копировать в буфер обмена в соответствующих полях.
Доступны следующие параметры:
- Идентификатор сущности поставщика сервиса (ссылка на XML-файл метаданных) — URL-адрес XML-файла поставщика сервиса. Файл можно скачать, и он будет использоваться поставщиком учетных записей, чтобы однозначно идентифицировать поставщика сервиса. По умолчанию файл размещается по следующему адресу: http://example.com/sso/metadata, где example.com — это доменное имя или публичный IP-адрес портала Р7-Офис.
- URL-адрес службы обработчика утверждений поставщика сервиса (поддерживаются привязки Redirect и POST) — URL-адрес поставщика сервиса, по которому он получает и обрабатывает утверждения от поставщика учетных записей. По умолчанию используется следующий адрес: http://example.com/sso/acs, где example.com — это доменное имя или публичный IP-адрес портала Р7-Офис.
- URL-адрес единого выхода поставщика сервиса (поддерживаются привязки Redirect и POST) — URL-адрес, используемый для единого выхода на стороне поставщика учетных записей. Это адрес конечной точки в поставщике сервиса, по которому он получает и обрабатывает запросы и ответы выхода от поставщика учетных записей. По умолчанию используется следующий адрес: http://example.com/sso/slo/callback, где example.com — это доменное имя или публичный IP-адрес портала Р7-Офис.
Вход в Р7-Офис SP
После того как Единый вход включен и настроен, процесс входа осуществляется следующим образом:
- Пользователь запрашивает доступ к Р7-Офис, нажав на кнопку Single Sign-on (название кнопки может отличаться, если вы указали свой вариант при настройке Р7-Офис SP) на странице аутентификации портала Р7-Офис (единый вход, инициированный поставщиком сервиса).
- Если всё настроено верно в SP и IdP, Р7-Офис отправляет запрос аутентификации поставщику учетных записей и перенаправляет пользователя на страницу поставщика учетных записей, где пользователю надо ввести учетные данные.
- Если пользователь ещё не осуществил вход в поставщик учетных записей, он вводит свои учетные данные в IdP.
- Поставщик учетных записей создает ответ аутентификации, содержащий данные пользователя, и отправляет его поставщику сервиса Р7-Офис.
- Р7-Офис получает ответ аутентификации от поставщика учетных записей и проверяет его подлинность.
- Если подлинность ответа подтверждена, Р7-Офис позволяет пользователю войти (если такого пользователя нет на портале, он будет создан автоматически, а если данные были изменены в IdP, они будут обновлены).
Можно также использовать страницу входа на стороне поставщика учетных записей (единый вход, инициированный поставщиком учетных записей), ввести учетные данные и получить доступ к порталу Р7-Офис без повторной аутентификации.
Выход из Р7-Офис SP
Выход можно осуществить двумя доступными способами:
- С портала Р7-Офис, используя пункт меню Выйти (в этом случае отправляется запрос от IdP на выход). Пользователь также должен автоматически выйти из IdP, если он вышел из всех остальных приложений, к которым ранее получил доступ с помощью SSO-аутентификации.
- Со страницы выхода поставщика учетных записей.
Редактирование профилей пользователей, созданных с помощью SSO
Пользователи, созданные с помощью SSO-аутентификации, отмечены в списке пользователей значком «SSO» для администраторов портала.
Возможность редактирования профилей этих пользователей в модуле «Люди» ограничена. Поля профиля пользователя, созданные с помощью SSO-аутентификации, заблокированы для редактирования в модуле «Люди». Информацию о таких пользователях можно изменить только на стороне поставщика учетных записей.