Создать SAML-приложение в Yandex Identity Hub для интеграции с Time
Time
Чтобы пользователи вашей организации могли аутентифицироваться в Time с помощью технологии единого входа по стандарту SAML, создайте SAML-приложение в Yandex Identity Hub и настройте его на стороне Yandex Identity Hub и на стороне Time.
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Чтобы дать доступ пользователям вашей организации в Time:
- Сгенерируйте ключ и сертификат.
- Создайте приложение.
- Настройте интеграцию.
- Добавьте пользователей.
- Убедитесь в корректной работе приложения.
Сгенерируйте ключ и сертификат
Для шифрования и подписи SAML-ответов Time нужен сертификат и закрытый ключ поставщика услуг (SP). Сгенерируйте его с помощью утилиты openssl:
openssl req -x509 -newkey rsa:2048 \
-keyout private.key \
-out certificate.crt \
-days 365 -nodes \
-subj "/CN=<имя_инстанса>.time‑messenger.ru"
Где <имя_инстанса> — имя инстанса Time (поддомена на time‑messenger.ru).
В результате будут созданы два файла: private.key — закрытый ключ и certificate.crt — сертификат. Сохраните их — они понадобятся при настройке SAML в Time.
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - Нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа SAML (Security Assertion Markup Language).
- В поле Имя задайте имя создаваемого приложения:
time‑saml‑app. - (Опционально) Добавьте описание и метки приложения.
- Нажмите Создать приложение.
- На вкладке Обзор в блоке Сертификат приложения нажмите Скачать сертификат и сохраните сертификат созданного приложения
time‑saml‑app.cer— он понадобится при настройке SAML в Time.
Настройте интеграцию
Чтобы настроить интеграцию Time с созданным SAML-приложением в Yandex Identity Hub, выполните настройки на стороне Yandex Identity Hub и на стороне Time.
Настройте эндпоинты и загрузите сертификат поставщика услуг
Укажите данные вашего инстанса Time. Чтобы узнать значения эндпоинтов, перейдите в системную консоль Time по адресу https://<имя_инстанса>.time‑messenger.ru/admin_console/authentication/saml и скопируйте значения полей Entity ID и ACS URL из настроек SAML.
- Войдите в сервис Yandex Identity Hub
. - На панели слева нажмите
Приложения и выберите SAML-приложениеtime‑saml‑app. - Справа сверху нажмите
Редактировать и в открывшемся окне:- В блоке Конфигурация поставщика услуг (SP):
-
В поле SP EntityID укажите
Entity ID— уникальный идентификатор поставщика услуг. -
В поле ACS URL укажите
ACS URL— адрес, на который поставщик услуг будет отправлять запросы для аутентификации пользователя. -
(Опционально) При необходимости добавьте еще
ACS URL, нажав Добавить URL. -
(Опционально) В поле SP Logout URL добавьте адрес, по которому поставщик удостоверений отправляет SAML-ответ после успешного выхода пользователя из системы.
-
В поле Режим подписи выберите, для каких частей SAML-ответа будет сформирована подпись:
Assertions— подписываются только утверждения о пользователе (идентификатор, атрибуты, время аутентификации).Response— подписывается весь SAML-ответ целиком.Assertions and Response— подписываются и утверждения, и весь ответ.
-
- (Опционально) Чтобы принимать только запросы, подписанные одним из добавленных сертификатов, включите Принимать только подписанные запросы и добавьте сертификат с помощью кнопки Добавить сертификат.
- Чтобы SAML-ответ был зашифрован с помощью выбранного сертификата, включите опцию Шифровать assertion в ответе и добавьте ранее созданный сертификат с помощью кнопки Добавить сертификат.
- В списке Алгоритм шифрования данных выберите RSA-OAEP-SHA256 (рекомендуется).
- В списке Алгоритм шифрования ключа выберите RSA-OAEP-SHA1.
- Нажмите Сохранить.
- В блоке Конфигурация поставщика услуг (SP):
Настройте атрибуты пользователей
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева нажмите
Приложения и выберите SAML-приложениеtime‑saml‑app. -
Перейдите на вкладку Атрибуты.
-
Добавьте атрибут для передачи имени пользователя. Справа сверху нажмите Добавить атрибут и в открывшемся окне:
- В поле Имя атрибута введите
username. - В поле Значение выберите значение
SubjectClaims.preferred_username.
Примечание
Чтобы изменять значение атрибутов перед отправкой в приложение (например, привести текст к нижнему регистру, удалить пробелы или извлечь часть строки) — используйте трансформации. Они применяются последовательно, сверху вниз.
- Нажмите Добавить трансформацию и выберите тип трансформации
ExtractBefore, в поле Подстрока укажите@. Она извлечет часть адреса электронной почты до символа@. Это значение будет использоваться как имя пользователя в Time. - Нажмите Добавить.
- В поле Имя атрибута введите
Настройте SAML-аутентификацию на стороне Time
- Войдите в системную консоль Time по адресу
https://<имя_инстанса>.time‑messenger.ru/admin_console/authentication/saml. - В разделе Аутентификация:
-
Включите опцию Включить вход через SAML 2.0.
-
В поле URL метаданных провайдера идентификации укажите адрес, по которому Time отправляет запрос на получение метаданных.
Как узнать адрес файла с метаданными приложения
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите SAML-приложениеtime‑saml‑app. - В блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля Metadata URL.
- Войдите в сервис Yandex Identity Hub
-
В поле SAML SSO URL укажите адрес, на который Time отправляет SAML-запрос для запуска последовательности входа.
Как узнать адрес для запросов аутентификации
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите SAML-приложениеtime‑saml‑app. - В блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля Login URL.
- Войдите в сервис Yandex Identity Hub
-
В поле URL-адрес издателя поставщика учетных записей укажите адрес, который используется для SAML-запросов.
Как узнать адрес издателя поставщика учетных записей
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите SAML-приложениеtime‑saml‑app. - В блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля Issuer / IdP EntityID.
- Войдите в сервис Yandex Identity Hub
-
В блоке Публичный сертификат удостоверяющего центра загрузите файл сертификата приложения
time‑saml‑app.cer. -
Включите опцию Проверка подписи.
-
В поле Адрес входа через поставщика услуг укажите адрес вида:
https://<имя_инстанса>.time‑messenger.ru/login/sso/saml. Продублируйте этот адрес в поле Идентификатор поставщика услуг. -
Включите опцию Включить шифрование.
-
В блоке Закрытый ключ поставщика услуг загрузите файл закрытого ключа
private.key. -
В блоке Публичный сертификат поставщика услуг загрузите файл сертификата
certificate.crt. -
В списке Алгоритм подписи выберите алгоритм
RSAwithSHA512для подписания запроса. -
В списке Алгоритм канонизации выберите
Exclusive XML Canonicalization 1.0 (пропустить комментарии). -
В поле Атрибут электронной почты укажите
emailaddress. -
В поле Атрибут имени пользователя укажите
username. -
(Опционально) В поле Атрибут имени укажите
givenname— атрибут для заполнения имени пользователя в Time. -
(Опционально) В поле Атрибут фамилии укажите
surname— атрибут для заполнения фамилии пользователя в Time. -
(Опционально) В поле Текст кнопки входа укажите текст, который будет отображаться на кнопке входа на странице авторизации. По умолчанию —
Используя SAML.
-
- Нажмите Сохранить.
Добавьте пользователей
Для аутентификации в Time, добавьте в SAML-приложение Yandex Identity Hub нужных пользователей и/или группы пользователей.
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin или выше.
Чтобы добавить пользователей в SAML-приложение:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужных пользователей.
- Нажмите Добавить.
Совет
Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте политики аутентификации.
Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе Политики аутентификации в Yandex Identity Hub.
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с Time, выполните вход в Time под учетной записью одного из добавленных пользователей. Для этого:
- В браузере откройте страницу входа вашего инстанса Time:
https://<имя_инстанса>.time‑messenger.ru. - Выберите вход Используя SAML.
- Аутентифицируйтесь в Yandex Cloud с учетной записью пользователя из вашей организации.
- Убедитесь, что после успешной аутентификации вы вошли в Time.