Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Самостоятельное развертывание веб-интерфейса Apache Kafka®
    • Обновление кластера Managed Service for Apache Kafka® с ZooKeeper на KRaft
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for YDB в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Yandex StoreDoc с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MySQL® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for OpenSearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Data Streams с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Data Streams в Managed Service for Apache Kafka® с помощью Data Transfer
    • Захват изменений YDB и поставка в YDS
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Синхронизация топиков Apache Kafka® в Object Storage без использования интернета
    • Отслеживание потери сообщений в топике Apache Kafka®
    • Автоматизация задач Query с помощью Managed Service for Apache Airflow™
    • Отправка запросов к API Yandex Cloud через Yandex Cloud Python SDK
    • Настройка SMTP-сервера для отправки уведомлений по электронной почте
    • Добавление данных в БД ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® средствами ClickHouse®
    • Миграция данных в Managed Service for ClickHouse® при помощи Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for ClickHouse® с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse®
    • Обмен данными между Managed Service for ClickHouse® и Yandex Data Processing
    • Настройка Managed Service for ClickHouse® для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse®
    • Получение данных из Managed Service for Apache Kafka® в ksqlDB
    • Получение данных из RabbitMQ в Managed Service for ClickHouse®
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse®
    • Асинхронная репликация данных из Яндекс Метрика в ClickHouse® с помощью Data Transfer
    • Использование гибридного хранилища в Managed Service for ClickHouse®
    • Шардирование таблиц Managed Service for ClickHouse®
    • Загрузка данных из Яндекс Директ в витрину Managed Service for ClickHouse® с использованием Cloud Functions, Object Storage и Data Transfer
    • Загрузка данных из Object Storage в Managed Service for ClickHouse® с помощью Data Transfer
    • Миграция данных со сменой хранилища из Managed Service for OpenSearch в Managed Service for ClickHouse® с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Managed Service for ClickHouse® с помощью Data Transfer
    • Интеграция Yandex Managed Service for ClickHouse® с Microsoft SQL Server через ClickHouse® JDBC Bridge
    • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
    • Интеграция Yandex Managed Service for ClickHouse® с Oracle через ClickHouse® JDBC Bridge
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse® из других облачных сетей
    • Миграция кластера Yandex Data Processing с HDFS в другую зону доступности
    • Импорт данных из Managed Service for MySQL® в Yandex Data Processing с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Yandex Data Processing с помощью Sqoop
    • Монтирование бакетов Object Storage к файловой системе хостов Yandex Data Processing
    • Работа с топиками Apache Kafka® с помощью Yandex Data Processing
    • Автоматизация работы с Yandex Data Processing с помощью Managed Service for Apache Airflow™
    • Совместная работа с таблицами Yandex Data Processing с использованием Apache Hive™ Metastore
    • Перенос метаданных между кластерами Yandex Data Processing с помощью Apache Hive™ Metastore
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Миграция коллекций из стороннего кластера MongoDB в Yandex StoreDoc
    • Миграция данных в Yandex StoreDoc
    • Миграция кластера Yandex StoreDoc с версии 4.4 на 6.0
    • Шардирование коллекций Yandex StoreDoc
    • Анализ производительности и оптимизация Yandex StoreDoc
    • Анализ производительности и оптимизация Managed Service for MySQL®
    • Синхронизация данных из стороннего кластера MySQL® в Managed Service for MySQL® с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL® в сторонний кластер MySQL®
    • Миграция БД из Managed Service for MySQL® в Object Storage с помощью Data Transfer
    • Перенос данных из Object Storage в Managed Service for MySQL® с использованием Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL® в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL® в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL® и поставка в YDS
    • Миграция данных из Managed Service for MySQL® в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из AWS RDS for PostgreSQL в Managed Service for PostgreSQL с помощью Data Transfer
    • Миграция данных из Managed Service for MySQL® в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Настройка политики индексов в Managed Service for OpenSearch
    • Миграция данных в Managed Service for OpenSearch из стороннего кластера OpenSearch с помощью Data Transfer
    • Загрузка данных из Managed Service for OpenSearch в Object Storage с помощью Data Transfer
    • Миграция данных из Managed Service for OpenSearch в Managed Service for YDB с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Аутентификация в OpenSearch Dashboards кластера Managed Service for OpenSearch с помощью Keycloak
    • Использование плагина yandex-lemmer в Managed Service for OpenSearch
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Логическая репликация PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Перенос данных из Object Storage в Managed Service for PostgreSQL с использованием Data Transfer
    • Захват изменений PostgreSQL и поставка в YDS
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for MySQL® с помощью Data Transfer
    • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
    • Решение проблем с сортировкой строк в PostgreSQL после обновления glibc
    • Миграция БД из Greenplum® в ClickHouse®
    • Миграция БД из Greenplum® в PostgreSQL
    • Выгрузка данных Greenplum® в холодное хранилище Object Storage
    • Загрузка данных из Object Storage в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Копирование данных из Managed Service for OpenSearch в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Получение данных из внешних источников с помощью именованных запросов в Greenplum®
    • Миграция БД из стороннего кластера Valkey™ в Yandex Managed Service for Valkey™
    • Использование кластера Yandex Managed Service for Valkey™ в качестве хранилища сессий PHP
    • Загрузка данных из Object Storage в Managed Service for YDB с помощью Data Transfer
    • Загрузка данных из Managed Service for YDB в Object Storage с помощью Data Transfer
    • Обработка аудитных логов Audit Trails
    • Обработка логов Cloud Logging
    • Обработка потока изменений Debezium
    • Анализ данных с помощью Jupyter
    • Обработка файлов детализации в сервисе Yandex Cloud Billing
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
    • Миграция данных в Object Storage с помощью Data Transfer
    • Миграция данных из стороннего кластера Greenplum® или PostgreSQL в Yandex MPP Analytics for PostgreSQL с помощью Data Transfer
    • Миграция кластера Yandex StoreDoc
    • Миграция кластера MySQL®
    • Миграция на сторонний кластер MySQL®
    • Миграция кластера PostgreSQL
    • Создание реестра схем для поставки данных в формате Debezium CDC из Apache Kafka®
    • Автоматизация работы с помощью Yandex Managed Service for Apache Airflow™
    • Работа с таблицей в Object Storage из PySpark-задания
    • Интеграция Yandex Managed Service for Apache Spark™ и Apache Hive™ Metastore
    • Запуск PySpark-задания с помощью Yandex Managed Service for Apache Airflow™
    • Использование Yandex Object Storage в Yandex Managed Service for Apache Spark™

