1. Синхронизация Keycloak (IdP) и Корпоративного сервера 2024 (SP)
1.1. Подготовка Keycloak (IdP)
- В интерфейсе Keycloak (IdP) под учётной записью администратора создайте Realm и задайте ему имя. Не используйте Realm «master»: он предназначен для управления другими Realm:

- Откройте настройки нашего Realm и вкладку профиля пользователя, где можно редактировать и создавать необходимые атрибуты:

1.2. Настройка Корпоративного сервера 2024 (SP)
1.2.1. Настройка SSO-аутентификации
В веб-интерфейсе Keycloak (IdP) ➜ Realm settings получите ссылку на метаданные IdP для настройки связи с Корпоративным сервером 2024:

- Проверьте, что ссылка на файл метаданных Keycloak (IdP) доступна публично:
https://{keycloak-domain}/realms/{realm-name}/protocol/saml/descriptor
Перейдите в модуль «Р7-Управление» ➜ «Общие настройки» ➜ «Настройки SSO»:

- Заполните параметры раздела «Настройки SSO»:
Где:
- Metadata IdP (URL) — укажите ссылку на конфигурацию IdP-сервера (раздел 1.2.1);
- Issuer (SP Entity ID) — отредактируйте ссылку на метаданные SP-сервера по следующей схеме:
https://{r7disk-domain}/saml2/Metadata; - Файл сертификата — добавьте
.pfx-сертификат для подписи сообщений; - Пароль сертификата — укажите пароль к
.pfx-сертификату.
Уточнение
При загрузке нового сертификата пароль обязателен. Для существующего сертификата пароль необязателен (сохранится старый). Если указать новый пароль — пароль сертификата будет обновлён.
- Нажмите кнопку Сохранить.
1.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
1.2.3. Изменение конфигурации Nginx
- Откройте файл
/etc/nginx/sites-enabled/cddisk
nano /etc/nginx/sites-enabled/cddisk
# Вносим изменения в блок saml2
location /saml2 {
client_body_buffer_size 64k;
client_max_body_size 64k;
proxy_buffers 8 16k;
proxy_buffer_size 16k;
proxy_pass http://localhost:38034/saml2;
}- Перезапустите службу командой:
systemctl restart nginx
2. Настройка Keycloak IdP
- Создайте клиента в ранее созданном Realm:

- В поле Client ID укажите значение Issuer со своими доменом и протоколом. Далее приведён пример заполнения полей.
Важно
Не забывайте сохранять внесённые изменения на каждой вкладке.
- Вкладка Settings:



- Вкладка Keys:

- Вкладка Client Scopes:

- Создайте новые мапперы:

- Выберите User Attribute и заполните параметры:

- Аналогично создайте новый маппер для «mail»:

- Аналогично создайте мапперы для остальных атрибутов:






- Вкладка Advanced:


3. Синхронизация Keycloak (IdP) + ALD Pro LDAP
- Настройка синхронизации пользователей из ALD Pro в Keycloak (IdP);
- В интерфейсе Keycloak (IdP) создайте нового LDAP-провайдера:

- Заполните поля, как на скриншоте. В поле Connection URL укажите адрес вашего домен-контроллера и нажмите кнопку Test connection:

- Если соединение успешно установлено, укажите каталог с учётной записью администратора домена и пароль, после чего нажмите кнопку Test authentication:

- Заполните параметры поиска пользователей: в качестве каталога пользователей укажите подразделение из вашего домена. В поле User LDAP filter можно настроить необходимый фильтр:

- Установите период и частоту синхронизации в секундах. В поле Batch size укажите размер одной транзакции (при большом количестве пользователей). Остальные параметры актуальны при использовании протоколов безопасности соединения. Настройте их по необходимости либо оставьте значения по умолчанию:

- Далее перейдите в нашу федерацию и настройте на вкладке Mappers соответствия атрибутов Keycloak (IdP) и ALD Pro;
- Либо удалите ненужные.

- Настройка маппера для атрибута givenName (из списка User Model Attribute выберите соответствующий атрибут):

- При необходимости можно создать новые соответствия для передачи данных из ALD Pro в Keycloak (IdP), например атрибут должности title (в LDAP он также называется
title, укажите его в поле LDAP Attribute):

- Выполните аналогичные действия для других необходимых вам атрибутов.
4. Проверка работы Р7-Диск SP и Keycloak IdP + ALD Pro LDAP
- Вход в Р7-Диск на стороне SP:
- Перейдите на страницу аутентификации Р7-Диск (например,
https://cddisk.example.com); - Нажмите на кнопку Войти через ССО (если эта кнопка отсутствует, значит, SSO не включён):
- Перейдите на страницу аутентификации Р7-Диск (например,

- Если всё настроено верно в SP и IdP, вы будете перенаправлены на форму входа в Keycloak IdP.
- Введите логин и пароль учётной записи ALD Pro и нажмите кнопку Sign In:

- Если авторизация в Keycloak в этом браузере уже выполнена, откроется портал.
Важно
Если авторизация была произведена ранее в другом браузере, то при входе вновь откроется окно авторизации Keycloak.













