Операция деперсонализации данных (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.