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

Настройка SSO в связке Р7-Диск SP и AD FS IdP

Обновлено: 15.09.26

Инструкция актуальна для версии продукта: 2026.3.5.17440

Системные требования

Требуется сертификат типа wildcard для Корпоративного сервера 2024 приобретённый в центре сертификации (например, Let’s Encrypt, GlobalSign и др.).

1. Подготовка AD FS для настройки SSO

1.1. Проверьте, что ссылка на файл метаданных AD FS доступна публично.

Для этого:

  • В консоли Диспетчер сервера откройте Tools (Инструменты) -> AD FS Management (Управление AD FS),
  • Перейдите в AD FS \ Service \ Endpoints (AD FS \ Служба \ Конечные точки),
  • Найдите в таблице строку с типом Federation Metadata (Метаданные федерации). Ссылка на файл метаданных IdP формируется по следующей схеме:

https://{adfs-domain}/{path-to-FederationMetadata.xml}

Раздел Endpoints в AD FS Management со строкой Federation Metadata
  • Можно также воспользоваться следующей командой PowerShell:
(Get-ADFSEndpoint | Where {$_.Protocol -eq "FederationMetadata" -or $_.Protocol -eq "Federation Metadata"}).FullUrl.ToString()
  • В результате вы должны получить ссылку следующего вида:

https://testad.devr7.ru/FederationMetadata/2007-06/FederationMetadata.xml

  • Для проверки, что AD FS стартовал корректно, перейдите в браузере по ссылке, полученной ранее. Должна скачаться/отобразится xml. Скопируйте ссылку на xml-файл метаданных: она потребуется на следующем шаге.

1.2. Проверьте/включите проверку подлинности с помощью форм

  • Для работы SSO из интранета потребуется включить опцию Forms Authentication (Проверка подлинности с помощью форм) в окне Edit Global Authentication Policy (Изменить глобальную политику проверки подлинности), вызываемом через контекстное меню AD FS / Authentication Policies (AD FS / Политики проверки подлинности),
Окно Edit Global Authentication Policy с опцией Forms Authentication

1.3. Включение поддержки протокола TLS 1.2

1.3.1. Для того чтобы добавить AD FS в IdP в Microsoft Active Directory Federation Service на сервере Microsoft Windows Server 2019 или ниже необходимо включить поддержку протокола TLS 1.2

  • Запустите Windows PowerShell с параметром «Запуск от имени администратора».
  • Выполните следующие команды, чтобы включить TLS2 на клиенте ADFS:
New-Item ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client’ -Force
New-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client’ -name ‘Enabled’ -value ‘1’ –PropertyType ‘DWORD’
New-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client’ -name ‘DisabledByDefault’ -value ‘0’ –PropertyType ‘DWORD’

1.3.2. Затем выполните следующую команду, чтобы включить строгую аутентификацию:

New-ItemProperty -path ‘HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319’ -name ‘SchUseStrongCrypto’ -value ‘1’ -PropertyType ‘DWord’

1.3.3. (Опционально) Выполните следующие команды, чтобы отключить SSL0 на клиенте ADFS:

New-Item ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client’ -Force | Out-Null
New-ItemProperty -path ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\ Protocols\SSL 3.0\Client’ -name ‘Enabled’ -value ‘0’ -PropertyType ‘DWord’ -Force | Out-Null
New-ItemProperty -path ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\ Protocols\SSL 3.0\Client’ -name ‘DisabledByDefault’ -value 1 -PropertyType ‘DWord’ -Force | Out-Null
  • Закройте все окна управления сервером ADFS.

2. Настройка Корпоративный сервер 2024 (SP)

2.1. Настраиваем SSO аутентификацию

Переходим в модуль Р7-УправлениеОбщие настройкиНастройки SSO

Раздел «Настройки SSO» в модуле Р7-Управление
  • И редактируем поля Настройки SSO:

Где:

  • Metadata IdP (URL) — указываем ссылку на конфигурацию IdP сервера (шаг 1.1);
  • Issuer (SP Entity ID) — редактируем ссылку на метаданные SP сервера по следующей схеме: https://{r7disk-domain}/saml2/Metadata;
  • Файл сертификата — добавляем .pfx сертификат для подписи сообщений;
  • Пароль сертификата — указываем пароль на .pfx сертификат (При загрузке нового сертификата пароль обязателен. Для существующего сертификата пароль необязателен (сохранится старый). Если указать новый пароль — он обновится.).

Нажимаем Сохранить.

2.2. Включаем SSO аутентификацию

  • Открываем файл /opt/r7-office/Api/appsettings.json
nano /opt/r7-office/Api/appsettings.json
# Меняем значение «esiaType»:
# Если параметр «esiaType» отсутствует, то вы можете добавить его самостоятельно:
  "esiaType": "saml2",
  "rabbitMq": {
    "host": "localhost",
    "username": "guest",
    "password": "guest",
    "timeout": 10
  },
  • Перезапускаем службы командой:
supervisorctl restart all

3. Настройка AD FS IdP

