Разобрали как подключить к Redash базы данных MySQL, PostgreSQL и Яндекс.Метрику. Как разграничить права доступа и проверить результат подключения. И небольшой лайфхак: как организовать нейминг источников, если их много.

Redash — это визуализатор данных, о котором обзорно мы писали в этой статье. Одно из его преимуществ — возможность в одном дашборде вывести запросы к более чем 35 различным источникам данных. Atman активно использует этот инструмент в клиентских проектах и чаще всего круг источников ограничивается наиболее популярными. Рассмотрим, как можно подключить три из них.

Во всех случаях для работы с источниками вам требуется пользователь с правами администратора (group = admin). Это может быть изначальный пользователь, созданный при развертывании Redash или кто-то иной, кого добавили в группу admin. Пользователи без прав администратора не могут управлять источниками данных. 

Подключение источников: MySQL и PostgreSQL

MySQL и PostgreSQL — одни из наиболее распространенных СУБД, их чаще всего интегрируем с Redash. Чтобы перейти к добавлению источника требуется сделать следующее:

  1. Авторизоваться в Redash с правами администратора.
  2. Перейти в раздел Settings, вкладка Data Sources.
  3. Нажать на кнопку Add New Source.
  4. В открывшимся окне через поисковую строку найти источник MySQL или PostgreSQL.
  5. Задать имя источника в Redash (поле Name).
  6. Указать технические доступы к базе данных (поля Host, Port, User, Password, Database name). 
  7. Опционально вы можете выбрать опцию Use SSL и заполнить поля ключей SSL, чтобы организовать взаимодействие с СУБД через более безопасную форму связи.
  8. Нажать на кнопку Create. Если вы корректно заполнили все обязательные поля, создание нового источника данных будет успешно завершено.

Чтобы проверить результат подключения, внизу страницы источника данных нажмите на кнопку Test Connection. Если ответом станет Success, подключение работает корректно.

Добавленный источник данных можно использовать в запросах: как текущих, так и новых. Для этого на странице редактирования запроса выберите новый источник данных и сохраните запрос (кнопка Save). Если у вас не настроено обновление по расписанию, рекомендуем дополнительно запустить запрос (Кнопка Execute), чтобы вывести обновленные данные.

Redash: MySQL Data Source
Окно добавления источника данных MySQL в Redash

Как подключить Яндекс.Метрику к Redash?

Яндекс.Метрику подключить несколько сложнее. На стороне Redash все просто: требуется указать название источника и OAuth Token. Вся загвоздка в получении токена, но это несложно — Яндекс подготовил понятную инструкцию по созданию приложения и получению токена. Расскажем в двух словах:

  1. Авторизуйтесь в вашем аккаунте Яндекс.
  2. Создайте приложение на Яндекс.OAuth. Откройте страницу Создание приложения и заполните основные поля. В доступе к данным рекомендуем указать такие поля. После создания приложения вам потребуется скопировать CliendID — идентификатор приложения.
  3. Для создания токена перейдите по ссылке https://oauth.yandex.ru/authorize?response_type=token&client_id=CliendID, где CliendID — ваш идентификатор приложения
  4. На открывшейся странице нажмите кнопку Разрешить. После этого Яндекс.OAuth перенаправит вас на страницу, на которой отобразит токен. Токен будет также добавлен в адресную строку. 
  5. Скопируйте токен и укажите его при создании источника данных в Redash.
Токен со временем может стать недействительным и процедуру его создания потребуется пройти снова.

Несколько слов о безопасности

Подключение базы данных к Redash — это потенциальная уязвимость, поэтому рекомендуем заранее продумать способы защиты доступа к СУБД.

Со стороны Redash:

  • Контроль за выданными правами администраторов. Не стоит выдавать права администратора пользователям, которые не будут заниматься созданием и редактированием запросов и дашбордов.
  • Сложные пароли для администраторов.
  • Добавление источника данных к группам пользователей в режиме View Only.
Чтобы пользователь мог видеть запросы, связанные с источником данных (например, блоки в дашборде) одной из групп, к которым он принадлежит требуется добавить источник данных в режиме View Only. Второй режим называется Full Access, его можно выдавать группам пользователей, которые будут создавать новые запросы к источнику.

Со стороны базы данных:

  • Создание отдельного пользователя СУБД со сложным паролем.
  • Read Only ограничение доступа пользователя к базе
  • Ограничение доступа по IP через межсетевой экран (Файервол).

Нейминг источников данных, когда их много

В одном из проектов нам потребовалось добавить более 90 источников данных, чтобы разграничить доступы к дашбордам между пользователями. В процессе обнаружили, что Redash автоматически сортирует источники данных по названиям по возрастанию. Это можно использовать для организации и группировки источников. В проекте мы решили ввести буквенные и числовые индексы и ставить их в начале названия, а в качестве разделителя использовать тире. Получилось 3 группы:

  • 0 — технические или общие источники
  • П — источники партнеров
  • Р — источники регионов

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

Redash: Data Sources (источники данных)

Читать еще

Все статьи
Перейти