Создать SAML-приложение в Yandex Identity Hub для интеграции с Managed Service for OpenSearch
Примечание
Функциональность находится на стадии Preview.
OpenSearch
Чтобы пользователи вашей организации могли аутентифицироваться в Managed Service for OpenSearch с помощью технологии единого входа по стандарту SAML
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Перед началом работы
Убедитесь, что вы можете подключиться к OpenSearch Dashboards с использованием реквизитов пользователя admin. О том, как создать и настроить кластер OpenSearch, см. в разделе Создание кластера OpenSearch.
В этом практическом руководстве предполагается, что веб-интерфейс OpenSearch Dashboards доступен по URL:
https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/
Чтобы дать доступ пользователям вашей организации в Managed Service for OpenSearch:
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа SAML (Security Assertion Markup Language).
- В поле Имя задайте имя создаваемого приложения:
opensearch-app. - (Опционально) В поле Описание задайте описание приложения.
- (Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
- Нажмите Создать приложение.
Настройте интеграцию
Чтобы настроить интеграцию Managed Service for OpenSearch с созданным SAML-приложением в Identity Hub, выполните настройки на стороне кластера OpenSearch и на стороне Identity Hub.
-
Получите метаданные для созданного ранее приложения:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите созданное ранее SAML-приложение. - На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение параметра
Issuer / IdP EntityID, которое необходимо задать на стороне кластера OpenSearch. - На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) нажмите кнопку Скачать файл с метаданными.
Скачанный XML
-файл содержит необходимые метаданные и сертификат, который используется для проверки подписи SAML-ответов. - Войдите в сервис Yandex Identity Hub
-
Настройте SSO для кластера OpenSearch.
Совет
Далее приведены инструкции для консоли управления, но можно использовать и другие доступные интерфейсы Yandex Cloud.
Чтобы настроить источник аутентификации Identity Hub:
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch. -
Нажмите на имя нужного кластера и выберите вкладку Источники аутентификации.
-
Нажмите кнопку Настроить.
-
Укажите нужные значения настроек:
-
idp_entity_id — идентификатор провайдера. Введите сохраненное ранее значение параметра
Issuer / IdP EntityID. -
idp_metadata_file — выберите и загрузите ранее скачанный файл с метаданными.
-
sp_entity_id — идентификатор поставщика услуг.
Этот идентификатор должен совпадать с URL для подключения к OpenSearch Dashboards:
https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/ -
kibana_url — URL для подключения к OpenSearch Dashboards.
-
roles_key — атрибут, в котором хранится перечень ролей. Укажите значение
groups. -
subject_key — оставьте поле пустым.
-
Таймаут сессии — оставьте значение
0. -
Активировать — убедитесь, что эта опция включена.
-
-
Нажмите кнопку Сохранить. Дождитесь, когда статус кластера изменится на
Running. Применение настроек может занять несколько минут.
-
-
Настройте сопоставление ролей в OpenSearch.
Чтобы группы пользователей Identity Hub сопоставлялись с ролями OpenSearch при аутентификации:
- Подключитесь к OpenSearch Dashboards от имени пользователя
admin. - В меню слева выберите OpenSearch Plugins → Security.
- На панели слева выберите Roles.
- Настройте сопоставления ролей:
- Нажмите на имя нужной роли. В данном руководстве это роль
kibana_user. - Перейдите на вкладку Mapped users.
- Нажмите кнопку Manage mapping.
- В блоке Backend roles введите имя группы пользователей Identity Hub, которой будет сопоставлена роль в OpenSearch, например,
opensearch-users. - Нажмите кнопку Map.
- Нажмите на имя нужной роли. В данном руководстве это роль
Теперь пользователи вашей организации, добавленные в группу
opensearch-users, будут получать рольkibana_userпри успешной аутентификации в OpenSearch Dashboards. - Подключитесь к OpenSearch Dashboards от имени пользователя
Настройте SAML-приложение на стороне Yandex Identity Hub
Настройте эндпоинты поставщика услуг
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
Справа сверху нажмите
Редактировать и в открывшемся окне:- В поле SP EntityID укажите URL для подключения к OpenSearch Dashboards.
- В поле ACS URL укажите ACS URL.
ACS URL имеет вид:
https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/_opendistro/_security/saml/acs- Нажмите Сохранить.
Добавьте атрибут групп пользователей
Необходимо, чтобы пользователи в OpenSearch при входе получали одну из базовых ролей. Чтобы это выполнялось, источник аутентификации Identity Hub должен передавать в SAML-ответе список групп пользователей, которым в OpenSearch будут сопоставлены роли. Для этого:
- В правом верхнем углу страницы нажмите
Добавить атрибут группы и в открывшемся окне: - В поле Имя атрибута оставьте значение
groups. - В поле Передаваемые группы выберите
Только назначенные группы. - Нажмите Добавить.
Подробнее о настройке атрибутов см. Настройте атрибуты пользователей и групп.
Добавьте пользователей
Чтобы пользователи вашей организации могли аутентифицироваться в OpenSearch Dashboards с помощью SAML-приложения Identity Hub, необходимо явно добавить в SAML-приложение нужных пользователей и группы пользователей.
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin или выше.
-
Если вы настроили сопоставление ролей на стороне Managed Service for OpenSearch, создайте нужные группы:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Группы. - В правом верхнем углу страницы нажмите
Создать группу. - Задайте название, например,
opensearch-users. Название группы должно точно соответствовать имени группы пользователей, указанному при сопоставлении с ролью OpenSearch. - Нажмите Создать группу.
- Добавьте пользователей в группу:
- Перейдите на вкладку Участники.
- Нажмите Добавить участника.
- В открывшемся окне выберите нужных пользователей.
- Нажмите Сохранить.
- Войдите в сервис Yandex Identity Hub
-
Добавьте пользователей в приложение:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите Добавить.
- Войдите в сервис Yandex Identity Hub
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с Managed Service for OpenSearch, выполните аутентификацию в OpenSearch Dashboards от имени одного из добавленных в приложение пользователей. Для этого:
- В браузере перейдите по адресу вашего экземпляра OpenSearch Dashboards.
- Если вы были авторизованы в OpenSearch Dashboards, выйдите из профиля.
- На странице аутентификации OpenSearch Dashboards нажмите Log in with single sign-on.
- На странице аутентификации Yandex Cloud укажите адрес электронной почты и пароль пользователя. Пользователь должен состоять в группе, добавленной в приложение.
- Убедитесь, что вы авторизовались в OpenSearch Dashboards.
- Если вы настроили сопоставление ролей, то:
- Нажмите на иконку пользователя в OpenSearch Dashboards.
- Перейдите в View roles and identities.
- Убедитесь, что в блоке Roles отображается роль
kibana_user, а в блоке Backend roles — рольopensearch-users.