Продукт Маркетплейса · 42 700 ₽ с НДС · работает по всей базе
Обезличивание копии базы 1С перед передачей наружу
Тестовую базу делают из свежей копии продуктива, иначе не воспроизвести баг, который живёт только на реальных данных. Вместе с объёмами в копию едут ФИО, ИНН, адреса, телефоны, банковские реквизиты и зарплатные начисления, дальше она расходится по разработчикам и живёт на чьём-то ноутбуке месяцами. Обработка обезличивает базу целиком и умеет вернуть настоящие значения обратно, потому что затёртые данные не с чем сверить.
Цена 42 700 ₽ с НДС (35 000 ₽ без налога). Сопровождение 4 000 ₽ в месяц и обновления 12 000 ₽ за три месяца - опции, обработка работает и без них. Продаётся в Маркетплейсе Инфостарта, там же состав поставки и условия. Любая конфигурация; для прогона нужны полные права и монопольный режим. Эта страница показывает механику, ограничения и находки на живых базах, сам инструмент забираете там.
Это не тот же инструмент, что "Анонимизатор выгрузки": тот обезличивает одну таблицу перед отправкой в чат-модель, а этот проходит по всей базе, по объектам метаданных, и меняет значения в самих данных. Задачи разные, и путать их дорого.
Инженерно то, что здесь происходит, называется псевдонимизацией, а не обезличиванием: пока существует файл соответствий, процесс обратим. Разница не терминологическая. Файл соответствий это ключ, и хранить его надо как сами данные - отдельно от копии, под паролем, который нигде не записан.
Почему обратимость важнее маскировки
Затёртое не с чем сверить
Ручная зачистка полей необратима, и результат, полученный на такой базе, потом не проверить: бухгалтерия не сверит расчёт, потому что цифры в базе уже не те. Обратный ход возвращает исходные значения по журналу соответствий, объект за объектом.
Имя реквизита отбирает кандидатов, замену разрешает значение
Допущение "в имени есть ИНН, значит внутри ИНН" врёт в обе стороны сразу. У нас встретились справочник новостей с "ИНН" в имени и идентификатором записи внутри и НаименованиеПолное у юрлица, где имя обещает человека, а лежит название компании. Поэтому каждое значение перед заменой проверяется: у ИНН должна сойтись контрольная сумма, ФИО с правовой формой внутри считается организацией, а UUID, ссылки и служебные слова вроде SYSTEM не трогаются. Обратная дыра остаётся: реквизит без узнаваемого слова в имени в разбор не попадает, про это ниже.
Контрольные суммы отсекают шум
На одной базе сканер набрал работы на сто часов, и больше восьми миллионов записей дал справочник товарных кодов: десятизначные коды вида 3202900001 формально выглядят как ИНН юрлица. Контрольная сумма снимает девять десятых такого шума, остальное добирает проверка содержимого.
Синтетика не должна выдавать себя
Разработчик, который видит в справочнике двенадцать одинаковых однофамильцев, перестаёт доверять всей копии. Поэтому при исчерпании словаря добавляется видимый различитель вместо тихого дубля: выглядит искусственно, зато разные люди остаются разными людьми.
Что заменяется в базе
Реквизиты-кандидаты отбираются по имени, длинные строки идут в разбор как свободный текст, а каждое значение перед заменой проходит проверки из таблицы. Прикладных объектов обработка не знает и работает на любой конфигурации.
| Тип данных | Как находим | На что меняем |
|---|---|---|
| ФИО | наименования из справочников базы, шаблон "Иванов И.И.", а также три слова с заглавных, где одно похоже на отчество (включая казахские улы, кызы, ұлы, қызы) | выдуманное имя, форма записи сохраняется; при исчерпании словаря добавляется различитель |
| Организации | правовая форма и кавычки: ООО, ТОО, АО и ещё полтора десятка, плюс "ИП Фамилия" | выдуманное название, число слов то же |
| ИНН 10 и 12, ИИН и БИН Казахстана | контрольная сумма либо явная подпись рядом | номер с корректной контрольной суммой |
| Счета IBAN: KZ, BY, UZ, AZ и европейские | код страны, контрольные цифры и хвост | другой счёт, код страны и форма сохраняются |
| Счета РФ 20 знаков, карты 16 знаков | длина и контрольная сумма, для карт алгоритм Луна | номер, проходящий ту же проверку |
| Паспорта, удостоверения, СНИЛС | знак номера либо подписи "паспорт", "серия", маска 123-456-789 01 | другой номер, длина и разбивка сохраняются |
| Телефоны, почта, адреса | телефонная маска, токен с собакой, подпись улицы | диапазон +7 (999), домен example.com, другая улица и дом |
Чего обезличивание не закрывает в принципе
Это ограничения метода, а не недоделки конкретной обработки. Знать их надо до того, как копия уехала.
| Что остаётся | Почему |
|---|---|
| Суммы, количества и даты | Остаются настоящими, иначе база перестаёт быть похожей на себя и оборотно-сальдовая не сходится. Отсюда следствие: идентификация по совокупности косвенных признаков остаётся возможной - у кого ещё в этом месяце была ровно такая начисленная сумма. |
| Данные в двоичном виде | Версии объектов, история данных, содержимое присоединённых файлов, секреты в безопасном хранилище. Подменить там нечего, можно только удалить, и обратного хода по ним не будет. |
| Журнал регистрации | Средствами встроенного языка не чистится совсем, это ручной шаг администратора. Живёт отдельными файлами в каталоге кластера, поэтому в бэкапе СУБД и в выгрузке dt его нет: риск возникает, только если копию отдают каталогом целиком. |
| Пропуск, а не ложное срабатывание | Заглядывание в содержимое спасает от ложных срабатываний, но значения смотрятся только у реквизитов, прошедших отбор по имени. Читать все строковые реквизиты подряд честнее, но на базе в сто тысяч объектов это другая цена прогона, и на неё мы пока не пошли. |
Что нашлось на живой копии продуктива
Три базы: две первые отработали чисто и убедили нас, что механизм готов. Почти все дыры вскрыла третья, свежая копия боевой. Числа настоящие, имена баз и клиентов не называем.
| Показатель | Значение | Как надо | Вердикт | Что это значит |
|---|---|---|---|---|
| Живых людей в справочнике физлиц | 58 124 | 24 000 комбинаций в словаре | чинить | Больше половины людей физически не могли получить уникальное имя: 30 фамилий на 20 имён на 20 отчеств. После пятидесяти попыток генератор молча отдавал занятое имя второму человеку, до двенадцати одинаковых ФИО на разных людей. Словарь расширен, при исчерпании добавляется видимый различитель. |
| Записей в справочнике товарных кодов | 8 000 000+ | персональных данных ноль | внимание | Попал в работу из-за десятизначных кодов, похожих на ИНН юрлица, и дал оценку прогона в сто часов. Отсекается контрольной суммой. |
| Реквизит с персональными данными, не попавший в разбор | 1 | 0 | чинить | Идентификатор физлица назывался так, что ни одной искомой подстроки в имени не было. Правило не создалось, живые двенадцатизначные номера остались в базе, которая по отчёту была полностью обезличена. Отчёт не соврал: у него нет графы "что я не понял". |
| Расхождение показанного и фактического пути | 22 секунды | 0 | инфо | Имя рабочей папки вычислялось дважды из текущего времени в двух местах кода. Вердикт был красный, файлы соответствий лежали в соседнем каталоге. Путь, который показывают пользователю, вычисляется один раз и запоминается. |
Разбор результата
Общий диагноз всех трёх дыр один: конструкция стояла на допущении, что имя реквизита надёжно говорит о содержимом. Экономно, на первых базах держалось, и неверно. Отсюда правило для любого, кто обезличивает базу чем угодно, хоть своим скриптом: после прогона надо открыть базу и посмотреть глазами, не отчёт, а базу. Та же дыра, только тихая, получается под ограничением доступа на уровне записей - прогон под неполными правами увидит подмножество строк, обезличит его и отчитается зелёным. Права проверяются на входе, без полных обработка не запускается.
Порядок работы с копией
- 01
Снять копию и запустить в монопольном режиме
И прямой ход, и возврат гоняются монопольно, с выключенными регламентными заданиями. Объект, который кто-то поменял между двумя ходами, вернуть уже нечем.
- 02
Прогнать обезличивание
Соответствие "исходное значение - псевдоним" пишется до фиксации транзакции, которая ставит псевдоним в базу. Порядок выбран сознательно: при обрыве в журнале останутся лишние строки, а это чинится дедупликацией при возобновлении. Обратная ошибка, псевдоним в базе без записи в журнале, не чинится ничем.
- 03
Открыть базу и посмотреть глазами
Отчёт перечисляет то, что заменил, и молчит о том, чего не понял. Смотреть надо саму базу: справочники людей, контрагентов, реквизиты с номерами.
- 04
Отправить копию без файла соответствий
Файл соответствий не уезжает вместе с копией никогда: ни в том же архиве, ни следом. Пароль на него нигде не хранится - потеряли пароль, потеряли обратный ход. На каждую новую копию прогон повторяется, старый файл к ней не подойдёт.
O'zingiz hal qila olmayapsizmi? Yozing, birga ko'ramiz
WhatsApp orqali nima chiqmayotganini yozing: ko'rib chiqamiz va qanday yordam bera olishimizni aytamiz.
Mavzu boyicha tahlillar
Персональные данные в базе 1С: карта мест перед тем, как копия уедет наружу
Копию рабочей базы отдают подрядчику, тестировщику или на свой тестовый сервер, и первым делом спрашивают, что в ней надо спрятать. Список обычно заканчивается на справочнике физлиц. На одной рабочей базе карта нашла 164 объекта с персональными данными. Разбираем, где они лежат, почему поиск по имени реквизита промахивается в обе стороны и как проверить копию до отправки.
Восстановление базы 1С из бэкапа: готовые скрипты для MS SQL и PostgreSQL
Свежая копия рабочей базы нужна регулярно - под тест, под отладку, под проверку обновления. А restore руками делать страшно: один неверный ввод, и копия легла поверх боевой базы. Готовые скрипты восстановления для MS SQL и PostgreSQL с предохранителями, которые падают до того, как что-то испорчено: имена файлов берутся из самого бэкапа через FILELISTONLY, цель сверяется с источником, служебные базы закрыты. Плюс перевод разового восстановления в ночное задание, после которого копия обновляется сама. Замер на живом сервере: база 17,8 ГБ поднимается за 140 секунд.
Тестовая база 1С отстала от рабочей: как сверить и как догрузить период
Полное восстановление теста - это часы и стёртые настройки, поэтому его перестают обновлять. Разбираем два шага: сначала сверить базы и понять, чем именно тест отличается, потом довезти только свежий период на уровне таблиц СУБД. С готовыми скриптами, замерами и двумя обработками, которые их собирают.
Обезличивание данных 1С: от выгрузки для нейросети до копии базы подрядчику
Обезличивание звучит просто, пока не упрёшься в живые данные. Разбираем две задачи: выгрузка в чат-модель с расшифровкой ответа обратно и полная копия боевой базы, которая уезжает наружу. Почему коэффициент масштабирования обязан быть больше единицы, как восемь миллионов товарных кодов притворились ИНН и почему справочник на 58 124 человека получил всего 24 тысячи разных ФИО.
Ko'p so'raladigan savollar
На какой платформе и конфигурации работает?
Любая конфигурация на управляемом приложении, платформа 8.3.20 и выше, проверено на 8.3.20 и 8.3.27. В конфигурациях на обычных формах вроде УПП, УТ 10, КА 1.1 и БП 2.0 форма не откроется, отдельной версии для них нет. Подходят и файловая, и клиент-серверная база.
Нужен ли доступ к СУБД или общие папки на сервере?
Нет. К СУБД обработка напрямую не обращается. Датасет соответствий передаётся между клиентом и сервером через временное хранилище, так что сетевые папки не нужны. В самой 1С нужны полные права, без них запуска не будет. Через дополнительные обработки она подключается без безопасного режима, потому что пишет датасет во внешний файл.
Можно ли запускать её на рабочей базе?
Обезличивание и возврат делаются только на копии. На рабочей базе доступен один режим, карта персональных данных: он показывает, где в конфигурации лежат персональные данные, и записать ничего не может. Проверено по журналу регистрации: за построение карты по 164 объектам ноль изменений данных.
Сколько идёт прогон и можно ли его прервать?
На клиент-серверной базе с MS SQL обезличивание шло около 30 объектов в секунду, оценку времени мастер показывает до запуска. Прогон можно остановить и продолжить с того же места: позиция запоминается после каждого пакета, а повторный запуск уже обезличенное не портит.
Что будет с казахскими ФИО?
Находит и пол определяет в том числе по отчествам на улы и кызы, но подставляет русские ФИО той же формы записи: казахское имя в копии становится русским. На обратный ход это не влияет, казахские буквы возвращаются в базу символ в символ.
На сколько баз действует лицензия?
На информационные базы организации-покупателя, без ограничения числа баз и рабочих мест. Код открыт: изучать его и адаптировать под свои конфигурации можно. Передавать файл третьим лицам и перепродавать нельзя.
1C tizimingiz uchun bepul ekspress-audit
1-2 kun ichida bazangizni ko'rib chiqamiz, unumdorlik qayerda yo'qolayotganini topamiz va nima qilish kerakligini aytamiz. Majburiyatsiz.
Vazifani muhokama qilamiz
Eng tezi WhatsApp: vazifa haqida bir-ikki qator yozing, ish kuni davomida javob beramiz.