В этой статье:

  • Перед началом работы
  • Настройте провайдер идентификации
  • Настройте SSO для кластера
  • Настройте роли для SSO
  • Проверьте работу SSO
  1. Построение Data Platform
  2. Аутентификация в OpenSearch Dashboards кластера Managed Service for OpenSearch с помощью Keycloak

Аутентификация в OpenSearch Dashboards кластера Yandex Managed Service for OpenSearch с помощью Keycloak

Статья создана
Yandex Cloud
Улучшена
digital88
Обновлена 29 июля 2025 г.
  • Перед началом работы
  • Настройте провайдер идентификации
  • Настройте SSO для кластера
  • Настройте роли для SSO
  • Проверьте работу SSO

Вы можете использовать Keycloak для аутентификации пользователей, которые работают с OpenSearch Dashboards в кластере Managed Service for OpenSearch.

Чтобы настроить аутентификацию:

  1. Настройте провайдер идентификации.
  2. Настройте SSO для кластера.
  3. Настройте роли для SSO.
  4. Проверьте работу SSO.

Примечание

Это практическое руководство проверялось для кластера OpenSearch 2.8 и Keycloak 24.0.

Перед началом работыПеред началом работы

  1. Убедитесь, что вы можете подключиться к OpenSearch Dashboards с использованием реквизитов пользователя admin.

    В этом практическом руководстве предполагается, что веб-интерфейс OpenSearch Dashboards доступен по URL:

    https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/
    
  2. Убедитесь, что вы можете работать с Keycloak:

    • Проверьте, что есть доступ к Keycloak.

    • Проверьте, что есть доступ к нужному realm.

    • Проверьте, что есть достаточные права в этом realm для управления:

      • Ролями.
      • Пользователями и группами.
      • Клиентами (так в терминологии Keycloak называются приложения, с помощью которых происходит аутентификация).

    В этом практическом руководстве предполагается, что:

    • Для управления Keycloak используется аккаунт суперадминистратора, который позволяет выполнять любые операции в любом realm.

    • Все операции выполняются в realm с именем master.

    • Keycloak доступен по URL:

      http://keycloak.example.com:8080
      
    • Консоль администратора Keycloak доступна по URL:

      http://keycloak.example.com:8080/admin/
      

