VK WorkSpace SaaS logo
Помощь
Обновлена 24 июня 2026 г. в 13:02

Настройка SSO через Keycloak

Интеграция с Keycloak по протоколу OIDC (OpenID Connect) предоставляет безопасный способ аутентификации, при котором пользователи могут использовать свои корпоративные учетные записи для доступа к VK WorkSpace без необходимости повторного ввода пароля.

Предварительные действия

  1. Установите и настройте Keycloak на сервере вашей организации, создайте Realm. На уровне сетевой конфигурации необходимо разрешить входящие HTTPS-запросы с IP-адресов из диапазона 95.163.133.4/30.

  2. Скопируйте и сохраните URL для обратного редиректа:

    1. В панели адмнистратора VK WorkSpace перейдите в раздел Конфигурация → Настройки → Способы аутентификации.
    2. В блоке SSO – технология единого входа нажмите на кнопку Изменить настройки.
    3. Отобразится форма SSO аутентификация. Скопируйте и сохраните URL из поля URL для обратного редиректа. Заполнять форму пока не нужно, вы вернетесь к её заполнению позже.
    Настройка SSO через Keycloak

Шаг 1. Создайте и настройте клиента в Keycloak

  1. Перейдите в раздел Clients и нажмите на кнопку Create client.

    Настройка SSO через Keycloak
  2. В поле Client type выберите OpenID Connect, в поле Client ID укажите любой удобный вам идентификатор.

    Настройка SSO через Keycloak

    Остальные поля (необязательные) заполните по желанию и нажмите на кнопку Next.

  3. Откроется раздел Capability config:

    Настройка SSO через Keycloak
    1. Включите опции Client authentication, Аuthorization.
    2. В блоке Authentication flow отметьте галочками Standard flow и Direct access grants.
    3. Нажмите на кнопку Next.
  4. Откроется раздел Login settings:

    Настройка SSO через Keycloak
    • в полях Root URL и Home URL укажите адрес сервера, на котором расположен Keycloack;
    • в поле Valid redirect URIs укажите URL для обратного редиректа из настроек SSO в панели администратора (вы копировали и сохраняли его на шаге «Предварительные действия»);
    • поле Valid post logout redirect URIs оставьте пустым;
    • в поле Web origins укажите myteam.vmailru.net.

    Нажмите на кнопку Save.

  5. Перейдите на вкладку Credentials, скопируйте и сохраните ключ-секрет из поля Client Secret.

    Настройка SSO через Keycloak
  6. Перейдите в раздел Realm settings. На вкладке General, в блоке Endpoints, нажмите на OpenID Endpoint Configuration.

    Настройка SSO через Keycloak
  7. Откроется страница с конфигурационными данными. Скопируйте и сохраните следующие URL-адреса: authorization_endpoint, token_endpoint и userinfo_endpoint.

    Настройка SSO через Keycloak

Шаг 2. Настройте SSO в панели администратора VK WorkSpace

Перейдите в раздел настройки SSO в панели администратора (Конфигурация -> Настройки -> Способы аутентификации) и заполните форму. В полях укажите данные, а также URL-адреса и идентификаторы, которые вы сохранили на предыдущих шагах:

Настройка SSO через Keycloak
  • URL для корпоративной авторизацииauthorization_endpoint из конфигурационных данных в Keycloak;
  • URL для user infouserinfo_endpoint из конфигурационных данных в Keycloak;
  • URL получения токенаtoken_endpoint из конфигурационных данных в Keycloak;
  • Client ID — идентификатор, который вы придумали и сохранили при создании клиента в Keycloak.
  • Client Secret — ключ-секрет из интерфейса Keycloak.

Нажмите на кнопку Сохранить.

Шаг 3. Выполните настройку в интерфейсе Keycloak

Вернитесь в интерфейс администрирования Keycloak.

1. Создайте нужные вам атрибуты

Если нужно, чтобы в системе и адресной книге отображалась дополнительная информация о пользователе, создайте соответствующие атрибуты в Keycloak. Все доступные атрибуты перечислены в таблице:

