Создать SAML-приложение в Yandex Identity Hub для интеграции с LibreChat
LibreChat
Чтобы пользователи вашей организации могли аутентифицироваться в LibreChat с помощью технологии единого входа по стандарту SAML
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Примечание
Для успешной интеграции по стандарту SAML доступ к вашему экземпляру LibreChat должен быть настроен по протоколу https с использованием корректного TLS-сертификата.
Чтобы предоставить пользователям вашей организации доступ в LibreChat:
- Создайте приложение в Yandex Identity Hub.
- Настройте интеграцию.
- Убедитесь в корректной работе приложения.
Создайте приложение в Yandex Identity Hub
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения. -
В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа SAML (Security Assertion Markup Language).
- В поле Имя задайте имя создаваемого приложения:
librechat-saml-app. - (Опционально) Задайте описание и добавьте метки приложения.
- Нажмите Создать приложение.
-
На открывшейся странице вновь созданного приложения:
-
В блоке Конфигурация поставщика удостоверений (IdP) скопируйте и сохраните значение поля Login URL, оно понадобится при настройке интеграции на стороне LibreChat.
-
В блоке Сертификат приложения нажмите кнопку Скачать сертификат, чтобы получить сертификат вашего SAML-приложения.
Скопируйте полученный файл сертификата на сервер, на котором развернут ваш экземпляр LibreChat.
-
Настройте интеграцию
Чтобы настроить интеграцию LibreChat с созданным SAML-приложением, выполните настройки на стороне Yandex Identity Hub и на стороне LibreChat.
Настройте SAML-приложение на стороне Yandex Identity Hub
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
Настройте эндпоинты поставщика услуг. Для этого справа сверху нажмите
Редактировать и в открывшемся окне:- В поле SP EntityID укажите любое значение, например адрес вашего экземпляра LibreChat:
https://librechat.example.com. - В поле ACS URL укажите адрес
https://<адрес_экземпляра_LibreChat>/oauth/saml/callback. - Нажмите Сохранить.
- В поле SP EntityID укажите любое значение, например адрес вашего экземпляра LibreChat:
-
Настройте сопоставление для атрибута
username, который будет использоваться в качестве имени пользователя при аутентификации в LibreChat. Для этого:-
Перейдите на вкладку Атрибуты.
-
В правом верхнем углу страницы нажмите
Добавить атрибут и в открывшемся окне:- В поле Имя атрибута введите
username. - В поле Значение выберите
SubjectClaims.preferred_username. - Нажмите Добавить.
- В поле Имя атрибута введите
Подробнее о настройке атрибутов смотрите в разделе Настройте атрибуты пользователей и групп.
-
Настройте аутентификацию на стороне LibreChat
На хосте, на котором развернут ваш экземпляр LibreChat, в среде его выполнения задайте следующие переменные окружения, определяющие параметры интеграции LibreChat с SAML-приложением:
| Имя переменной | Значение |
|---|---|
SAML_ENTRY_POINT |
Значение Login URL, сохраненное ранее. |
SAML_ISSUER |
Значение SP EntityID, заданное ранее на стороне Yandex Identity Hub.Например: https://librechat.example.com. |
SAML_CERT |
Локальный путь к файлу сертификата SAML-приложения, сохраненному ранее, в среде выполнения вашего экземпляра LibreChat.Например: "/app/saml-certs/librechat-saml-app.cer". |
SAML_CALLBACK_URL |
"https://<адрес_экземпляра_LibreChat>/oauth/saml/callback" |
SAML_SESSION_SECRET |
Дополнительный секрет, используемый для защиты сессий.Самостоятельно сгенерируйте надежный секрет длиной не менее 32 символов. |
SAML_EMAIL_CLAIM |
"emailaddress" |
SAML_USERNAME_CLAIM |
"username" |
SAML_GIVEN_NAME_CLAIM |
"givenname" |
SAML_FAMILY_NAME_CLAIM |
"surname" |
SAML_NAME_CLAIM |
"fullname" |
SAML_BUTTON_LABEL |
"Login with Yandex Identity Hub" |
Добавьте пользователя
Чтобы пользователи вашей организации могли аутентифицироваться в LibreChat с помощью SAML-приложения Yandex Identity Hub, добавьте в SAML-приложение нужных пользователей и/или группы пользователей:
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin или выше.
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите Добавить.
Совет
Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте политики аутентификации.
Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе Политики аутентификации в Yandex Identity Hub.
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с LibreChat, выполните аутентификацию в LibreChat от имени одного из добавленных в приложение пользователей. Для этого:
- В окне браузера откройте страницу входа в ваш экземпляр LibreChat.
- Выберите вход через Yandex Identity Hub.
- Аутентифицируйтесь в Yandex Cloud с учетной записью пользователя вашей организации, добавленного в SAML-приложение.
- Убедитесь, что вы успешно аутентифицировались в LibreChat.