Концептуальная модель предметной области#

Введение#

Platform V DataGrid (IGN) — горизонтально масштабируемая и отказоустойчивая платформа для хранения и обработки больших объемов данных в кластере.

Схема предметной области, отображающая сущности и связи, которых достаточно для понимания вариантов использования продукта:

Текстовая матрица связей#

Сущность 1

Связь

Сущность 2

Тип связи

Описание связи

Cluster

Содержит

Node

1:N

Кластер состоит из серверных и клиентских узлов

Node

Управляет

DataRegion

1:N

Узел выделяет память под регионы данных

DataRegion

Хранит

Cache

1:N

Регион данных физически размещает один или несколько кешей

Cache

Содержит

Key-Value Entry

1:N

Кеш состоит из пар «ключ-значение»

Cache

Проекция

SQL Table

1:1

Каждый кеш может быть отображен в реляционной таблице

SQL Table

Использует

Index

1:N

Таблица индексируется для ускорения запросов

Key-Value Entry

Распределен по

Partition

N:1

Запись принадлежит конкретной партиции

Node

Хранит

Partition

1:N

Узел содержит первичные и резервные копии партиций

Transaction

Управляет

Key-Value Entry

1:N

Транзакция атомарно меняет набор записей

Compute Task

Выполняется на

Node

1:N

Задача делегируется узлам согласно стратегии

Data Streamer

Загружает

Cache

1:1

DataStreamer (потоковый загрузчик) направляет данные в целевой кеш

Discovery SPI

Формирует

Cluster

1:1

Механизм обнаружения поддерживает актуальную топологию

Persistence Layer

Обеспечивает

Data Region/Security Plugin

1:N

WAL-журнал, контрольные точки и дисковое хранилище гарантируют сохранность данных и конфигурации безопасности между перезапусками

Security Plugin

Интегрирован в

Node

1:1

Плагин безопасности является компонентом узла

Security Plugin

Управляет

User Credential

1:N

Плагин хранит и проверяет учетные данные пользователей

Security Plugin

Определяет

Role Definition

1:N

Плагин управляет ролевой моделью доступа

User Credential

Содержит

Password Hash

1:1

Учетная запись хранит криптографический хеш пароля

Password Hash

Использует

Salt

1:1

Соль применяется для защиты от атак радужными таблицами (rainbow tables)

Security Plugin

Запрашивает

Secret Manager

1:1

Плагин получает внешние секреты с помощью менеджера

Secret Manager

Выдает

Access Token

1:N

Менеджер предоставляет токены доступа к секретам

Access Token

Используется

Security Plugin

1:1

Токен применяется плагином для аутентификации во внешних системах

Security Plugin

Синхронизирует

Credential Sync

1:1

Механизм распространения учетных данных в кластере

Credential Sync

Источник

Primary Node

1:1

Основной узел — источник актуальных учетных данных

Credential Sync

Получатель

Secondary Node

1:N

Вторичные узлы получают данные от основного

Security Plugin

Генерирует

Audit Log

1:N

Плагин фиксирует события безопасности для аудита

Audit Log

Направляется в

Log Target

1:N

Логи маршрутизируются в целевые системы

Log Target

Платформа

Kafka

1:1

Kafka используется как шина событий безопасности

Log Target

Система

Syslog

1:1

Syslog — стандартный протокол системного логирования

Log Target

Платформа

PKB Platform

1:1

Платформа кибербезопасности для анализа инцидентов

Сопоставление сценариев и сущностей#

Сценарий использования

Сущности, которые явно участвуют в сценарии

Связанные сущности, которые важны для понимания

Подключение клиента и аутентификация

Node, Security Plugin, User Credential, Password Hash, Salt

Cluster, Role Definition, Audit Log

Проверка авторизации при доступе к данным

Security Plugin, Role Definition, Cache, SQL Table

User Credential, Audit Log, Node

Получение секретов из Secret Manager

Security Plugin, Secret Manager, Access Token

