Перейти к основному содержимому
Версия: Next

Компоненты ADCP

Back-end​

Набор компонентов, реализующих основную бизнес-логику взаимодействия пользователя с платформой. Предоставляет GraphQL API для Front-end приложения.

API Server​

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

  • Авторизации пользователей системы;
  • Предоставления функций управления системы всеми пользователями через Front-End посредством GraphQL API;
  • Отображения информации о сущностях используемыми в системе.

Обрабатываемые данные​

  • Временные идентификаторы пользователя;
  • Бизнес термины;
  • Мета-информация о наборах данных
  • Статусы матчинга
  • Группы матчинга
  • Проекты
  • Виртуальные машины
  • Права пользователей
  • Минимальные правила матчинга
  • PUSH - нотификации
  • Генерация задач для других сервисов
  • Получение и отправка данных из БЧ

Хранимые данные​

Не хранит данных

Связи​

Scheduler​

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

  • Проверки наличия запланированных на исполнение по расписанию моделей CleanRoom
  • Запуска моделей CleanRoom по рассписанию

Обрабатываемые данные​

  • Списки моделей CleanRoom

Хранимые данные​

Не хранит данных

Связи​

Redis​

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

  • Загрузки Excel-файлов из пользовательского интерфейса

Обрабатываемые данные​

  • Метаданные датасетов
  • Бизнес термины
  • Метаданные таблиц ClickHouse

Хранимые данные​

Не хранит данных

Связи​

Gatekeeper Back-End​

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

  • Актуализация токенов
  • Proxy запросов к системе с функцией проверки доступа
  • Обработка сценариев отсутствия доступа
  • Дополнение хедеров для обработки запросов back-end
  • Выход из системы пользователя

Обрабатываемые данные​

  • Пользовательские токены, полученные из cookie пользователя

Хранимые данные​

Не хранит данные.

Связи​

Front-end​

Набор компонентов, реализующих основную бизнес-логику взаимодействия пользователя с платформой. Предоставляет веб-интерфейс для работы с приложением.

Front-end Application​

Предоставляет пользовательский веб-интерфейс для:

  • Авторизации пользователей системы;
  • Управления функциями системы всеми пользователями;
  • Отображения информации о сущностях используемыми в системе.

Обрабатываемые данные​

Все пользовательские данные:

  • Временные идентификаторы пользователя;
  • Бизнес термины;
  • Мета-информация о наборах данных
  • Статусы матчинга
  • Группы матчинга
  • Проекты
  • Виртуальные машины
  • Права пользователей
  • Минимальные правила матчинга
  • Нотификации

Хранимые данные​

Не хранит данных

Связи​

Gatekeeper Front-end​

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

  • Актуализация токенов
  • Proxy запросов к системе с функцией проверки доступа
  • Обработка сценариев отсутствия доступа
  • Дополнение хедеров для обработки запросов back-end
  • Выход из системы пользователя

Обрабатываемые данные​

  • Пользовательские токены, полученные из cookie пользователя

Хранимые данные​

Не хранит данные.

Связи​

Auth​

Набор компонентов, реализующих логику авторизации и аутентификации пользователей в приложении.

Auth Service​

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

  • Работа с пользователями
  • Работа с организациями
  • Используется Back-end API Server для проверки ролей пользователя
  • Обеспечение хранения ролей пользователя
  • Назначение ролей пользователя

Обрабатываемые данные​

  • Информация о пользователе (ФИО,e-mail)
  • Связь пользователя с организацией
  • Связь пользователя с ролями

Хранимые данные​

Не хранит данные.

Связи​

Keycloak​

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

  • Брокер аутентификации пользователей через Identity Provider

Обрабатываемые данные​

  • code от внешнего ID provider
  • code от Gatekeeper
  • токены пользователей

Хранимые данные​

  • token-ы внешнего IDP
  • сессии пользователей
  • информация о пользователях внешнего IDP

Связи​

Aggregion OIDC provider​

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

  • Возможность входа пользователей Aggregion в систему
  • Выпуск oauth code для обмена на токен Keycloak-ом
  • Выпуск access и refresh token
  • Регистрация пользователей Aggregion
  • Восстановление паролей Aggregion

Использование опционально. Описывается при в конфигурации деплоя.

Обрабатываемые данные​

  • Логин/пароль пользователя

Хранимые данные​

Не хранит данные.

Связи​

Email-service​

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

  • используется для обработки rabbitMQ очереди e-mail
  • отправка писем, полученных через очередь

Обрабатываемые данные​

  • Сообщения для отправки
  • Данные для обеспечения отправки писем

