Вход в систему SSO/SAML
В Valispace мы можем войти в систему с помощью Single Sign-On(SSO), используя язык разметки утверждений безопасности версии 2 (SAML v2). Если у вас есть провайдер идентификации (IdP), совместимый с SAML v2, вы можете подключить его к вашему экземпляру Valispace, и пользователи смогут входить в систему с помощью своих существующих учетных записей.
Вход в систему SSO
Настройка SSO для Valispace Application имеет свои особенности в зависимости от типа развертывания.
01. Конфигурация на стороне сервера:
После обновления настроек SSO их можно настроить. Приведенные ниже настройки не требуют
перезапуска приложения.
-
AUTH_SSO_SP_ENTITY_ID
Замените стандартный http://127.0.0.1:8000/rest/auth/sso/metadata/ на URL развертывания, например: https:// -
AUTH_SSO_SP_ACS
Замените URL на фактический, например: https:// -
AUTH_SSO_SP_SLS
Замените URL на фактический, например https:// -
AUTH_SSO_X509CERT
Этот параметр можно оставить пустым как необязательный. В случае, если требуется использование x509-сертификатов, помощь по включению этой функции можно найти в Altium Support. -
AUTH_SSO_IDP_XML
Метаданные IdP XML, которые соединяют обе стороны. Будет объяснено далее. -
AUTH_SSO_NAMEID_FORMAT
IdP поддерживают различные форматы nameId. В разделе 'Authentication SSO Attributes' на странице конфигурации у вас есть возможность определить конкретные имена, которые ваш провайдер идентификации (IdP) использует для различных полей. Ниже мы приводим пример того, как можно назвать эти свойства:-
AUTH_SSO_EMAIL_ATTRIBUTE mail -
AUTH_SSO_USERNAME_ATTRIBUTE uid -
AUTH_SSO_FIRST_NAME_ATTRIBUTE givenName -
AUTH_SSO_LAST_NAME_ATTRIBUTE sn
Note: Эти имена должны быть задокументированы вашим IdP, но если вы столкнулись с 500 ошибками после настройки IdP и SP, полезно использовать следующий инструментSAML-tracer . Это дополнение для Chrome или Firefox, которое отображает информацию и имена полей, которые ваш IdP отправляет в Valispace для их корректного сопоставления. -
Когда Azure настроен на передачу 'nameId' в формате 'emailAddress', он не передается как атрибут. Функция Claim в Azure имеет атрибут, известный как 'namespace'. Это 'namespace' следует либо оставить пустым (по умолчанию он не пустой), либо сопоставить в настройках администратора Valispace.
Например, в случае с Microsoft Azure "пространство имен" в утверждениях должно быть пустым. Или же он должен соответствовать тому же атрибуту в настройках администратора Valispace.

Изначально, если это возможно, установите для элемента NameIDPolicy в AuthnRequest в Azure значение 'persistent'. После выполнения этого шага настройте соответствующий параметр Valispace (
Это гарантирует, что каждый пользователь получит уникальный токен, который установит связь между Azure и Valispace. Этот метод имеет приоритет перед изменениями адресов электронной почты.
Далее пересмотрите следующие настройки в Valispace, чтобы они соответствовали приведенной ниже конфигурации:
Эти настройки основаны на предположении, что адрес электронной почты будет служить в качестве "имени пользователя".
02. Настройка и проверка IdP:
Это полностью зависит от конкретного IdP, используемого при настройке. В этом документе приведены ссылки на наиболее распространенную документацию по конкретным IdP, как показано ниже:
-
Azure AD SAML Azure/active-directory-setup-sso
-
Auth0 Auth0 configure-auth0-saml-identity-provider
-
Keycloak https://www.keycloak.org/docs/latest/server_admin/#_saml
При добавлении нового приложения/конфигурации в ваш IdP он обычно запрашивает следующую информацию о приложении, которое вы хотите добавить:
-
ENTITY_ID
https://
-
ACS (Assertion Consumer Service)
https://
-
SLS (Single Logout Service)
https://
Это также позволяет настроить, какие пользовательские поля будут отправляться в настроенное приложение, и их названия, которые затем можно добавить в раздел Authentication SSO Attributes в конфигурации администратора, как указано в предыдущем разделе.
Теперь, когда IdP настроен, нам нужно связать наш SP с IdP. Для этого нам нужно получить файл в формате XML, содержащий информацию о подключении к IdP. Это зависит от конкретного IdP, но получить его можно двумя способами.
-
Непосредственно от IdP в формате XML
-
IdP показывает информацию о подключении, но не в формате XML. В этом случае рекомендуется обратиться к сайту https://www.samltool.com/idp_metadata.php, который автоматически создаст метаданные на основе предоставленной информации.
Получив XML-файл, скопируйте все его содержимое и вставьте в поле:
После каждого выполненного шага на странице входа в систему Valispace должна отображаться кнопка SSO Login, перенаправляющая на экран входа в систему нового настроенного IdP и позволяющая войти в систему.
Только вход по SSO
После включения функции единого входа (SSO) пользователи могут входить в систему, используя либо SSO, либо свое имя пользователя и пароль. Если вы хотите запретить пользователям входить в систему, используя свое имя пользователя и пароль, вы можете сделать это, установив флаг в панели администратора. Этот флаг скрывает опцию "Имя пользователя и пароль" на странице входа. Чтобы активировать эту функцию, администратор должен войти в панель администратора, перейти в раздел "Константы", а затем в раздел "Конфигурация" Оттуда администратор может снять флажок с опции "AUTH_USERNAME_PASSWORD"

Посмотрите этот демонстрационный ролик, чтобы узнать, как это сделать быстро и легко.