Перейти к основному содержимому

Настройка ONLYOFFICE SP и Shibboleth IdP

Введение​

Единый вход (англ. Single Sign-On, SSO) — технология, которая позволяет пользователям входить в систему только один раз, а затем получать доступ ко множеству приложений и сервисов без повторной аутентификации.

Если на веб-портале есть несколько обширных независимых разделов (форум, чат, блоги и т. д.), пользователь, пройдя аутентификацию в одном из сервисов, автоматически получает доступ ко всем остальным и не вводит данные своей учетной записи несколько раз.

SSO — это всегда совместная работа двух приложений: поставщика учетных записей (англ. Identity Provider, далее «IdP») и поставщика сервиса (англ. Service Provider, далее «SP»). ONLYOFFICE SSO реализует только SP. В качестве IdP может выступать множество различных провайдеров, но в этой статье мы рассмотрим реализацию Shibboleth.

примечание

Если вы хотите использовать SSO при подключении десктопных редакторов ONLYOFFICE к ONLYOFFICE Workspace, отключите Приватные комнаты в Панели управления.

Подготовка ONLYOFFICE Workspace для настройки SSO​

  1. Установите ONLYOFFICE Workspace v. 11.0.0 для Docker или любую более позднюю версию с поддержкой SSO.
  2. Привяжите доменное имя, например, myportal-address.com.
  3. На портале перейдите в Панель управления > HTTPS, создайте и примените сертификат letsencrypt для шифрования трафика (для включения HTTPS на портале).

Создание Shibboleth IdP​

Требования​

  • Для развертывания Shibboleth IdP потребуется чистая хост-машина CentOS 7.

  • На хост-машине для IdP должно быть правильно настроено время и установлен сервис синхронизации времени:

    timedatectl status
    yum install ntp
    systemctl enable ntpd.service
    ntpdate time.apple.com
  • На машине должен быть установлен пакет unzip:

    yum install unzip
  • На машине должны быть установлены Docker и Docker Compose.

  • К машине должно быть привязано доменное имя (например, your-idp-domain.com)

Создание Shibboleth IdP​

Для создания, настройки и запуска Shibboleth IdP скачайте и выполните скрипт install.sh.

Скрипт выполняет следующие действия:

  • скачивает docker-файлы для создания образов и контейнеров Shibboleth IdP с github,
  • меняет стандартный домен idptestbed.edu в файлах конфигурации на домен, указанный при запуске скрипта,
  • добавляет доступ по протоколу SAML для указанного домена ONLYOFFICE SP,
  • указывает, какие атрибуты необходимы ONLYOFFICE SP для получения информации о пользователях от Shibboleth IdP (настройка Сопоставление атрибутов),
  • создает и настраивает LDAP и создает пользователей для выдачи,
  • включает динамическую загрузку метаданных от ONLYOFFICE SP в Shibboleth IdP,
  • включает Shibboleth Single Logout (SLO), если необходимо.
  1. Скачайте скрипт install.sh:

    curl -L https://raw.githubusercontent.com/ONLYOFFICE/helpcenter-scripts/master/workspace/control-panel-sso-shibboleth/install.sh -o install.sh
  2. Сделайте скрипт исполняемым:

    chmod +x install.sh
  3. Выполните скрипт, заменив параметры на свои:

    ./install.sh -id your-idp-domain.com -sd myportal-address.com --no_slo

    Параметры скрипта:

    • -id — доменное имя текущей машины для Shibboleth IdP.
    • -sd — доменное имя, на котором развернут ONLYOFFICE SP.
    • --no_slo — отключает Single Logout в Shibboleth IdP (необязательный параметр).
  4. Дождитесь, когда после выполнения скрипта Shibboleth IdP запустится.

  5. Чтобы проверить, что Shibboleth IdP запустился корректно, откройте в браузере ссылку https://your-idp-domain.com/idp/shibboleth. Должен отобразиться xml-файл.

  6. Скопируйте ссылку https://{your_idp_domain}/idp/shibboleth (например, https://your-idp-domain.com/idp/shibboleth) и перейдите на портал ONLYOFFICE под учетной записью администратора. Откройте страницу Панель управления > SSO.

