Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
ВКС и мессенджер
ВКС и мессенджер
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Аналитика
Аналитика
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Настройка Shibboleth v2.x-3.x IdP и Р7 Офис SP

Обновлено: 19.12.25

Введение

Вы можете настроить Shibboleth 2.x-3.x в качестве поставщика учетных записей (IDP) для корпоративных учетных записей в Р7 Офис. Процесс настройки состоит из двух основных шагов: регистрации вашего поставщика учетных записей в разделе SSO Панели управления Р7 Офис и регистрации Р7 Офис SP в поставщике учетных записей Shibboleth.

Р7 Офис SP поддерживает поток атрибутов givenName, sn, title, locality, mobile и mail корпоративной учетной записи от корпоративного поставщика учетных записей. Когда пользователь осуществляет вход с использованием корпоративной учетной записи, и Р7 Офис SP получает атрибуты с именами givenName, sn и mail (обязательные атрибуты), Р7 Офис SP заполняет полное имя и адрес электронной почты для учетной записи пользователя значениями, полученными от поставщика учетных записей.

Регистрация Shibboleth в качестве корпоративного поставщика учетных записей в Р7 Офис SP

  1. Убедитесь, что вы зашли в качестве администратора вашей организации в Панель управления Р7 Офис, и щелкните вкладку SSO;
    Важно

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

  2. Включите SSO, используя переключатель Включить аутентификацию с помощью технологии единого входа;
  3. Введите метаданные для поставщика учетных записей, используя один из трех приведенных ниже вариантов:
    • По ссылке (Загрузить данные) – если метаданные Shibboleth IdP доступны извне по ссылке (например, https://{shibboleth-idp-domain}/idp/shibboleth), вставьте ссылку в поле URL-адрес XML-файла метаданных IdP и нажмите кнопку со стрелкой вверх. После этого все настройки отобразятся в расширенной форме;
    • Файл (ВЫБРАТЬ ФАЙЛ) – по умолчанию Shibboleth предоставляет файл метаданных IdP в SHIBBOLETH_HOME/metadata. Если файл метаданных доступен, загрузите его, используя кнопку ВЫБРАТЬ ФАЙЛ и указав файл SHIBBOLETH_HOME/metadata/idp-metadata.xml с локальной машины. После этого все настройки отобразятся в расширенной форме;
    • Параметры – если файл с метаданными недоступен, вручную введите значения и укажите запрашиваемые параметры: Идентификатор сущности поставщика учетных записей, URL-адрес конечной точки единого входа IdP, URL-адрес конечной точки единого выхода IdP, сертификаты для подписи и прочее. Для получения этих значений обратитесь к администратору Shibboleth.
  4. В поле Пользовательская надпись для кнопки входа вы можете ввести любой текст вместо стандартного «Single Sign-on«. Этот текст будет отображаться на кнопке для входа с помощью сервиса Single Sign-on на странице аутентификации портала Р7 Офис;
  5. Если ваш Shibboleth IdP требует, чтобы входящие данные были подписаны и/или зашифрованы, то необходимо создать/добавить сертификаты для этого в разделе Сертификаты поставщика сервиса. В расширенных настройках также можно указать, какие запросы стоит подписывать, нужно ли расшифровывать данные, выбрать соответствующие алгоритмы подписи и расшифровки;
  6. В разделе Сопоставление атрибутов укажите соответствие полей модуля «Люди» Р7 Офис атрибутам пользователя, которые будут возвращаться из Shibboleth IdP;
  7. Нажмите кнопку СОХРАНИТЬ;
  8. Должен открыться раздел Метаданные поставщика сервиса Р7 Офис;
  9. Проверьте, что настройки доступны публично, кликнув по кнопке СКАЧАТЬ XML-ФАЙЛ МЕТАДАННЫХ ПОСТАВЩИКА СЕРВИСА. Должно отобразиться содержимое XML-файла.

Регистрация Р7 Офис в качестве проверенного поставщика сервиса в Shibboleth IdP

  1. Настройте Р7 Офис SP в качестве проверяющей стороны в Shibboleth:
    1. Получите файл метаданных вашего портала Р7 Офис и сохраните его как XML-файл. Для получения файла метаданных войдите в Панель управления Р7 Офис в качестве администратора и щелкните вкладку SSO. Нажмите на кнопку СКАЧАТЬ XML-ФАЙЛ МЕТАДАННЫХ ПОСТАВЩИКА СЕРВИСА и сохраните данные как файл sp-R7-OFFICE.xml;
    2. Добавьте Р7 Офис в качестве проверенного поставщика сервисов в Shibboleth посредством задания нового элемента MetadataProvider в файле SHIBBOLETH_HOME/conf/metadata-providers.xml. Для этого добавьте приведенный ниже фрагмент кода в корневой элемент MetadataProvider. Предоставьте путь к XML-файлу метаданных вашей организации (сохраненному на предыдущем шаге a):<MetadataProvider id="R7-OFFICESP"  xsi:type="FilesystemMetadataProvider" metadataFile="<PATH_TO_THE_SAVED_METADATA>/metadata/sp-R7-OFFICE.xml"/>
  2. Настройте атрибуты пользователя, которые будут возвращаться из Shibboleth IdP:
    1. Отредактируйте файл SHIBBOLETH_HOME/conf/attribute-resolver.xml. Закомментируйте или удалите все существующие определения атрибутов и коннекторов данных;
    2. Добавьте следующую запись атрибутов в раздел resolver:AttributeResolver:
    <resolver:AttributeResolver
    xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
    xmlns:pc="urn:mace:shibboleth:2.0:resolver:pc"
    xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad"
    xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
    xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder"
    xmlns:sec="urn:mace:shibboleth:2.0:security"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
    urn:mace:shibboleth:2.0:resolver:pc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-pc.xsd
    urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
    urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
    urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
    urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
    <!-- ========================================== -->
    <!--   Attribute Definitions -->
    <!-- ========================================== -->
    <!-- Schema: Core schema attributes-->
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail" encodeType="false" />
    </resolver:AttributeDefinition>
    <resolver:AttributeDefinition xsi:type="ad:Simple" id="mobileNumber" sourceAttributeID="mobile">
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mobile" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.41" friendlyName="mobile" encodeType="false" />
    </resolver:AttributeDefinition>
    <resolver:AttributeDefinition xsi:type="ad:Simple" id="surname" sourceAttributeID="sn">
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:sn" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.4" friendlyName="sn" encodeType="false" />
    </resolver:AttributeDefinition>
    <resolver:AttributeDefinition xsi:type="ad:Simple" id="locality" sourceAttributeID="l">
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:l" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.7" friendlyName="l" encodeType="false" />
    </resolver:AttributeDefinition>
    <resolver:AttributeDefinition xsi:type="ad:Simple" id="title" sourceAttributeID="title">
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:title" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.12" friendlyName="title" encodeType="false" />
    </resolver:AttributeDefinition>
    <resolver:AttributeDefinition xsi:type="ad:Simple" id="givenName" sourceAttributeID="givenName">
    <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:givenName" encodeType="false" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.42" friendlyName="givenName" encodeType="false" />
    </resolver:AttributeDefinition>
    </resolver:AttributeResolver>
    1. Настройте атрибуты для включения в поставщик сервиса. Отредактируйте файл SHIBBOLETH_HOME/conf/attribute-filter.xml и добавьте следующее:
    <AttributeFilterPolicyGroup id="ShibbolethFilterPolicy"
    xmlns="urn:mace:shibboleth:2.0:afp"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
    <!-- Release some attributes to an SP. -->
    <AttributeFilterPolicy id="R7-OFFICESP">
    <PolicyRequirementRule xsi:type="OR">
    <Rule xsi:type="Requester" value="https://{portal-domain}/sso/metadata" />
    </PolicyRequirementRule>
    <AttributeRule attributeID="mail">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
    <AttributeRule attributeID="surname">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
    <AttributeRule attributeID="givenName">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
    <AttributeRule attributeID="mobileNumber">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
    <AttributeRule attributeID="title">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>
    <AttributeRule attributeID="locality">
    <PermitValueRule xsi:type="ANY" />
    </AttributeRule>    
    </AttributeFilterPolicy>
    </AttributeFilterPolicyGroup>
    Замените {portal-domain} на доменное имя вашего портала.
  3. Отредактируйте файл SHIBBOLETH_HOME/conf/relying-party.xml:
    1. Скопируйте приведенный ниже XML-код и вставьте его в элементы shibboleth.RelyingPartyOverrides, чтобы перезаписать настройки по умолчанию для Shibboleth IdP:
    <util:list id="shibboleth.RelyingPartyOverrides">
    <bean parent="RelyingPartyByName" c:relyingPartyIds="https://{portal-domain}/sso/metadata">
    <property name="profileConfigurations">
    <list>
       <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
        <bean parent="SAML2.SSO" p:encryptAssertions="true" p:postAuthenticationFlows="attribute-release" />
        <bean parent="SAML2.Logout" />
    </list>
      </property>
    </bean>
    Важно

    Замените {portal-domain} на доменное имя вашего портала.

  4. Перезапустите программный агент (Linux) или службу (Windows) Shibboleth.

Проверка работы Р7 Офис SP и Shibboleth IdP

Вход в Р7 Офис на стороне SP
  1. Перейдите на страницу аутентификации Р7 Офис (например, https://myportal-address.com/auth.aspx);
  2. Нажмите на кнопку Single sign-on (название кнопки может отличаться, если вы указали свой вариант при настройке Р7 Офис SP). Если этой кнопки нет, то SSO не включен;
  3. Если всё настроено верно в SP и IdP, мы будем перенаправлены на форму логина в Shibboleth IdP:

    Настройка Shibboleth v2.x-3.x IdP и Р7 Офис SP

  4. Введите логин и пароль учетной записи в Shibboleth IdP и поставьте галочку Don’t Remember Login;
  5. Если учетные данные указаны правильно, откроется новое окно. Разрешите передачу данных, нажав на кнопку Accept:

    Настройка Shibboleth v2.x-3.x IdP и Р7 Офис SP

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

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

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

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

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое