Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Разграничение прав доступа для групп пользователей
    • Приглашение нового пользователя и назначение ролей
    • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
    • Создание распределенной инфраструктуры с защищенным доступом
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Базовая настройка SWS
    • Экстренная защита сервисов в Application Load Balancer от DDoS на уровне L7
    • Передача логов с виртуальной машины в Cloud Logging
    • Запись логов балансировщика в PostgreSQL
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Сервисный аккаунт с профилем OS Login для управления ВМ с помощью Ansible
    • Передача логов с Container Optimized Image в Cloud Logging
    • Добавление HTML-страницы для работы SmartCaptcha
    • Настройка алертов и дашбордов в Monitoring
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Загрузка аудитных логов в SIEM Splunk
    • Загрузка аудитных логов в SIEM ArcSight
    • Шифрование для бакета Object Storage на стороне сервера
    • Шифрование секретов в HashiCorp Terraform
    • Управление ключами KMS с HashiCorp Terraform
    • Auto Unseal в HashiCorp Vault
      • Grafana OSS
      • Zabbix
      • Яндекс 360
      • Managed Service for OpenSearch
      • OpenSearch
      • Managed Service for GitLab
      • SonarQube
      • OpenVPN Access Server
    • Передача логов кластера Yandex MPP Analytics for PostgreSQL в Yandex Cloud Logging

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

  • Создайте приложение
  • Настройте интеграцию
  • Настройте OIDC-приложение на стороне Yandex Identity Hub
  • Настройте OIDC-приложение на стороне Grafana OSS
  • Добавьте пользователя
  • Убедитесь в корректной работе приложения
  1. Безопасность
  2. Настройка единого входа в приложения (SSO)
  3. Grafana OSS

Создать OIDC-приложение в Yandex Identity Hub для интеграции с Grafana OSS

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 17 декабря 2025 г.
  • Создайте приложение
  • Настройте интеграцию
    • Настройте OIDC-приложение на стороне Yandex Identity Hub
    • Настройте OIDC-приложение на стороне Grafana OSS
    • Добавьте пользователя
  • Убедитесь в корректной работе приложения

Примечание

Функциональность находится на стадии Preview.

Grafana Open Source Software (OSS) — это бесплатная платформа с открытым исходным кодом для мониторинга и визуализации данных, которую можно развернуть на собственной инфраструктуре. Grafana OSS поддерживает OpenID Connect (OIDC) аутентификацию для обеспечения безопасного единого входа пользователей организации.

Чтобы пользователи вашей организации могли аутентифицироваться в Grafana OSS с помощью технологии единого входа по стандарту OpenID Connect, создайте OIDC-приложение в Identity Hub и настройте его на стороне Identity Hub и на стороне Grafana OSS.

Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.

Чтобы дать доступ пользователям вашей организации в Grafana OSS:

  1. Создайте приложение.
  2. Настройте интеграцию.
  3. Убедитесь в корректной работе приложения.

Создайте приложениеСоздайте приложение

Интерфейс Cloud Center
CLI
  1. Войдите в сервис Yandex Identity Hub.
  2. На панели слева выберите Приложения.
  3. В правом верхнем углу страницы нажмите Создать приложение и в открывшемся окне:
    1. Выберите метод единого входа OIDC (OpenID Connect).

    2. В поле Имя задайте имя создаваемого приложения: grafana-oss-oidc-app.

    3. В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.

    4. (Опционально) В поле Описание задайте описание приложения.

    5. (Опционально) Добавьте метки:

      1. Нажмите Добавить метку.
      2. Введите метку в формате ключ: значение.
      3. Нажмите Enter.
    6. Нажмите Создать приложение.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания OIDC-приложения:

    yc organization-manager idp application oauth application create --help
    
  2. Создайте OAuth-клиент:

    yc iam oauth-client create \
      --name grafana-oss-oauth-client \
      --scopes openid,email,profile,groups
    

    Где:

    • --name — имя OAuth-клиента.
    • --scopes — набор атрибутов пользователей, которые будут доступны Grafana OSS. Указаны атрибуты:
      • openid — идентификатор пользователя. Обязательный атрибут.
      • email — адрес электронной почты пользователя.
      • profile — дополнительная информация о пользователе, такая как имя, фамилия, аватар.
      • groups — группы пользователей в организации.

    Результат:

    id: ajeqqip130i1********
    name: grafana-oss-oauth-client
    folder_id: b1g500m2195v********
    status: ACTIVE
    

    Сохраните значение поля id, оно понадобится для создания и настройки приложения.

  3. Создайте секрет для OAuth-клиента:

    yc iam oauth-client-secret create \
      --oauth-client-id <идентификатор_OAuth-клиента>
    

    Результат:

    oauth_client_secret:
      id: ajeq9jfrmc5t********
      oauth_client_id: ajeqqip130i1********
      masked_secret: yccs__939233b8ac****
      created_at: "2025-10-21T10:14:17.861652377Z"
    secret_value: yccs__939233b8ac********
    

    Сохраните значение поля secret_value, оно понадобится для настройки Grafana OSS.

  4. Создайте OIDC-приложение:

    yc organization-manager idp application oauth application create \
      --organization-id <идентификатор_организации> \
      --name grafana-oss-oidc-app \
      --description "OIDC-приложение для интеграции с Grafana OSS" \
      --client-id <идентификатор_OAuth-клиента> \
      --authorized-scopes openid,email,profile,groups \
      --group-distribution-type assigned-groups
    

    Где:

    • --organization-id — идентификатор организации, в которой нужно создать OIDC-приложение. Обязательный параметр.
    • --name — имя OIDC-приложения. Обязательный параметр.
    • --description — описание OIDC-приложения. Необязательный параметр.
    • --client-id — идентификатор OAuth-клиента, полученный на втором шаге. Обязательный параметр.
    • --authorized-scopes — укажите те же атрибуты, которые были указаны при создании OAuth-клиента.
    • --group-distribution-type — укажите assigned-groups, чтобы передавать в Grafana OSS только группы, добавленные в приложение.

    Результат:

    id: ek0o663g4rs2********
    name: grafana-oss-oidc-app
    organization_id: bpf2c65rqcl8********
    group_claims_settings:
      group_distribution_type: ASSIGNED_GROUPS
    client_grant:
      client_id: ajeqqip130i1********
      authorized_scopes:
        - openid
        - email
        - profile
        - groups
    status: ACTIVE
    created_at: "2025-10-21T10:51:28.790866Z"
    updated_at: "2025-10-21T12:37:19.274522Z"
    

