Вы можете настроить авторизацию пользователей в платформе через SSO. В качестве сервера SSO поддерживаются решения, работающие по протоколу OIDC. Например, Keycloak или AD FS.
В платформе поддерживается авторизация только через один сервер SSO.
Логика работы
Если в платформе настроена авторизация через SSO, то на странице входа в платформу появляется кнопка Войти через SSO. Для авторизации через SSO пользователю нужно:
- Нажать кнопку Войти через SSO. Во вкладке браузера откроется страница авторизации сервера SSO.
- Ввести свои данные для входа в SSO. Во вкладке браузера откроется интерфейс платформы.
В настройках подключения к серверу SSO вы можете включить опцию Управление пользователями и указать каким ролям OIDC какие роли и группы пользователей будут соответствовать. В этом случае, если пользователь авторизуется через SSO, то его роли и группы будут установлены в соответствии с заданными настройками. Если учётной записи с таким e-mail нет в платформе, то она будет создана. Если роль OIDC для пользователя не указана в настройках, то авторизация не будет выполнена.
Для учётных записей, созданных при авторизации через SSO, в таблице пользователей указывается источник — OIDC. Если удалить подключение к серверу SSO, то пользователи с источником OIDC будут заблокированы. Если восстановить подключение, блокировка у этих пользователей будет снята.
Ограничения
Совместное использование SSO и LDAP
Если вы планируете использовать синхронизацию с каталогом LDAP и авторизацию через SSO, то для корректной работы платформы:
- Сначала настройте синхронизацию с каталогом LDAP, а затем авторизацию через SSO.
- Чтобы избежать конфликтов в работе LDAP и SSO, не используйте опцию Управление пользователями в настройках подключения к SSO.
Настройка на стороне SSO
Keycloak
Сохраните URL конфигурации SSO:
- Перейдите в раздел Realm settings.
- В параметре Endpoints скопируйте ссылку OpenID Endpoint Configuration. Обычно ссылка имеет вид
https://example.com/realms/your_realm_name/.well-known/openid-configuration, гдеexample.com— доменное имя или IP-адрес сервера SSO,your_realm_name— название Realm. Это значение нужно будет указать в платформе при подключении авторизации по SSO в поле URL конфигурации SSO.
Создайте нового клиента для подключения:
- Перейдите в раздел Clients → кнопка Create client.
- На шаге General settings:
- В поле Client type выберите OpenID Connect.
- В поле Client ID введите уникальный идентификатор клиента. Это значение нужно будет указать в платформе при подключении авторизации по SSO в поле Client ID.
- В поле Name укажите произвольное имя клиента.
- Нажмите кнопку Next.
- На шаге Capability config:
- Включите опцию Client authentication.
- В параметре Authentication flow оставьте включённой опцию Standard flow — стандартная аутентификация OIDC.
- В параметре PKCE Method оставьте пустое значение — PKCE не используется.
- Нажмите кнопку Next.
- На шаге Login settings:
- В поле Valid redirect URIs укажите адрес вида
https://example.com/auth/sso, гдеexample.com— доменное имя или IP-адрес платформы. На указанный адрес будет выполняться перенаправление после аутентификации пользователя. Это значение (без суффикса/auth/sso) нужно будет указать в платформе при подключении авторизации по SSO в поле Адрес платформы VMmanager. - В поле Web origins укажите адрес вида
https://example.com, гдеexample.com— доменное имя или IP-адрес платформы. - Нажмите кнопку Save.
- В поле Valid redirect URIs укажите адрес вида
- Перейдите на вкладку Credentials:
- В параметре Client Authenticator оставьте значение Client ID and Secret — аутентификация по Client ID и Client secret.
- Сохраните значение из поля Client Secret. Это значение нужно будет указать в платформе при подключении авторизации по SSO в поле Client secret.
- Перейдите на вкладку Advanced:
- В параметре ID token signature algorithm выберите значение RS256 — алгоритм RS256 для подписи токенов.
- В параметрах ID token encryption key management algorithm и ID token encryption content encryption algorithm выберите пустое значение — шифрование токенов отключено.
- Нажмите кнопку Save.
- Перейдите на вкладку Client Scopes и укажите настройки, чтобы ответ сервера содержал данные о группах пользователя:
- Нажмите на запись вида
<Client_id>-dedicated→ кнопка Configure a new mapper → тип Group Membership. - В поле Name введите произвольное имя.
- В поле Token Claim Name введите
member_of - Оставьте включённой опцию Add to ID token.
- Нажмите кнопку Save.
- Нажмите на запись вида
AD FS (Windows Server 2025)
Сохраните URL конфигурации SSO:
- Перейдите в Service → Endpoints.
- В разделе OpenID Connect сохраните значение URL Path для параметра OpenID Connect Discovery. Обычно оно имеет вид
/adfs/.well-known/openid-configurationЭто значение вместе с доменным именем нужно будет указать в платформе при подключении авторизации по SSO в поле URL конфигурации SSO. Например,https://example.com/adfs/.well-known/openid-configurationПри настройке авторизации необходимо указать доменное имя в формате FQDN. Например, https://example.com. Авторизация по IP-адресу сервера не поддерживается.
Создайте новую группу приложений:
- Перейдите в Application Groups → Add Application Group.
- На шаге Welcome:
- В поле Name введите произвольное имя.
- Выберите шаблон Server application accessing a Web API.
- На шаге Server application:
- Укажите новое значение Client Identifier или используйте существующее. Это значение нужно будет указать в платформе при подключении авторизации по SSO в поле Client ID.
- В поле Redirect URI укажите адрес вида
https://example.com/auth/sso, гдеexample.com— доменное имя или IP-адрес платформы, и нажмите кнопку Add. На указанный адрес будет выполняться перенаправление после аутентификации пользователя. Это значение (без суффикса/auth/sso) нужно будет указать в платформе при подключении авторизации по SSO в поле Адрес платформы VMmanager.
- На шаге Configure Application Credentials:
- Включите опцию Generate a shared secret.
- Сохраните значение из поля Secret. Это значение нужно будет указать в платформе при подключении авторизации по SSO в поле Client secret.
- На шаге Configure Web API:
- В поле Identifier введите
vmmanager6 - Нажмите кнопку Add.
- В поле Identifier введите
- На шаге Configure Application Permissions:
- В разделе Permitted scopes включите опцию openid.
Чтобы ответ сервера содержал данные о группах пользователя:
- Откройте настройки группы: выберите группу → Properties.
- В окне Properties выберите Web API → кнопка Edit.
- Перейдите на вкладку Issuance Transform Rules → кнопка Add rule.
- Выберите шаблон Send LDAP Attributes as Claims → кнопка Next.
- В поле Claim rule name введите произвольное имя правила.
- В поле Attribute store выберите Active Directory.
- В столбце LDAP Attribute выберите одно из значений, которое начинается с
Token-Groups. От этого зависит, в каком формате нужно будет указать Роль OIDC при подключении авторизации по SSO в платформе:- Token-Groups as SIDs — SID группы. Например,
S-1-5-21-123456789-123456; - Token-Groups - Qualified by Domain Name — доменное имя в формате NetBIOS и имя группы. Например,
DOMAIN\Admins; - Token-Groups - Qualified by Long Domain Name — доменное имя в формате FQDN и имя группы. Например,
example.com\Admins; - Token-Groups - Unqualified Names — только имя группы. Например,
Admins.
- Token-Groups as SIDs — SID группы. Например,
- В столбце Outgoing Claim Type введите
member_of - Нажмите кнопку Finish → OK → OK.
Настройка на стороне платформы
Для управления авторизацией через SSO в правом меню нажмите значок
→ вкладка Глобальные настройки → раздел Авторизация через SSO. Если авторизация подключена, в разделе отображается URL конфигурации. Если нет, отображается сообщение "Не подключена".
Чтобы подключить авторизацию:
- Нажмите кнопку подключить.
- Если вы уже настраивали авторизацию через SSO в этой платформе, на форме настройки появится баннер "Найдена сохраненная конфигурация SSO". Чтобы использовать добавленную конфигурацию, нажмите кнопку Использовать.
- Если требуется использовать новую конфигурацию, укажите настройки авторизации:
- URL конфигурации SSO.
- Client ID.
- Client secret.
- Адрес платформы VMmanager.
- Чтобы авторизация выполнялась только для пользователей с e-mail, подтверждённым на сервере регистрации, включите опцию Только с подтвержденным e-mail. Опция не поддерживается для AD FS.
- Чтобы платформа могла создавать пользователей из SSO и настраивать их права:
- Включите опцию Управление пользователями.
- Укажите правила для соответствия ролей OIDC ролям в платформе. Для этого:
- Нажмите кнопку Добавить.
- Введите Роль OIDC.
- Выберите Роли платформы. Для каждой роли OIDC вы можете выбрать одну преднастроенную роль (Администратор, Продвинутый пользователь, Пользователь) или любое число пользовательских ролей.
- Если нужно добавить пользователей в группы, выберите Группы пользователей.
- Чтобы добавить ещё одно правило, нажмите кнопку Добавить. Чтобы удалить правило, нажмите значок
.
- Нажмите кнопку Подключить. Платформа не проверяет значения параметров Client ID и Client secret при сохранении настроек. Чтобы протестировать подключение, авторизуйтесь под любым пользователем через SSO.
Чтобы отключить авторизацию, нажмите кнопку отключить.
Чтобы изменить настройки авторизации, нажмите кнопку изменить и укажите новые настройки.
Диагностика
Для диагностики проблем, связанных с авторизацией через SSO, изучите логи контейнера auth.