Настройте провайдер идентификацииНастройте провайдер идентификации

  1. Подключитесь к консоли управления Keycloak и выберите realm с именем master.

  2. Создайте клиент:

    1. На панели слева выберите Clients. Нажмите кнопку Create client.

    2. В поле Client type выберите вариант SAML.

    3. В поле Client ID укажите идентификатор клиента.

      Этот идентификатор должен совпадать с URL для подключения к OpenSearch Dashboards:

      https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/
      
    4. Нажмите кнопку Next.

    5. Укажите ACS URL в полях:

      • Home URL;
      • Valid redirect URIs;
      • IDP Initiated SSO Relay State.

      ACS URL имеет вид:

      https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/_opendistro/_security/saml/acs
      
    6. Нажмите кнопку Save.

  3. Убедитесь, что использование клиента разрешено: опция в правом верхнем углу должна быть включена (Enabled).

  4. На вкладке Settings настройте параметры клиента следующим образом:

    • SAML Capabilities:

      • Name ID format — email.
      • Force name ID format — убедитесь, что эта опция включена.
      • Force POST binding — убедитесь, что эта опция включена.
      • Include AuthnStatement — убедитесь, что эта опция включена.
    • Signature and Encryption:

      • Sign documents — убедитесь, что эта опция включена.
      • Sign assertions — убедитесь, что эта опция включена.
      • Signature algorithm — RSA_SHA256.
      • SAML signature key name — CERT_SUBJECT.
      • Canonicalization method — EXCLUSIVE.
  5. Нажмите кнопку Save.

  6. На вкладке Keys отключите требование подписи сообщений от клиента.

    Для этого отключите опцию Client signature required.

  7. На вкладке Client scopes настройте сопоставление ролей для клиента:

    Примечание

    Если на вкладке Client scopes в списке Assigned Default Client Scopes присутствует сопоставление ролей role_list, рекомендуется удалить это сопоставление во избежание проблем с проверкой SAML-ответа.

    1. Нажмите на URL для подключения к OpenSearch Dashboards с суффиксом -dedicated.

    2. На вкладке Mappers нажмите Configure a new mapper. Выберите из списка маппер Role list.

    3. Укажите следующие настройки маппера:

      • Name — любое имя маппера, например OpenSearch Mapper.
      • Role attribute name — roles.
      • SAML Attribute NameFormat — Basic;
      • Single Role Attribute — убедитесь, что эта опция включена.
    4. Нажмите кнопку Save.

Настройте SSO для кластераНастройте SSO для кластера

  1. Получите метаданные для созданного ранее клиента:

    1. Подключитесь к консоли управления Keycloak и выберите realm с именем master.

    2. На панели слева выберите Clients.

    3. Нажмите на URL для подключения к OpenSearch Dashboards.

    4. В правом верхнем углу раскройте меню Action и выберите пункт Download adapter config.

    5. Выберите формат Mod Auth Mellon Files и нажмите кнопку Download.

      Будет загружен архив.

    6. Извлеките файл idp-metadata.xml из этого архива. В этом файле содержатся необходимые метаданные.

  2. Настройте SSO для кластера.

    Совет

    Далее приведены инструкции для консоли управления, но можно использовать и другие доступные интерфейсы Yandex Cloud.

    Чтобы настроить источник аутентификации Keycloak:

    1. В консоли управления перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch.

    2. Нажмите на имя нужного кластера и выберите вкладку Источники аутентификации.

    3. Нажмите кнопку Настроить.

    4. Укажите нужные значения настроек:

      • idp_entity_id — идентификатор провайдера.

        Для Keycloak этот идентификатор совпадает с URL, который указывает на realm с именем master:

        http://keycloak.example.com:8080/realms/master
        
      • idp_metadata_file — выберите и загрузите файл с метаданными, извлеченный из архива.

      • sp_entity_id — идентификатор поставщика услуг.

        Используйте тот же идентификатор, который был указан при настройке клиента Keycloak в поле Client ID:

        https://c-cat0adul1fj0********.rw.mdb.yandexcloud.kz/
        
      • kibana_url — URL для подключения к OpenSearch Dashboards.

      • roles_key — атрибут, в котором хранится перечень ролей.

        Укажите тот же атрибут, который был настроен для маппера Keycloak — roles.

      • subject_key — оставьте поле пустым.

      • Таймаут сессии — оставьте значение 0.

      • Активировать — убедитесь, что эта опция включена.

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

  3. Дождитесь, когда статус кластера изменится на Running. Применение настроек может занять несколько минут.