Настройте интеграциюНастройте интеграцию

Чтобы настроить интеграцию Grafana OSS с созданным OIDC-приложением в Identity Hub, выполните настройки на стороне Grafana OSS и на стороне Identity Hub.

Настройте OIDC-приложение на стороне Yandex Identity HubНастройте OIDC-приложение на стороне Yandex Identity Hub

Получите учетные данные приложенияПолучите учетные данные приложения

Интерфейс Cloud Center
CLI
  1. Войдите в сервис Yandex Identity Hub.

  2. На панели слева выберите Приложения и выберите нужное OIDC-приложение.

  3. На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) разверните секцию Дополнительные атрибуты и скопируйте значения параметров, которые необходимо задать на стороне Grafana OSS:

    • ClientID — уникальный идентификатор приложения.
    • OpenID Configuration — URL с конфигурацией всех необходимых для настройки интеграции параметров.
  4. В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:

    1. (Опционально) Добавьте произвольное описание создаваемого секрета.
    2. Нажмите Создать.

    В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.

    Важно

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

    Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.

    Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок и выберите Удалить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите информацию о созданном OIDC-приложении:

    yc organization-manager idp application oauth application get <идентификатор_приложения>
    

    Где <идентификатор_приложения> — это ID OIDC-приложения, полученный при создании.

    В результате вы получите информацию о приложении, включая:

    id: ek0o663g4rs2********
    name: grafana-oss-oidc-app
    organization_id: bpf2c65rqcl8********
    client_grant:
      client_id: ajeqqip130i1********
      authorized_scopes:
        - openid
        - email
        - profile
        - groups
    

    Сохраните значение client_id — это Client ID для настройки Grafana OSS.

  2. Получите URL с конфигурацией OpenID Connect Discovery:

    yc organization-manager idp application oauth application get <идентификатор_приложения> \
      --format json | jq -r '.client_grant.issuer_uri'
    

    Результат будет выглядеть так:

    https://kz.auth.yandex.cloud/oauth/<идентификатор_OAuth-клиента>
    

    Сохраните этот URL — это OpenID Connect Discovery URL для настройки Grafana OSS.

  3. Используйте секрет OAuth-клиента, который был сохранен при создании приложения на предыдущем шаге. Если вы не сохранили секрет, создайте новый:

    yc iam oauth-client-secret create \
      --oauth-client-id <идентификатор_OAuth-клиента>
    

    Сохраните значение secret_value из результата команды — это Client Secret для настройки Grafana OSS.

Настройте Redirect URIНастройте Redirect URI

Интерфейс Cloud Center
CLI
  1. Войдите в сервис Yandex Identity Hub.
  2. На панели слева выберите Приложения и выберите нужное OIDC-приложение.
  3. Справа сверху нажмите Редактировать и в открывшемся окне:
    1. В поле Redirect URI укажите эндпоинт аутентификации для вашего экземпляра Grafana OSS в формате:

      <URL_экземпляра_Grafana_OSS>/login/generic_oauth
      
    2. В поле Scopes отметьте атрибут groups (группы пользователя в организации) и выберите Только назначенные группы.

    3. Нажмите Сохранить.

Обновите OIDC-приложение, указав Redirect URI:

yc organization-manager idp application oauth application update <идентификатор_приложения> \
  --redirect-uris "<URL_экземпляра_Grafana_OSS>/login/generic_oauth"