Название атрибута
Описание
Включить опцию Multivalued
related_emails
Связанные почтовые ящики
да
job_title
Должность
нет
department
Подразделение
нет
company
Организация
нет
phone
Рабочий номер телефона
да
phone_fax
Факс
да
phone_home
Домашний номер телефона
да
phone_mobile
Мобильный номер телефона
да
phone_other
Дополнительный номер телефона
да
address
Адрес

Данный атрибут может быть передан как с типом string, так и с типом object, со следующим набором параметров:
- country (страна)
- postal_code (индекс)
- region (регион)
- locality (город)
- street_address (улица, дом, офис)
При передаче атрибута с типом object происходит склейка параметров в строку в следующем порядке: postal_code, country, region, locality, street_address.
нет
comment
Примечание / комментарий
нет
boss
ФИО руководителя
нет

Перейдите в раздел Realm settings, на вкладке User profile нажмите на кнопку Create attribute и заполните форму:

Настройка SSO через Keycloak
  • в полях Attribute [Name] и Display name введите название нужного атрибута, например related_emails;
  • если нужно, включите опцию Multivalued (см. в таблице выше);
  • остальные настройки/поля оставьте без изменений;

Нажмите на кнопку Create. Повторите действия и создайте все нужные атрибуты.

2. Создайте записи для нужных вам атрибутов

В разделе Client scopes заведите записи для созданных атрибутов.

2.1. Нажмите на кнопку Create client scope и заполните форму:

  • в полях Name и Description укажите название нужного атрибута, например related_emails;
  • в поле Type выберите default;
  • в поле Protocol выберите OpenID Connect;

Нажмите на кнопку Save.

2.2. Перейдите на вкладку Mappers и нажмите на кнопку Configure a new mapper. Откроется окно со списком — найдите в списке User attribute и нажмите на него. Заполните форму:

Настройка SSO через Keycloak
  • в полях Name и Token Claim Name укажите название нужного атрибута, например related_emails;
  • в поле User attribute выберите из списка соответствующее название атрибута, например related_emails;
  • если нужно, включите опцию Multivalued (см. в таблице выше).

Остальные настройки оставьте без изменений. Нажмите на кнопку Save. Повторите действия для всех нужных вам атрибутов.

3. Завершите настройку

Перейдите в раздел Clients и выберите ранее созданного клиента. На вкладке Client scopes выполните следующие действия:

  • Найдите в списке параметр email и убедитесь, что у него задан тип Default и указано OpenID Connect built-in scope: email.

    Настройка SSO через Keycloak
  • Нажмите на кнопку Add client scope и в открывшемся окне отметьте галочками все созданные атрибуты. По умолчанию в окне отображается 10 записей, поэтому если вы создали больше десяти атрибутов, воспользуйтесь опцией перехода, чтобы отметить все атрибуты. Затем нажмите Add -> Default.

    Настройка SSO через Keycloak

На этом настройка SSO в Keycloak завершена.

Шаг 4. Активируйте вход через SSO в панели администратора

Перейдите в интерфейс настроек SSO в панели администратора VK Workspace (Конфигурация -> Настройки -> Способы аутентификации) и включите вход через SSO:

Настройка SSO через Keycloak

Шаг 5. Убедитесь, что аутентификация через SSO работает

  • Авторизуйтесь в любом сервисе VK WorkSpace через учетную запись, заведенную в панели администратора.
  • Авторизуйтесь в любом сервисе VK WorkSpace через учетную запись, заведенную в Keycloack и отсутствующую в панели администратора. Проверьте, что сотрудник появился в списке пользователей после успешной авторизации (раздел Пользователи в меню панели администратора).

Рекомендации по безопасности

  1. Keycloak должен быть доступен только из внутреннего контура / корпоративного VPN, либо должны использоваться дополнительные средства защиты.

  2. Рекомендуется использовать двухфакторную аутентификацию, например на базе TOTP.

    Информация по выбору клиентских приложений для TOTP.

  3. Рекомендуется включить WebAuthN для беспарольного входа пользователей (см. документацию Keycloak). Это позволит пользователям легко и безопасно входить по отпечаткам / FaceID. WebAuthN привязывается к устройству и не дает пользователям войти на мошеннический сайт (только в первый раз необходимо войти по паролю и OTP).

  4. Рекомендуется блокировать пользователя при неудачных попытках входа (см. документацию Keycloak).