3.1. Добавляем отношение доверия проверяющей стороны

  • В консоли Диспетчер сервера откройте Tools (Инструменты) -> AD FS Management (Управление AD FS);

    Консоль AD FS Management
  • В панели управления AD FS выберите Relying Party Trusts (Отношения доверия проверяющей стороны). Выберите команду Add Relying Party Trust… (Добавить отношение доверия проверяющей стороны…) справа:
    • Откроется Мастер добавления отношений доверия проверяющей стороны;

      Мастер добавления отношений доверия проверяющей стороны
  • В окне мастера выберите переключатель Import data about the relying party published online or on a local network (Импорт данных о проверяющей стороне, опубликованных в Интернете или локальной сети), вставьте отредактированную ранее ссылку на файл метаданных Р7-Диск SP (шаг 2.2) в поле Federation metadata address (host name or URL) (Адрес метаданных федерации (имя узла или URL-адрес)) и нажмите кнопку Next (Далее);

    Импорт данных о проверяющей стороне по ссылке на метаданные SP
  • В поле Display name (Отображаемое имя) укажите любое имя и нажмите кнопку Next (Далее);

    Указание отображаемого имени проверяющей стороны
  • Выберите опцию I do not want to configure multi-factor authentication settings for this relying party trust at this time (Сейчас не настраивать параметры для этого отношения доверия с проверяющей стороной) и нажмите кнопку Next (Далее);
  • Выберите опцию Permit all users to access this relying party (Разрешить доступ к этой проверяющей стороне всем пользователям) и нажмите кнопку Next (Далее);

    Настройка политики доступа для проверяющей стороны
  • Проверьте полученные настройки и нажмите кнопку Next (Далее);

    Итоговый экран проверки настроек
  • Оставьте опцию, выбранную по умолчанию, без изменений и нажмите кнопку Close (Закрыть).

    Завершающий экран мастера с опцией по умолчанию

3.2. Добавляем правила преобразования выдачи

  • Откроется новое окно. На вкладке Issuance Transform Rules (Правила преобразования выдачи) нажмите кнопку Add Rule… (Добавить правило…),

    Вкладка Issuance Transform Rules

3.2.1. Добавляем отправку атрибутов LDAP как утверждений

  • Выберите опцию Send LDAP Attributes as Claims (Отправка атрибутов LDAP как утверждений) из списка Claim rule template (Шаблон правила утверждения) и нажмите кнопку Next (Далее);

    Выбор шаблона Send LDAP Attributes as Claims
  • Напишите любое имя в поле Claim rule name (Имя правила утверждения). Выберите опцию Active Directory из списка Attribute store (Хранилище атрибутов) и заполните форму Mapping of LDAP attributes to outgoing claim types (Сопоставление атрибутов LDAP типам исходящих утверждений) согласно приведенной ниже таблице. Когда все будет готово, нажмите кнопку Finish (Завершить).

    Сопоставление атрибутов LDAP типам исходящих утверждений

Где:

LDAP ATTRIBUTE

(АТРИБУТ LDAP)

OUTGOING CLAIM TYPE

(ТИП ИСХОДЯЩЕГО УТВЕРЖДЕНИЯ)

Given-NamegivenName[0]
Surnamesn
E-Mail-Addressesmail

3.2.2. Добавляем преобразование входящего утверждения

  • В окне Edit Claim Rules (Изменить правила утверждений) снова нажимите кнопку Add Rule… (Добавить правило…), выберите опцию Transform an Incoming Claim (Преобразование входящего утверждения) из списка Claim rule template (Шаблон правила утверждения) и нажмите кнопку Next (Далее);

    Выбор шаблона Transform an Incoming Claim
  • Напишите любое имя в поле Claim rule name (Имя правила утверждения) и выберите следующие параметры из списков:

    Настройка преобразования входящего утверждения

Где:

  • Incoming claim type (Тип входящего утверждения): mail,
  • Outgoing claim type (Тип исходящего утверждения): Name ID,
  • Outgoing name ID format (Формат ИД исходящего имени): Email

Когда все будет готово, нажмите кнопку Finish (Завершить).

3.2.3. Добавляем настраиваемое правило утверждения

  • Для корректной работы logout из AD FS, необходимо добавить Custom Claim Rule (настраиваемое правило утверждения), где {r7disk-domain} нужно заменить на домен своего SP, а {adfs-domain} заменить на домен IdP:
c:[Type == "mail"]
 => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://{adfs-domain}/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "https://{r7disk-domain}/saml2/Metadata");
  • Нажмите кнопку OK:

    Окно ввода настраиваемого правила утверждения

3.2.4. Проверяем вкладку правила преобразования выдачи

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

    Итоговый список правил преобразования выдачи

4. Проверка работы Р7-Диск SP и AD FS IdP

  • Вход в Р7-Диск на стороне SP
    • Перейдите на страницу аутентификации Р7-Диск (например, https://cddisk-ldp.devr7.ru).
    • Нажмите на кнопку «Войти через ССО». Если этой кнопки нет, то SSO не включен.

      Кнопка «Войти через ССО» на странице аутентификации Р7-Диск
  • Если всё настроено верно в SP и IdP, мы будем перенаправлены на форму логина в AD FS IdP.
    • Введите логин и пароль учетной записи в AD FS IdP и нажмите кнопку «Вход».

      Форма входа в AD FS IdP
  • Если учетные данные указаны правильно, мы будем перенаправлены на страницу модуля Р7-Диск (если такого пользователя нет на портале, он будет создан автоматически, а если данные были изменены в IdP, они будут обновлены).

    Страница модуля Р7-Диск после успешного входа
Важно

При внесении каких-либо изменений в разделе «Relying Party Trusts» в AD FS обходимо выполнять обновление этих данных нажатием на «Update from Federation Metadata»

Обновление данных через «Update from Federation Metadata»

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

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

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