Node, Credential Sync, Audit Log

Синхронизация учетных данных в кластере

Credential Sync, Primary Node, Secondary Node, User Credential

Cluster, Security Plugin, Persistence Layer

Восстановление состояния плагина после перезапуска

Persistence Layer, Security Plugin, Password Hash, Role Definition

Node, Secret Manager

Аудит событий безопасности

Audit Log, Log Target, Kafka, Syslog, PKB Platform

Security Plugin, Node, User Credential

Обновление токенов доступа в фоновом режиме

Access Token, Secret Manager, Security Plugin

Node, Audit Log

Защита от компрометации учетных данных

Password Hash, Salt, Security Plugin, Audit Log

User Credential, PKB Platform

Управление ролевой моделью

Role Definition, Security Plugin, User Credential

Cache, SQL Table, Compute Task

Интеграция с платформой кибербезопасности

PKB Platform, Audit Log, Log Target, Security Plugin

Node, Cluster, Kafka

Каталог сущностей предметной области#

Сущность

Описание

Роль в предметной области

Cluster

Логическое объединение узлов, которое работает как единое целое

Граница предметной области, точка управления

Node

Вычислительный или клиентский процесс в кластере

Исполнитель операций, хранитель данных, хост плагина безопасности

Data Region

Абстракция выделенной памяти с политикой хранения

Управление ресурсами, изоляция нагрузок

Cache

Логический контейнер распределенных данных

Основная единица хранения и маршрутизации

Key-Value Entry

Атомарная единица данных (ключ + значение)

Объект бизнес-данных

SQL Table

Реляционное представление кеша

Интерфейс для SQL-совместимых сценариев

Index

Структура ускоренного поиска

Оптимизатор запросов

Partition

Логический сегмент данных, который распределяется по узлам

Единица отказоустойчивости и балансировки

Transaction

Атомарная группа операций с ACID-гарантиями

Механизм согласованности данных

Compute Task

Распределенная вычислительная единица

Реализация сценариев бизнес-логики на узлах

Data Streamer

Компонент высокоскоростной пакетной загрузки

Оптимизатор ввода данных

Discovery SPI

Механизм обнаружения и поддержания топологии

Обеспечение связности кластера

Persistence Layer

Подсистема долговечного хранения (durable storage): WAL-журнал, контрольные точки, дисковое хранилище

Обеспечивает сохранность кешей и состояния плагина безопасности между перезапусками

Security Plugin

Плагин аутентификации, авторизации и аудита

Контроль доступа, управление учетными данными, генерация логов

User Credential

Учетная запись пользователя с идентификатором и хешем

Объект аутентификации

Password Hash

Криптографический хеш пароля

Защита учетных данных от восстановления

Salt

Случайная последовательность для хеширования

Защита от атак радужными таблицами (rainbow tables)

Role Definition

Описание роли и связанных прав доступа

Механизм авторизации на уровне операций и ресурсов

Secret Manager

Внешняя система управления секретами

Источник внешних учетных данных и токенов

Access Token

Одноразовый токен доступа к секретам

Временный артефакт аутентификации во внешних системах

Credential Sync

Механизм репликации учетных данных между узлами

Обеспечение консистентности безопасности в кластере

Primary Node

Узел-источник учетных данных при синхронизации

Координатор распространения конфигурации безопасности

Secondary Node

Узел-получатель учетных данных при синхронизации

Исполнитель, который синхронизирует состояние с основным узлом

Audit Log

Запись событий безопасности (вход, доступ, ошибка)

Объект аудита для анализа и расследования инцидентов

Log Target

Абстракция целевой системы для отправки логов

Маршрутизатор событий аудита

Kafka

Распределенная платформа потоковой передачи событий

Шина данных для интеграции с системами безопасности

Syslog

Стандартный протокол системного логирования

Универсальный интерфейс отправки логов

PKB Platform

Платформа кибербезопасности для анализа инцидентов

Внешняя система корреляции и реагирования на угрозы