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

Компоненты ADCP

Back-end

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

API Server

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

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

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

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

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

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

Связи

Scheduler

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

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

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

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

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

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

Связи

Redis

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

  • Cинхронизации данных между Apache Atlas и ClickHouse
  • Загрузки Excel-файлов из пользовательского интерфейса

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

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

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

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

Связи

Metadata Seed

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

  • Cинхронизации данных между Apache Atlas и ClickHouse
  • Загрузки 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

Связи

Vaultee OIDC provider

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

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

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

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

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

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

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

Связи

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

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

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

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

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

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

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

Связи

Atlas Entity Syncer

Предназначен для управления вычитки данных из атласа и проверки их в ADCP на предмет обновлений, обновления в ADCP и БЧ метаданных датасетов и бизнес терминов

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

  • Метаданные датасетов;
  • Бизнес термины.

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

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

Связи

Glossary Updater

Обновление данных о глоссариях в БЧ

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

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

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

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

Связи

Glossary Term Updater

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

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

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

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

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

Связи

Dataset Updater

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

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

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

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

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

Связи

Instance Syncer

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

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

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

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

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

Связи

Trino

Используется для стандартизации мета-информации хранилищ данных

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

Мета информация хранилищ данных

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

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

Связи

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 моделей

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

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

Связи

Apache Atlas

Apache Atlas

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

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

  • Метаданные датасетов;
  • Бизнес термины;
  • Метаданные о подключении к источнику данных;
  • Учетные данные пользователей Apache Atlas;
  • История изменений метаданных датасетов

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

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

Связи

Apache Solr

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

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

  • Служебные данные Apache Atlas
  • Бизнес термины
  • Классификаторы
  • Метаданные наборов данных

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

  • Служебные данные Apache Atlas
  • Бизнес термины
  • Классификаторы
  • Метаданные наборов данных

Связи

Cassandra

СУБД для хранения внутренней служебной информации для работы Apache Atlas

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

  • Служебные данные Apache Atlas
  • Бизнес термины
  • Классификаторы
  • Метаданные наборов данных

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

  • Служебные данные Apache Atlas
  • Бизнес термины
  • Классификаторы
  • Метаданные наборов данных

Связи

Apache ZooKeeper

Контроль работы хранилищ данных Apache Atlas

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

Контроль работы хранилищ данных Apache Atlas

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

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

Связи

Nginx Ingress

Nginx Ingress

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

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

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

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

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

Связи