SSO-авторизация
С помощью функционала внешней авторизации вы можете использовать различные внешние сервисы для авторизации ваших пользователей в системе EnDocs.
Вводная часть
SSO (Single Sign-On) — это технология единого входа, которая позволяет пользователю пройти аутентификацию один раз и получить доступ ко всем разрешённым связанным сервисам без повторного ввода логина и пароля.
Авторизация с помощью Entra ID
Для использования облачной службы Microsoft Entra ID:
- Перейдите на портал Azure.
- В разделе Службы Azure выберите Microsoft Entra ID.
- На панели слева выберите Корпоративные приложения.
- Нажмите Новое приложение.
- На странице Обзор коллекции Microsoft Entra нажмите Создайте собственное приложение.
- В открывшемся окне:
1) Введите название приложения (например EnDocs_Entra).
2) Выберите вариант Integrate any other application you don't find in the gallery (Non-gallery).
3) Нажмите кнопку Создать. - На открывшейся странице Обзор на панели слева выберите Единый вход.
- Выберите метод единого входа SAML.
- На странице Вход на основе SAML в разделе 3. Сертификат подписи SAML скачайте сертификат (Base64). С помощью него поставщик удостоверений подписывает сообщение о том, что пользователь прошел аутентификацию.
- В разделе Базовая конфигурация SAML укажите сведения об EnDocs, выступающем в роли поставщика услуг. Для этого в полях Идентификатор (сущности) и URL-адрес ответа (URL-адрес службы обработчика утверждений) укажите ACS URL https://ecm.endocs.cloud/api/Auth/ExternalCallbackSaml
Добавьте пользователей на IdP-сервер:
- Перейдите на страницу Корпоративные приложения.
- Выберите созданное SAML-приложение.
- На панели слева выберите Пользователи и группы.
- Нажмите Добавить пользователя или группу.
- В поле Пользователи нажмите Не выбрано.
- В открывшемся окне отметьте пользователей, которые будут иметь доступ к EnDocs и нажмите кнопку Выбрать.
- Нажмите кнопку Назначить.
Перейдите в сервис EnDocs для подключения внешней авторизации:
- Откройте вкладку «Настройки» и выберите пункт «Безопасность»
- В разделе «Внешняя авторизация» нажмите кнопку «Добавить» и выберите вариант «SAML»
- Введите идентификатор SAML провайдера (аналогично указанному в п 6.1 например EnDocs_Entra)
- В поле Entity ID вставьте ссылку, которая указана в поле Идентификатор Microsoft Entra на странице Вход на основе SAML в Entra ID. Формат ссылки: https://sts.windows.net/<идентификатор_SAML-приложения>/
- В поле SSO URL вставьте ссылку, которая указана в поле URL-адрес входа на странице Вход на основе SAML в Entra ID. Формат ссылки: https://login.microsoftonline.com/<идентификатор_SAML-приложения>/saml2
- В поле «Сертификат» вставьте текст содержимого сертификата
- Нажмите кнопку «Сохранить»
Авторизация с помощью Keycloak
Для использования сервиса авторизации KeyCloack:
- Войдите в аккаунт администратора Keycloak
- В разделе Realm Settings выберите вкладку Keys.
- В строке RS256 нажмите Certificate и скопируйте значение сертификата.
- Сохраните сертификат в текстовом файле в следующем формате:
-----BEGIN CERTIFICATE-----
<значение_сертификата>
-----END CERTIFICATE-----
- На панели слева выберите Clients. Нажмите кнопку Create client.
- В поле Client ID укажите ACS URL https://ecm.endocs.cloud/api/Auth/ExternalCallbackSaml
- В поле Client type(Client Protocol) выберите вариант saml.
- Нажмите Save.
Настройте параметры SAML-приложения на вкладке Settings
- Укажите ACS URL для перенаправления в полях:
• Home URL;
• Valid Redirect URIs;
• IDP Initiated SSO Relay State - В поле Signature Algorithm выберите RSA_SHA256.
- В поле SAML Signature Key Name выберите CERT_SUBJECT.
- В качестве Name ID Format выберите подходящий вариант из списка. Чтобы выбранный вариант передавался вне зависимости от настроек EnDocs, включите опцию Force Name ID format.
- Нажмите кнопку Save.
Перейдите в сервис EnDocs для подключения внешней авторизации:
- Откройте вкладку «Настройки» и выберите пункт «Безопасность»
- В разделе «Внешняя авторизация» нажмите кнопку «Добавить» и выберите вариант «SAML»
- Введите идентификатор SAML провайдера (например EnDocs_Keycloack)
- В поле Entity ID вставьте ссылку IdP Issuer вашего Keycloack. Формат ссылки: http://<хост>:8080/realms/master
- В поле SSO URL вставьте ссылку URL-адрес входа вашего Keycloack. Формат ссылки: http://<хост>:8080/realms/master/protocol/saml
- В поле «Сертификат» вставьте текст содержимого сертификата
- Нажмите кнопку «Сохранить»
После настройки внешней авторизации ваши пользователи на странице входа EnDocs должны будут пользоваться пунктом «Внешняя авторизация». После ввода email, они будут перенаправлены на страницу внешней системы и после успешной авторизации в ней будут залогинены в EnDocs.