Ускорение обезличивания баз данных средствами PostgreSQL в 1С

Автомобили 1С:Предприятие
Заказчик NDA. Крупный автомобильный концерн, эксплуатирующий множество типовых и самописных баз данных
Задача Разработать инструмент обезличивания конфиденциальных данных в тестовых базах, работающий значительно быстрее штатного механизма платформы 1С
Результат Создана обработка на базе СУБД PostgreSQL, которая кратно сократила время обезличивания и обеспечила надёжную защиту персональных данных в тестовых средах

Ситуация

В Имплекс обратился один из крупных отечественных автопроизводителей. В повседневной деятельности концерн задействует значительное число информационных баз — как типовых конфигураций, так и систем собственной разработки. Сведения, которые хранятся в этих базах, относятся к категории конфиденциальных. Чтобы исключить их утечку при передаче баз разработчикам, компания была обязана делать данные обезличенными в тестовых копиях.

Для этой задачи применялась обработка из подсистемы «Защита персональных данных» платформы 1С:Предприятие 8, доступная в функциях для технического специалиста по внутренней ссылке e1cib/app/Обработка.СкрытиеКонфиденциальнойИнформации. Она справлялась с задачей, однако при работе с базами большого объёма процедура растягивалась на очень длительное время. Именно это и побудило заказчика обратиться с просьбой найти более быстрое решение.

Задача

Создать инструмент, существенно сокращающий продолжительность процедуры обезличивания данных в БД, сохранив при этом надёжную защиту конфиденциальных сведений.

Решение

Чтобы решить поставленную задачу, мы разработали инструмент специализированной обработки «Обезличивание ИБД» с помощью средств СУБД PostgreSQL. Работа с ней выстроена в чёткой последовательности шагов.

Этап 1. Внедрение подсистемы обезличивания

В конфигурацию БД, которую требовалось обезличить, интегрируется подсистема «Обезличивание». Это подготовительный шаг, открывающий доступ ко всем последующим инструментам и настройкам.

Этап 2. Создание отладочной копии и развёртывание на сервере

На основе целевой базы создаётся тестовая копия, которую затем разворачивают на сервере. Именно с ней и будет проводиться дальнейшее обезличивание, тогда как оригинальная база остаётся нетронутой.

Этап 3. Создание хранимой функции инструментами СУБД

Для отладочной копии БД на сервере с помощью инструментов PostgreSQL создаётся хранимая функция следующего вида:

CREATE FUNCTION execom(text)

RETURNS text

LANGUAGE 'plpgsql'

COST 100

VOLATILE PARALLEL UNSAFE

AS $BODY$

BEGIN

EXECUTE $1;

RETURN 'ok';

END;

$BODY$;

Эта функция служит исполнительным механизмом, через который передаются и выполняются команды обезличивания на уровне СУБД.

Этап 4. Настройка внешнего источника данных в основной конфигурации

В основной конфигурации настраивается внешний источник данных с именем «ОбезличиваемаяБаза». Для этого необходимо переподключить функцию public_execom.

В конструкторе она выбирается из общего списка функций:

После чего задаются параметры подключения:

Driver={PostgreSQL Unicode};Server=;Port=;Database=;STMT=utf8

Искомая функция public_execom находится в ветке public.

Этап 5. Настройка параметров обезличивания в тестовой базе

В тестовой базе, для которой выполняется процедура обезличивания, запускается обработка «Обезличивание ИБД». На вкладке «Настройки» специалист отмечает объекты, строковые реквизиты, табличные части и строковые реквизиты табличных частей, которые должны быть обезличены. Сформированный список сохраняется в файл кнопкой «Сохранить настройки» — для последующего использования.

Этап 6. Запуск обезличивания из основной базы

В основной базе также открывается обработка «Обезличивание ИБД». На вкладке «Обезличивание» через кнопку «Загрузить настройки» загружается ранее сохранённый список объектов и реквизитов. Затем из него выбираются те позиции, которые нужно обезличить в текущем сеансе, и нажимается кнопка «Обезличить».

После её нажатия запускается операция: строковые реквизиты выбранных объектов очищаются — рабочая информация затирается и заменяется обезличенными значениями. Результат хорошо виден на примерах обезличенных справочников, документов и регистров сведений.

Результат

Поставленная цель достигнута в полном объёме. Заказчик получил новый рабочий инструмент, который позволяет проводить обезличивание информационных баз данных значительно быстрее, чем прежде.

При этом уровень защиты конфиденциальных сведений не только сохранён, но и подкреплён более надёжным и производительным техническим решением.

Многие проекты
под соглашением о неразглашении (NDA),
поэтому вы можете оставить заявку,
и мы расскажем чуть больше

Услуги

2015
Год основания компании
150+
Специалистов в штате
650+
Клиентов, которым мы помогли
950+
Реализованных проектов

Нам доверяют

Все клиенты
Все клиенты
Нужна помощь, но не знаете, с чего начать?

Напиште нам - мы поможем. Выслушаем Ваши задачи для бизнеса и подберём вариант развития

Лидия Алимова
Руководитель отдела продаж implecs
Иконка стрелки вверх