Настройка ONLYOFFICE SP​

  1. Убедитесь, что вы вошли в Панель управления ONLYOFFICE как администратор, и щелкните вкладку SSO в разделе НАСТРОЙКИ ПОРТАЛА на левой боковой панели.

    примечание

    Вы можете зарегистрировать только одного корпоративного поставщика учетных записей для вашей организации на портале ONLYOFFICE.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  2. Включите SSO с помощью переключателя Включить аутентификацию с помощью технологии единого входа и вставьте ссылку на Shibboleth IdP в поле URL-адрес XML-файла метаданных IdP.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  3. Нажмите кнопку со стрелкой вверх, чтобы загрузить метаданные IdP. Поля формы Настройки поставщика сервиса ONLYOFFICE будут автоматически заполнены данными из Shibboleth IdP.

    Поскольку мы отключили SLO при выполнении скрипта install.sh, указав параметр --no_slo, поле IdP Single Logout Endpoint URL останется пустым.

  4. После загрузки метаданных IdP в разделе IdP Public certificates будет добавлено два сертификата. Вы также увидите всплывающее окно с сообщением: «Несколько сертификатов проверки IdP не поддерживаются. Пожалуйста, оставьте только основной сертификат».

    Удалите второй сертификат в списке и оставьте только первый — это основной сертификат. Используйте ссылку Удалить рядом со вторым сертификатом, чтобы удалить его. Если не удалить этот сертификат, настройки не удастся сохранить.

  5. В поле Пользовательская надпись для кнопки входа вы можете ввести любой текст вместо стандартного (Single Sign-on). Этот текст будет отображаться на кнопке для входа с помощью сервиса единого входа на странице аутентификации ONLYOFFICE.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  6. Теперь необходимо сгенерировать самоподписанные сертификаты или добавить любые другие в разделе Сертификаты поставщика сервиса.

    Важно

    В списке Использовать для выберите опцию signing and encrypt, так как Shibboleth IdP автоматически настроен скриптом install.sh на проверку цифровой подписи и шифрование данных.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

    Должно получиться примерно так:

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  7. В разделе Сопоставление атрибутов укажите соответствие полей модуля Люди ONLYOFFICE атрибутам пользователя, которые будут возвращаться из Shibboleth IdP.

    ПолеАтрибут
    First Nameurn:oid:2.5.4.42
    Last Nameurn:oid:2.5.4.4
    Emailurn:oid:0.9.2342.19200300.100.1.3
    Locationurn:oid:2.5.4.7
    Titleurn:oid:2.5.4.12
    Phoneurn:oid:0.9.2342.19200300.100.1.41

    Как настроить Shibboleth IdP и ONLYOFFICE SP

    В разделе Дополнительные параметры можно включить опцию Скрыть страницу аутентификации, чтобы скрыть страницу аутентификации по умолчанию и автоматически перенаправлять на сервис SSO.

    Важно

    Если вам необходимо восстановить страницу аутентификации по умолчанию (чтобы иметь доступ к порталу, если ваш сервер IdP выйдет из строя), добавьте ключ /Auth.aspx?skipssoredirect=true после доменного имени портала в адресной строке браузера.

  8. Нажмите кнопку Сохранить.

  9. Должен открыться раздел Метаданные поставщика сервиса ONLYOFFICE.

  10. Проверьте, что настройки доступны публично, нажав кнопку Скачать XML-файл метаданных поставщика сервиса. Должно отобразиться содержимое XML-файла.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

    Обычно этот XML-файл используется для настройки Shibboleth IdP, но поскольку скрипт install.sh включает DynamicHTTPMetadataProvider, этот шаг не обязателен (Shibboleth IdP сам скачает этот xml-файл при первом запросе на вход).

Проверка работы ONLYOFFICE SP и Shibboleth IdP​

Скрипт install.sh создает четырех тестовых пользователей, под которыми можно проверить работу ONLYOFFICE SP и Shibboleth IdP.

EmailИмя пользователяПарольКомментарий
student1@{your_idp_domain}student1passwordЭталонный
student2@{your_idp_domain}student2passwordБез givenName
student3@{your_idp_domain}student3passwordС умлаутами
staff1@{your_idp_domain}staff1passwordТолько обязательные поля

Вход в ONLYOFFICE на стороне SP​

  1. Перейдите на страницу аутентификации ONLYOFFICE (например, https://myportal-address.com/Auth.aspx).

  2. Нажмите кнопку Single sign-on (надпись на кнопке может отличаться, если вы указали свой вариант при настройке ONLYOFFICE SP). Если этой кнопки нет, значит, SSO не включен.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  3. Если все параметры SP и IdP настроены верно, вы будете перенаправлены на форму входа Shibboleth IdP:

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  4. Введите имя пользователя и пароль учетной записи Shibboleth IdP (username: student1, password: password) и установите флажок Don't Remember Login.

  5. Если учетные данные указаны правильно, откроется новое окно. Разрешите передачу данных, нажав кнопку Accept.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

  6. Если учетные данные указаны правильно, вы будете перенаправлены на главную страницу портала. Учетная запись пользователя будет создана автоматически, если ее еще нет, или обновлена, если данные были изменены в IdP.

    Как настроить Shibboleth IdP и ONLYOFFICE SP

Профили пользователей, добавленных с помощью SSO-аутентификации​

Возможность редактирования профилей пользователей, созданных с помощью SSO-аутентификации, ограничена. Поля профиля пользователя, полученные из IdP, заблокированы для редактирования (а именно: Имя, Фамилия, Email, Должность и Местоположение). Эти поля можно отредактировать только из вашей учетной записи в IdP.

На следующем изображении показано меню «Действия» для пользователя SSO:

Как настроить Shibboleth IdP и ONLYOFFICE SP

На следующем изображении показан профиль пользователя SSO, открытый на редактирование:

Как настроить Shibboleth IdP и ONLYOFFICE SP

Пользователи, созданные с помощью SSO-аутентификации, отмечены в списке пользователей значком SSO для администраторов портала:

Как настроить Shibboleth IdP и ONLYOFFICE SP

Чтобы выйти из Shibboleth IdP (если при входе не был установлен флажок Don't Remember Login), перейдите по ссылке следующего вида: https://{shibboleth-idp-domain}/idp/profile/Logout