Настройте роли для SSOНастройте роли для SSO

  1. Настройте Keycloak так, чтобы его пользователям назначались нужные роли:

    1. Подключитесь к консоли управления Keycloak и выберите realm с именем master.

    2. Создайте роль:

      1. На панели слева выберите Realm roles. Нажмите кнопку Create role.

      2. Введите имя роли в поле Role name.

        Далее используется имя роли kc_demo_role.

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

    3. Создайте пользователя и настройте его:

      1. На панели слева выберите Users. Нажмите кнопку Add user.

      2. Укажите реквизиты пользователя:

        • Username — имя аккаунта.

          Далее используется имя аккаунта kc_demo_user.

        • Email — адрес электронной почты.

          Далее используется адрес kc_demo_user@example.com.

        • Email verified — убедитесь, что эта настройка включена.

          Примечание

          Для упрощения изложения в этом практическом руководстве эта настройка включена, чтобы не проходить верификацию по email при первом логине.

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

      4. На вкладке Credentials нажмите кнопку Set password и задайте пароль.

        Также отключите настройку Temporary.

        Примечание

        Для упрощения изложения в этом практическом руководстве эта настройка отключена, чтобы не менять пароль при первом логине.

    4. Создайте группу и настройте ее:

      1. На панели слева выберите Groups и нажмите кнопку Create group.

      2. Введите имя группы и нажмите кнопку Create.

        Далее используется имя группы kc_demo_group.

      3. Нажмите на имя группы, чтобы открыть ее свойства.

      4. На вкладке Members нажмите кнопку Add member, выберите пользователя kc_demo_user, затем нажмите кнопку Add.

      5. На вкладке Role mapping нажмите кнопку Assign role, включите фильтр Filter by realm roles, выберите роль kc_demo_role из списка, затем нажмите кнопку Assign.

  2. Сопоставьте роли кластера OpenSearch с ролями на стороне Keycloak. Это позволит получить доступ к кластеру через SSO.

    Чтобы сопоставить роли:

    1. Подключитесь к OpenSearch Dashboards от имени пользователя admin.

    2. В меню слева выберите OpenSearch Plugins → Security.

    3. На панели слева выберите Roles.

    4. Настройте сопоставления ролей:

      1. Нажмите на имя нужной роли.

        Далее предполагается, что была выбрана роль kibana_user.

      2. Перейдите на вкладку Mapped users.

      3. Нажмите кнопку Manage mapping.

      4. В блоке Backend roles введите имя роли в Keycloak, с которой будет сопоставлена роль в OpenSearch, и нажмите кнопку Map.

        Далее предполагается, что была выбрана роль kc_demo_role.

Теперь пользователи Keycloak, добавленные в группу kc_demo_group, будут получать роль kc_demo_role.

Если при подключении к OpenSearch Dashboards аутентификация пройдет успешно, то пользователь с ролью kc_demo_role получит роль kibana_user в OpenSearch.

Проверьте работу SSOПроверьте работу SSO

  1. Откройте браузер в гостевом режиме или режиме инкогнито.

    Это действие нужно выполнять с компьютера, который имеет доступ к Keycloak.

  2. Подключитесь к OpenSearch Dashboards.

    На странице логина нажмите кнопку Log in with single sign-on вместо ввода имени пользователя и пароля.

    Если все настроено правильно, браузер перенаправит вас на страницу аутентификации в Keycloak.

  3. Введите реквизиты пользователя kc_demo_user и нажмите кнопку Sign in.

    После успешной аутентификации Keycloak перенаправит вас на ACS URL, затем вы будете перенаправлены на главную страницу OpenSearch Dashboards.

  4. Убедитесь, что пользователю назначена роль kibana_user в OpenSearch.

    Для этого нажмите на аватар пользователя в верхнем правом углу и выберите пункт View roles and identities. Будут показаны назначенные пользователю роли.

  5. Убедитесь, что вы можете выполнять все действия, которые разрешены для роли kibana_user.

Была ли статья полезна?

Предыдущая
Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Data Transfer
Следующая
Использование плагина yandex-lemmer в Managed Service for OpenSearch
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»