Розміщення сервіса публікування аналітичної звітності Redash за Kong

Загальний опис

В поточній версії Платформи публічний доступ до Redash відбувається через OpenShift HAProxy. Це спричиняє дві проблеми:

  • Потенційна вразливіть сервіса публікування Redash, коли він розміщений поза виокремленого API шлюзу для зовнішнього трафіку

  • При налаштуванні власного DNS-імені для Кабінетів зʼявляється потреба в налаштуванні також і окремого імені для сервіса публікування аналітичної звітності Redash.

Внесення Redash за Kong вирішить ці проблеми.

Ролі користувачів

  • Посадова особа

Загальні принципи та положення

  • Винесення стосується тільки сервісу публікування аналітичної звітності Redash (redash-viewer)

  • Трафік до Redash повинен йти через основний Kong, використовуючи роут кабінету чиновника зі шляхом /reports

  • Конг повинен перевіряти наявніть JWT-токену та у випадку відсутності переадресовувати користувача на підсистему управління користувачами та ролями (Keycloak) для авторизації.

Функціональні сценарії

Потік мережевого трафіку до Redash
Figure 1. Потік мережевого трафіку до Redash
redash
Figure 2. Діаграма розгортання

План розробки

Технічні експертизи

  • BE

  • Frontend

  • DevOps

План розробки

  • Змінити контекстний шлях у Redash

  • Змінити контекстний шлях з рутового у всіх компонентах де зустрічається URL на Redash, а саме registry-regulation-publication-pipeline, registry-configuration, redash_chart

  • Внести Redash за Kong шляхом створення необхідних налаштувань в Kong ресурсах

  • Змінити URI в кабінеті чиновника на новий

  • Дозволити трафік з Kong на Redash Viewer

  • Видалити в коді адмін-консолі приховані поля налаштування DNS для Redash та в common-web-app налаштування custom DNS для Redash

Безпека

Глосарій та акроніми

Термін Опис

Kong

API шлюз для зовнішнього трафіку

URI

Уніфікований ідентифікатор ресурсів (англ. Uniform Resource Identifier, URI) — компактний рядок літер, який однозначно ідентифікує окремий ресурс в інтернеті.