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

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Змінити контекстний шлях у 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

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

Термін Опис

Kong

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

URI

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