Операция деперсонификации данных (depersonalizationJob)

Операция предназначена для безопасной анонимизации конфиденциальных данных, которые хранятся в простых атрибутах записей, связей и классификаций. Ее ключевая цель — создать реалистичные, но обезличенные дата-сеты для проведения нагрузочного тестирования на реальных данных или воспроизведения сложных дефектов без риска раскрытия персональной информации. Операция выполняет выборочную обфускацию данных и переносит результаты в целевую базу данных.

Перед началом выполнения операции необходимо выбрать, какие атрибуты будут обфусцироваться. Для этого в карточке редактирования всех простых атрибутов были добавлены:

  • Флаг "Конфиденциальный" указывает, что значение, которое хранится в атрибуте должно быть обфусцировано.

  • Селектор "Способ обезличивания данных" позволяет выбрать одну реализацию обфускатора. Она будет изменять значение, которое хранится в атрибуте во время процесса выполнения операции.

Параметры операции

  • Имя пользователя (поле ввода). Логин учетной записи, от имени которой будут выполняться действия операции.

  • ID операции (поле ввода). Идентификатор загрузки.

  • Размер блока (поле ввода). Размер блока загружаемых данных. По умолчанию 1024.

  • Не очищать и не пересоздавать целевые схемы БД (флаг). Инструктирует задачу не очищать и не пересоздавать целевые схемы БД. Параметр нужен, если переносится большой объем данных и обработка идет поэтапно, реестр за реестром.

  • Узлы (поле ввода). Конфигурация подключения к узлам БД, в которую будет записан результат обработки.

  • Параметры драйвера (поле ввода). Дополнительные параметры подключения. Должны быть разделены &. Имена параметров зависят от БД.

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

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

  • Деперсонализировать объекты модели (выпадающий список).Список реестров и справочников, данные которых будут обработаны.

  • Имя схемы данных (поле ввода). Имя целевой схемы в БД для записи обработанных записей и связей.

  • Имя схемы классификаторов (поле ввода). Имя целевой схемы в БД для записи обработанных классификаций.

Внутренние механизмы

  1. Предварительный этап (Подготовка схем): Происходит очистка и пересоздание целевых схем в указанной базе данных. Удаляются и создаются заново только таблицы и типы данных, связанные с записями, связями и классификациями (полный список таблиц: record_etalons, record_origins, record_vistory, record_external_keys, relation_etalons, relation_origins, relation_vistory, relation_from_keys, relation_to_keys, classification_etalons, classification_origins, classification_vistory, classification_keys и соответствующие типы данных). Этот этап можно пропустить с помощью соответствующего флага.

  2. Основной этап (Обработка и перенос):

  • Записи выбранных объектов модели разбиваются на блоки согласно параметру "Размер блока".

  • Для каждого блока извлекаются записи, исходящие связи и классификации, а затем — значения их простых атрибутов.

  • Если атрибут отмечен в модели как "Конфиденциальный", его значение обрабатывается выбранным для этого атрибута обфускатором (например, заменяется хэшем или случайным значением из других записей).

  • Все данные (включая записи без конфиденциальных атрибутов) записываются в соответствующие таблицы подготовленных целевых схем.

Важно знать/Ограничения

  • Предварительная настройка атрибутов: Для работы операции обязательно требуется предварительная настройка модели данных. В карточке каждого простого атрибута, содержащего конфиденциальные данные, должен быть установлен флаг "Конфиденциальный" и выбран "Способ обезличивания данных".

  • Очистка целевых схем: По умолчанию при каждом запуске операции целевые схемы в БД полностью очищаются. Повторный запуск без флага "Не очищать..." приведет к полной потере ранее перенесенных в них данных. Для дозаписи данных необходимо использовать этот флаг.

  • Доступные обфускаторы: По умолчанию система предоставляет два обфускатора: "Случайное значение из других записей" (перемешивание значений) и "Хэшировать с солью" (замена на SHA-256 хэш). Список может быть расширен пользовательскими реализациями через SDK.

  • Производительность: Нагрузка на систему и время выполнения напрямую зависят от "Размера блока" и общего объема обрабатываемых записей. Рекомендуется проводить операцию в период минимальной нагрузки.

  • Только простые атрибуты: Операция предназначена для обфускации данных, хранящихся исключительно в простых атрибутах.

Результат работы операции

В результате в указанной целевой базе данных создаются (или очищаются и пересоздаются) две схемы с заданными именами. В них записываются все обработанные записи, связи и классификации выбранных объектов модели. Структура таблиц в этих схемах полностью аналогична стандартным схемам org_unidata_mdm_data и com_unidata_mdm_classifiers. Данные в этих таблицах являются анонимизированной копией продуктивного контура, пригодной для тестирования.