Опис проєкту
ПерекладЯдро задачі — захист від підміни та цілісність. Події мають писатися в сховище тільки на додавання, де будь-яке подальше змінення або видалення стає виявляємим, наприклад через зв'язування записів хеш-ланцюжком, щоб розрив ланцюжка був одразу видний. Прийом подій робимо через чистий API, який викликають наші сервіси, плюс легка клієнтська бібліотека, щоб розробники відправляли події без зайвих зусиль. Поверх сховища потрібен швидкий пошук і фільтрація по суб'єкту, типу дії, об'єкту, діапазону дат і вільному тексту, бо під час інциденту відповіді потрібні за секунди, а не за години. Також потрібні настроювальні політики зберігання по категоріям подій, підтримка юридичної блокування, що призупиняє видалення, і ролевий доступ, щоб саме читання аудит-логу було під контролем і, бажано, теж фіксувалося.
І наконец, комплаєнс реальний тільки тоді, коли є що передати перевіряючому. Потрібна надійна вивантаження в поширених форматах із перевіряємим маніфестом цілісності, щоб зовнішній аудитор міг переконатися, що вивантажений зріз не змінювався. Опишіть, будь ласка, ваш досвід із високоцілісними сховищами подій, очікувану пропускну здатність запису і те, як ви утримаєте продуктивність запитів при зростанні логу до сотень мільйонів записів.
— Схема події: суб'єкт, дія, об'єкт, час, джерело, структуровані змінення
— Сховище тільки на додавання, захищене від підміни (хеш-ланцюжок або аналог)
— API прийому подій і невелика клієнтська бібліотека для наших сервісів
— Пошук і фільтрація по суб'єкту, дії, об'єкту, датам і повному тексту
— Настроювальні політики зберігання та юридична блокування видалення
— Ролевий доступ на читання, із фіксацією самого доступу до логу
— Перевіряєма вивантаження для аудиторів із маніфестом цілісності