Довольно часто перед нами встает нетривиальная задача: необходимо периодически обновлять тестовую базу из рабочей (создавать свежий срез данных), но при этом обязательно выполнить обезличивание (конвертацию или анонимизацию) конфиденциальной информации. Главная проблема заключается в том, что политики безопасности запрещают восстанавливать реальные данные в тестовый контур даже на секунду. Пользователи или тестировщики не должны иметь ни малейшего шанса зайти в базу до того, как данные будут очищены.
Посмотрим на эту ситуацию подробнее и разберем по шагам, какие архитектурные подходы и программные инструменты помогут нам реализовать безопасное обновление тестовых баз.
Проанализируем ситуацию: любые штатные обработки очистки данных корректно отрабатывают только при запущенной базе 1С в режиме «Предприятие». Однако, если мы восстановим бэкап прямо на сервере разработки, возникает риск утечки данных. Для решения этой проблемы рассмотрим подход с созданием промежуточного контура.
СкрытиеКонфиденциальнойИнформации.epf или самописную). В этой зоне отключены регламентные задания, чтобы база случайно не отправила письма клиентам или не выполнила обмены с другими рабочими системами.Такой подход полностью исключает человеческий фактор и предотвращает случайный вход разработчиков в необработанную ИБ.
Рассмотрим еще один современный подход для автоматизации пакетного запуска и блокировок, если буферный сервер создать невозможно. В современных CI/CD пайплайнах мы можем управлять кластером программно.
Разберем процесс по шагам:
RAC обращается к службе RAS и устанавливает блокировку начала сеансов на данную информационную базу./UC для обхода блокировки, а также ключи /Execute для вызова внешней обработки обезличивания и /C для передачи ей параметров.RAC снимает блокировку, открывая доступ разработчикам.Посмотрим на пример, основанный на механизмах Библиотеки Стандартных Подсистем (БСП). В конфигурации можно предусмотреть предопределенные обработчики, которые срабатывают до старта основного интерфейса.
Как это реализовать внутри 1С:
Выясним причину, по которой иногда приходится отказываться от штатных средств 1С. Если ваша база весит сотни гигабайт или терабайты, стандартная обработка 1С может перебирать и перезаписывать справочники сутками. Заказчики и админы не могут ждать столько времени для получения тестового контура.
В исключительных случаях применяется обезличивание прямыми SQL-запросами. Хотя прямое вмешательство в таблицы СУБД не рекомендуется и может нарушать лицензионное соглашение, для автоматизации подготовки тестов этот способ применяется часто:
Справочник.Контрагенты или Справочник.ФизическиеЛица).UPDATE, где реальные строковые значения заменяются на случайно сгенерированные хэши или стандартные значения (например, "Контрагент_1").Внедряя любой из рассмотренных вариантов, вы сможете надежно защитить конфиденциальные данные компании от несанкционированного доступа в процессе разработки и тестирования функционала.