Продукты Р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 поддерживает поток атрибутов givenNamesntitlelocalitymobile и mail корпоративной учетной записи от корпоративного поставщика учетных записей. Когда пользователь осуществляет вход с использованием корпоративной учетной записи, и Р7 Офис SP получает атрибуты с именами givenNamesn и 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-адрес конечной точки единого входа IdPURL-адрес конечной точки единого выхода 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:

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

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

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

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

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