Операция деперсонализации данных (depersonalizationJob)
Операция деперсонализации данных предназначена для преобразования конфиденциальных данных, которые хранятся в простых атрибутах, с целью их анонимизации.
Перед началом выполнения операции необходимо выбрать, какие атрибуты будут обфусцироваться. Для этого в карточке редактирования всех простых атрибутов были добавлены:
Флаг "Конфиденциальный" указывает, что значение, которое хранится в атрибуте должно быть обфусцировано.
Селектор "Способ обезличивания данных" позволяет выбрать одну реализацию обфускатора. Она будет изменять значение, которое хранится в атрибуте во время процесса выполнения операции.
Этапы работы
Операция состоит из двух этапов:
Предварительный этап: происходит очистка целевых схем БД, которые указаны в параметрах операции. Очищаются только таблицы и типы данных:
Таблицы:
Схема данных
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
Типы:
Схема данных
data_shift
record_status
relation_type
operation_type
record_origin_key
record_key
record_timeline
relation_origin_key
relation_key
relation_timeline
record_vistory_data
relation_vistory_data
update_mark
Схема классификаторов:
data_shift
record_status
operation_type
Основной этап: деперсонализация данных в атрибутах и запись в целевые схемы:
По всем выбранным реестрам и справочникам происходит разбивание записей на блоки с размером, которые указаны в параметрах операции;
Для каждого блока, который содержит идентификаторы записей необходимых для обработки - происходит поиск самих записей и исходящих из них связей с классификациями;
Извлекаются их простые атрибуты;
Если атрибут отмечен как конфиденциальный, его значение обрабатывается выбранным обфускатором;
Результат обработки, включая записи, у которых не было конфиденциальных атрибутов, записываются в целевые схемы БД.
Параметры операции
Имя пользователя (поле ввода). Логин учетной записи, от имени которой будут выполняться действия операции.
ID операции (поле ввода). Идентификатор загрузки.
Размер блока (поле ввода). Размер блока загружаемых данных. По умолчанию 1024.
Не очищать и не пересоздавать целевые схемы БД (флаг). Инструктирует задачу не очищать и не пересоздавать целевые схемы БД. Параметр нужен, если переносится большой объем данных и обработка идет поэтапно, реестр за реестром.
Узлы (поле ввода). Конфигурация подключения к узлам БД, в которую будет записан результат обработки.
Параметры драйвера (поле ввода). Дополнительные параметры подключения. Должны быть разделены &. Имена параметров зависят от БД.
Минимальное количество соединений (поле ввода). Минимальное количество соединений в пуле для одного узла.
Максимальное количество соединений (поле ввода). Максимальное количество соединений в пуле для одного узла.
Деперсонализировать объекты модели (выпадающий список). Список реестров и справочников, из записей которых будут формироваться блоки операции.
Имя схемы данных (поле ввода). Имя схемы целевой БД, в которую будут записаны обработанные записи и связи.
Имя схемы классификаторов (поле ввода). Имя схемы в целевой БД, в которую будут записаны обработанные классификации.
Результаты операции
В схемах с указанным именем в указанной БД будут записаны анонимизированные записи, связи и классификации в структуре, аналогичной стандартным схемам com_unidata_mdm_classifiers и org_unidata_mdm_data.
Обратите внимание, что будут созданы только таблицы, которые относятся к данным, их список можно найти выше.
Реализация обфускаторов
По аналогии с функциями для правил качества, реализации обфускаторов могут быть пользовательскими.
Для этого нужно реализовать интерфейс org.unidata.mdm.core.type.model.source.obfuscate.ObfuscatingFunction, либо расширить класс org.unidata.mdm.core.type.model.source.obfuscate.impl.AbstractSimpleObfuscatingFunction, который уже включает в себя базовую логику для обфускаторов, которые обрабатывают простые атрибуты.
Затем нужно преобразовать реализации вместе с ресурсами в .jar файл (реализации на Java предпочтительнее) и импортировать в виде библиотеки на платформу.
После успешного импорта библиотеки выбор реализованных обфускаторов будет доступен в селекторе для атрибутов с соответствующим типом.
Все необходимые классы находятся в SDK org.unidata.mdm.