Хранимые данные​

Не хранить данные.

Связи​

DBMS​

Набор компонентов для работы с данными приложения

MongoDB​

Основное хранилище данных сервисов:

  • Back-end / API Server
  • Data Source / Data Service

Обрабатываемые данные​

  • Датасеты;
  • Бизнес термины;
  • Аккаунты пользователей
  • Данные VM
  • Проекты Data Lab
  • Запросы на данные
  • Пользовательские нотификации
  • Технически данных необходимых для работы системы
  • Группы матчинга

Хранимые данные​

  • Датасеты;
  • Бизнес термины;
  • Аккаунты пользователей
  • Данные VM
  • Проекты Data Lab
  • Запросы на данные
  • Пользовательские нотификации
  • Технически данных необходимых для работы системы
  • Группы матчинга

Связи​

MongoDB Migrations Service​

Используется для применения новых миграций при установке обновлений

Обрабатываемые данные​

Cхема хранения данных в MongoDB

Хранимые данные​

Не хранит данных

Связи​

Blockchain Data Updater​

Используется для синхронизации данных о:

  • проектах
  • запросах на данные
  • скриптах
  • информации об инстансах других партнеров из блокчейна

Обрабатываемые данные​

Данные о:

  • проектах
  • запросах на данные
  • скриптах
  • информации об инстансах других партнеров

Хранимые данные​

Не хранит данных

Связи​

Init Dataservice Api​

Используется для применения новых миграций при установке обновлений

Обрабатываемые данные​

Структура хранения данных в MongoDB

Хранимые данные​

Не хранит данных

Связи​

Dataset Syncer​

Проверяет изменения в БЧ о метаданных датасетов и записывает все изменения в MongoDB

Обрабатываемые данные​

Метаданные датасетов

Хранимые данные​

Не хранит данных

Связи​

Glossary Term Syncer​

Обновление данных о Бизнес терминах в БЧ

Обрабатываемые данные​

Бизнес термины

Хранимые данные​

Не хранит данных

Связи​

Dataset Logs Syncer​

Синхронизация информации об истории запросов на данные

Обрабатываемые данные​

История запросов на данные между всеми инстансами

Хранимые данные​

Не хранит данных

Связи​

Glossary Syncer​

Проверяет изменения в БЧ о глоссариях и записывает все изменения в MongoDB

Обрабатываемые данные​

Глоссарии Бизнес терминов

Хранимые данные​

Не хранит данных

Связи​

Queue Services​

RabbitMQ​

Используется в качестве брокера сообщений для внутренних сервисов платформы.

Обрабатываемые данные​

  • Задачи для обработки Анклавом
  • Задачи для обновления информации в БЧ

Хранимые данные​

Осуществляет временное хранение информации о задачах, до выполнения задачи, не является постоянным хранилищем данных.

  • Задачи для обработки Анклавом
  • Задачи для обновления информации в БЧ

Связи​

Data Service​

Набор сервисов для работы с метаданными датасетов и датасетами

Data Service​

Предназначен для управления данными и передачи/получения в БЧ о:

  • Датасетах;
  • Бизнес терминах. А так-же используется в качестве интеграционной шины с MetadataService

Обрабатываемые данные​

  • Датасеты;
  • Бизнес термины.
  • Запросы на данные;
  • Токены доступа к данным

Хранимые данные​

Не хранит данные

Связи​

Glossary Term Updater​

Проверяет изменения в БЧ о Бизнес-терминах и записывает все изменения в монгу

Обрабатываемые данные​

Бизнес-термины

Хранимые данные​

Не хранит данные

Связи​

Dataset Updater​

Обновление данных о метаданных датасетов в БЧ

Обрабатываемые данные​

Метаданные датасетов

Хранимые данные​

Не хранит данные

Связи​

Instance Syncer​

Используется для обновления данных о доступах к хранилищам данных

Обрабатываемые данные​

Информации о доступе к хранилищам данных

Хранимые данные​

Не хранит данные

Связи​

MetadataService​

MetadataserviceAPI​

Обрабатываемые данные​

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

Хранимые данные​

Не хранит данные

Связи​

MetadataservicePG​

СУБД для хранения метаданных

Обрабатываемые данные​

  • Метаданные датасетов;
  • Метаданные таблиц и полей
  • Бизнес термины;
  • Метаданные о подключении к источнику данных;

Хранимые данные​

  • Метаданные датасетов;
  • Метаданные таблиц и полей
  • Бизнес термины;
  • Метаданные о подключении к источнику данных;

Связи​

