Забезпечення незмінності даних

Сторінка технічної документації є баченням майбутньої реалізації, актуальність якого може бути застарілою.

data consistency

Підхід до забезпечення незмінності даних

Забезпечення відбувається за рахунок розділення прав в БД. Через заборону зміни записів в історичних та операційних таблицях.

Зміна даних

Зміна даних здійснюється тільки за допомогою виклику процедур (f_row_insert, p_row_update, p_row_delete). Процедури створюються і виконуються від імені postgres користувача.

Дивись офіційну документацію розділ Parameters - SECURITY INVOKER.

Права на виклик цих процедур надається тільки користувачу який використовується додатками платформи через Vault.

Читання даних

Вибірка даних реєстру може здійснюватись тільки користувачем додатку або моделювальником звітів через відповідні представлення.

Структура користувачів

  • postgres - системний користувач повні права доступу до системи (використовується тільки для створення користувачів під час розгортання реєстру).

  • regestry_owner_role - є права створення БД та об’єктів в БД.

  • application_role - є права на виклик процедур, є права читання таблиць.

  • admin_role - є права тільки на перегляд окремих службових таблиць.

  • analytics_admin, analytics_officer - є права на перегляд представлень які використовуються для формування звітів.

  • додатково, для кожного сервісу створюється окремий користувач із відповідною назвою:

Виявлення порушень

Для виявлення можливих порушень використовується аудит БД. Кожна дія підлягає аудити, а на логін системного користувача або власника реєстру налаштовані сповіщення.