Где:

  • <идентификатор_приложения> — ID OIDC-приложения, полученный при создании.
  • --redirect-uris — эндпоинт аутентификации для вашего экземпляра Grafana OSS. Например: https://your-domain/login/generic_oauth.

Результат:

id: ek0o663g4rs2********
name: grafana-oss-oidc-app
organization_id: bpf2c65rqcl8********
redirect_uris:
  - https://your-domain/login/generic_oauth

Настройте OIDC-приложение на стороне Grafana OSSНастройте OIDC-приложение на стороне Grafana OSS

Чтобы настроить аутентификацию по стандарту OpenID Connect на стороне Grafana OSS, в левой панели выберите раздел Administration и в нем подраздел Authentication. В основном окне выберите Generic OAuth.

В настройках Generic OAuth:

  1. В поле Display name укажите: OpenID Connect.
  2. В поле Client ID укажите значение, скопированное при настройке OIDC-приложения в Identity Hub в поле ClientID.
  3. В поле Client Secret укажите значение, скопированное при настройке OIDC-приложения в Identity Hub в блоке Секреты приложения.
  4. В поле Scopes введите последовательно: openid, email, profile, groups.
  5. Нажмите Enter OpenID Connect Discovery URL и в открывшемся окне укажите URL, скопированный при настройке OIDC-приложения в Identity Hub в поле OpenID Configuration.
  6. Allow sign up: активируйте для автоматического создания пользователей при первом входе.

Настройте сопоставление ролейНастройте сопоставление ролей

Примечание

Для сопоставления ролей в Grafana OSS используются JMESPath выражения. См. примеры использования JMESPath выражений в документации Grafana.

  1. Разверните секцию User mapping.
  2. В поле Role attribute path введите JMESPath выражение для сопоставления ролей.

Если пользователю, который находится в группе grafana-users, нужно сопоставить роль Editor, то в поле Role attribute path нужно ввести следующее выражение:

contains(groups[*], 'grafana-users') && 'Editor' || 'Viewer'

Выражение означает, что если пользователь принадлежит группе grafana-users, ему будет назначена роль Editor, иначе — роль Viewer.

Настройте Redirect URI на стороне Grafana OSSНастройте Redirect URI на стороне Grafana OSS

Необходимо, чтобы Redirect URI, который вы ранее указали на стороне Yandex Identity Hub, и URI, который Grafana OSS отправляет в Yandex Identity Hub, совпадали.

Для этого:

  1. Откройте конфигурационный файл Grafana.

  2. В секции [server] установите:

    root_url = https://your-domain
    
  3. Перезапустите Grafana OSS.

Добавьте пользователяДобавьте пользователя

Чтобы пользователи вашей организации могли аутентифицироваться в Grafana OSS с помощью OIDC-приложения Identity Hub, необходимо явно добавить в OIDC-приложение нужных пользователей и/или группы пользователей.

Примечание

Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь, которому назначена роль organization-manager.oidcApplications.userAdmin или выше.

Добавьте пользователя в приложение:

Интерфейс Cloud Center
CLI
  1. Войдите в сервис Yandex Identity Hub.
  2. На панели слева выберите Приложения и выберите нужное приложение.
  3. Перейдите на вкладку Пользователи и группы.
  4. Нажмите Добавить пользователей.
  5. В открывшемся окне выберите нужного пользователя или группу пользователей.
  6. Нажмите Добавить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите идентификатор пользователя или группы пользователей.

  2. Чтобы добавить в приложение пользователя или группу пользователей:

    1. Посмотрите описание команды CLI для добавления пользователей в приложение:

      yc organization-manager idp application oauth application add-assignments --help
      
    2. Выполните команду:

      yc organization-manager idp application oauth application add-assignments \
        --id <идентификатор_приложения> \
        --subject-id <идентификатор_пользователя_или_группы>
      

      Где:

      • --id — идентификатор OIDC-приложения.
      • --subject-id — идентификатор нужного пользователя или группы пользователей.

      Результат:

      assignment_deltas:
        - action: ADD
          assignment:
            subject_id: ajetvnq2mil8********
      

Убедитесь в корректной работе приложенияУбедитесь в корректной работе приложения

Чтобы убедиться в корректной работе OIDC-приложения и интеграции с Grafana OSS, выполните аутентификацию в Grafana OSS от имени одного из добавленных в приложение пользователей.

Для этого:

  1. В браузере перейдите по адресу вашего экземпляра Grafana OSS (например, https://your-domain).
  2. Если вы были авторизованы в Grafana OSS, выйдите из профиля.
  3. На странице авторизации Grafana OSS нажмите Sign in with OpenID Connect.
  4. На странице авторизации Yandex Cloud укажите email и пароль пользователя. Пользователь должен быть добавлен в приложение или состоять в группе, добавленной в приложение.
  5. Убедитесь, что вы авторизовались в Grafana OSS.
  6. Если вы настроили сопоставление ролей, перейдите в профиль пользователя в Grafana OSS и убедитесь, что в блоке Organizations отображается соответствующая роль.

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

Предыдущая
OpenID Connect
Следующая
Zabbix
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»