dbMetadataserviceSync​

Обрабатываемые данные​

  • Метаданные таблиц и полей
  • Метаданные о подключении к источнику данных;

Хранимые данные​

Не хранит данные

Связи​

DataLab​

Набор сервисов для реализации защищенных удаленных рабочих столов для подготовки моделей данных

DataLab proxy​

Проксирование пользовательских запросов для доступа к удаленному рабочему столу VM

Обрабатываемые данные​

Данные ввода/вывода рабочего стола VM

Хранимые данные​

Не хранит данные

Связи​

DataLab VM set​

Набор контейнеров - даталабов

Обрабатываемые данные​

  • Датасеты полученные в результате выгрузки данных в Datalab
  • Пользовательский исходный код, написанный в рамках работы с VM

Хранимые данные​

  • Датасеты полученные в результате выгрузки данных в Datalab
  • Пользовательский исходный код, написанный в рамках работы с VM
  • IDE для работы пользователей с данными
  • Библиотеки необходимые конечным пользователям для подготовки скриптов

Связи​

PostgreSQL​

Хранение состояний и настроек VM

Обрабатываемые данные​

Технические данные необходимые для управления VM

Хранимые данные​

Технические данные необходимые для управления VM

Связи​

NATS​

Временное хранилище задач для управления состоянием VM

Обрабатываемые данные​

Технические сообщения по управлению VM

Хранимые данные​

Технические сообщения по управлению VM

Связи​

Deploy Controller​

Предоставление интерфейса управления запуском виртуальным машин используемых в даталабе

Обрабатываемые данные​

Запросы на остановку и запуск виртуальных машин

Хранимые данные​

Не хранит данные

Связи​

K8S Agent of Deploy Controller​

Шина доступа к Kubernetes кластеру для управления VM

Обрабатываемые данные​

Технические сообщения по управлению VM

Хранимые данные​

Не хранит данные

Связи​

Dataset Uploader​

Используется для: контроля доступности VM и постановки задач в Анклав.

Обрабатываемые данные​

  • Состояния VM
  • Задачи для анклава

Хранимые данные​

Не хранит данные

Связи​

Enclaves (SGX)​

Enclave server (TEE)​

Безопасная обработка данных, через исполнения пользовательских скриптов в защищенной среде

Enclave Server - веб-приложение, работающее внутри Enclaves (SGX), реализующее бизнес-логику работы анклавов посредством предоставления HTTP API для взаимодействия с ним внешних систем. Внешний канал передачи данных защищен протоколом HTTP, при этом тело шифруется ключами, сформированными на основе общего секрета. Доверие между узлами устанавливается на основе процедуры аттестации Intel SGX с помощью CAS. Таким образом сервер обрабатывает только те внешний запросы, которые от приложения, работающего в доверенном анклаве. Приложение вне анклава не может обратиться к внешнему API.

Enclave Server посредством HTTP API получает команды на запуск скриптов с определенными параметрами. Его задача состоит в том, чтобы, обратившись к блокчейн-ноде и проверив наличие разрешений на запуск требуемого скрипта с определенным параметрами, запустить скрипт в TEE. Скрипты хранятся непосредственно в Enclave Server и не передаются извне. Скрипты реализуют определенную логику работы, например “Матчинг датасетов”.

Аттестация Intel SGX - процедура проверки подлинности анклава и неизменности кода приложения, работающего в нем. Подробности о процедуре аттестации доступны на сайте Intel

Обрабатываемые данные​

  • Датасеты
  • Скрипты обработки датасетов
  • Согласия

Хранимые данные​

Не хранит данные

Связи​

Local Attestation Server​

Local Attestation Server (LAS) - sidecar анклава, в который вынесена логика аттестации других анклавов. Необходим для верификации входящих запросов. Более подробно о схемах взаимодействия возможно изучить в разделе CAS+ESP.

Обрабатываемые данные​

Токены входящих запросов от других Анклавов

Хранимые данные​

Не хранит данные

Связи​

Blockchain​

Blockchain Node​

Хранение, получение, передача данных хранящихся в БЧ

Обрабатываемые данные​

  • Информация об идентификаторах компаний участников обмена даных
  • Метаданные датасетов
  • Бизнес термины
  • Метаданные запросов на данные
  • Метаданные проектов DL
  • Ссылки на скрипты исполняемые в Анклавах

Хранимые данные​

  • Информация об идентификаторах компаний участников обмена данных
  • Метаданные датасетов
  • Бизнес-термины
  • Метаданные запросов на данные
  • Метаданные проектов DL
  • Ссылки на скрипты исполняемые в Анклавах

