Технология единого входа (SSO, Single Sign-On) позволяет пользователю получить доступ ĸ конференциям, используя корпоративные логин и пароль.
Поскольку DION использует язык разметки утверждений безопасности SAML 2.0, можно использовать SSO с любым поставщиком идентификации, поддерживающим SAML 2.0.
Для работы SSO требуется сетевое взаимодействие между провайдером аутентификации и сервером (балансировщиком) DION.
https://api-clients-dion.yourdomain.com/v1/auth/sso/saml
, порт 443.При формирования SAML-запроса для подписи необходим ключ в формате RSA. Другие форматы не поддерживаются. Проверить ключ можно командой:
openssl rsa -in on\_dion/files/dion.yourdomain.com/certs/ad/sso.key -check
Используйте следущие параметры для IDP:
Сертификат подписи и шифрования | Необходимо использовать сертификат, который лежит на установочном сервере по адресу: /home/dion/on_dion/files/<имя_домена>/certs/ad/ |
Relying party identifiers | https://api-clients-dion.yourdomain.com/v1/auth/sso/saml |
SAML Assertion Consumer (POST) | https://api-clients-dion.yourdomain.com/v1/auth/sso/saml |
Logout URL (POST) | https://api-clients-dion.yourdomain.com/v1/auth/sso/saml |
Произведите настройку провайдера аутентификации в административной панели Dion:
Перейдите в раздел Организации -> <Ваш домен> -> Общие настройки -> Провайдеры аутентификации -> Добавить провайдер -> Вход по SSO.
В настройках провайдера укажите параметры вашего сервиса, например:
Если требуется обновлять данные пользователя (Имя, Фамилия) при каждом входе через SSO, необходимо выключить редактирование учетных записей пользователями.
В случае если нет возможности получать метаданные IDP-провайдера (idp_metadata_url) по HTTP-запросу (например, доступ закрыт из соображений безопасности), то можно добавить эти данные в базу DION вручную:
Получите файл с метаданными IDP-провайдера (metadata.xml).
Подключитесь к БД DION (например, используя приложение dbeaver).
Полностью скопируйте содержимое файла metadata.xml в БД backend, схему api_clients, таблицу adfs_auth_params, в колонку federation_metafile в строку, соответствующую IdP-провайдеру (если провайдеров несколько).