Связи​

GitLab​

GitLab​

Хранение пользовательских исходного кода скриптов используемых в модуле CleanRoom

Обрабатываемые данные​

  • Пользователи GitLab
  • Пользовательский исходный код с историей изменений

Хранимые данные​

  • Пользователи GitLab
  • Пользовательский исходный код с историей изменений

Связи​

Logging & Monitoring​

Набор сервисов для осуществления сбора и контроля логов и метрик платформы

Kibana​

Веб интерфейс для просмотра и анализа лог сообщений

Обрабатываемые данные​

  • Лог сообщения сервисов;
  • Учетные данные пользователей Kibana

Хранимые данные​

  • Учетные данные пользователей Kibana

Связи​

GateKeeper Kibana​

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

  • Актуализация токенов
  • Proxy запросов к системе с функцией проверки доступа
  • Обработка сценариев отсутствия доступа
  • Дополнение хедеров для обработки запросов Kibana
  • Выход из системы пользователя

Обрабатываемые данные​

  • Пользовательские токены, полученные из cookie пользователя

Хранимые данные​

Не хранит данные

Связи​

Filebeat​

Средство сбора и форматирования логов

Обрабатываемые данные​

Лог сообщения всех контейнеров кластера

Хранимые данные​

Не хранит данные

Связи​

ElasticSearch​

СУБД для хранения и поиска лог сообщений

Обрабатываемые данные​

Лог сообщения сервисов

Хранимые данные​

Лог сообщения сервисов

Связи​

Prometheus​

Собирает метрики

Обрабатываемые данные​

  • Лог сообщения
  • Метрики контейнеров

Хранимые данные​

  • Метрики контейнеров

Связи​

Grafana​

Веб интерфейс для просмотра и анализа технических метрик

Обрабатываемые данные​

  • Метрики контейнеров

Хранимые данные​

Не хранит данные

Связи​

Cleanroom​

Набор сервисов для обработки данных пользовательскими скриптами в защищенной среде вычислений.

Script Downloader​

Запускается в анклаве SGX. Используется для скачивания и валидации пользовательских скриптов исполняющихся в CleanRoom.

Обрабатываемые данные​

  • Пользовательские скрипты

Хранимые данные​

Не хранит данные

Связи​

Dataset Downloader​

Запускается в анклаве SGX. Используется для получения сматченных датасетов из анклавов в Cleanroom для дальнейшей обработки.

Обрабатываемые данные​

  • Сматченные датасеты

Хранимые данные​

Не хранит данные

Связи​

Python Runner​

Запускается в анклаве SGX. Используется для исполнения пользовательских скриптов в защищенной среде вычислений.

Обрабатываемые данные​

  • Пользовательские скрипты
  • Сматченные датасеты

Хранимые данные​

Не хранит данные

Связи​

Result Publisher​

Запускается в анклаве SGX. Используется для валидации результата исполнения пользовательского скрипта и публикации результатов в ClickHouse.

Обрабатываемые данные​

  • Результаты исполнения пользовательских скриптов

Хранимые данные​

Не хранит данные

Связи​

Tekton Controller​

Оператор Kubernetes, реагирующий на появление Custom Resource Tekton и запускающий пайплайны.

Обрабатываемые данные​

  • Задачи на исполнение в CleanRoom

Хранимые данные​

Не хранит данные

Связи​

Pipeline Runner​

Получает и валидирует сообщения-задачи на исполнения в CleanRoom

Обрабатываемые данные​

Задачи на исполнение в CleanRoom

Хранимые данные​

Не хранит данные

Связи​

Pipeline Stopper​

Получает и валидирует сообщения-задачи на остановку запусков CleanRoom

Обрабатываемые данные​

Задачи на остановку запусков CleanRoom

Хранимые данные​

Не хранит данные

Связи​

CleanRoom Status Watcher​

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

Обрабатываемые данные​

  • Сообщения об изменении статусов исполняемых в CleanRoom моделей

Хранимые данные​

Не хранит данные

Связи​

Tekton Webhook Listener​

Используется как средство получения сообщений от Tekton и передачи их остальным компонентам платформы

Обрабатываемые данные​

  • Сообщения об изменении статусов исполняемых в CleanRoom моделей

Хранимые данные​

Не хранит данные

Связи​

Nginx Ingress​

Nginx Ingress​

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

Обрабатываемые данные​

Роутинг пользователей и все пользовательские пакеты передаваемые от веб интерфейсов сервисов

Хранимые данные​

Не хранит данных

Связи​