Обезличивание базы ЗУП 3.1.*

05.02.19

Администрирование - Информационная безопасность

Обработка по перемешиванию/скрытию конфиденциальной информации в базе ЗУП.

Скачать исходный код

Наименование Файл Версия Размер
МАЕ_ОбезличиваниеЗУП
.epf 10,16Kb
141
.epf 10,16Kb 141 Скачать

Иногда возникает необходимость передать/продемонстрировать свою базу ЗУП третьим лицам. Например, вам нужно отдать копию своей базы ЗУП сотруднику подрядчика, разрабатывающего вам нетиповой обмен с вашей бухгалтерской базой.

Или, скажем, вы хотите продемонстрировать свои доработки базы ЗУП сторонним заказчикам и вам нужно быстро создать обезличенную "демо" базу.

При этом нужно сохранить конфиденциальность данной копии базы ЗУП, чтобы никто не смог "воспользоваться" (как именно придумайте сами :)) персональными данными, указанными в ней.

Скрытием данной конфиденциальной информации и занимается данная обработка, при этом данные в базе остаются читаемыми и приятными глазу :)

Всего можно выполнить 9 действий:

  • Перемешать ФИО в регистре сведений "ФИОФизическихЛиц" – произвольным образом перемешивает фамилии, имена и отчества в регистре с учетом пола физ. лица
  • Заполнить ФИО в справочнике по регистру сведений - процедура заполняет реквизит ФИО в справочнике по перемешанным выше данным регистра сведений, процедура также очищает реквизиты ИНН, СНИЛС и Дату рождения в справочнике "Физические лица"
  • Перемешать паспортные данные в регистре - случайным образом перемешивает все паспортные данные в соответствующем регистре сведений
  • Установить всем физ лицам одинаковую контактную информацию - берет первую попавшуюся таблицу с контактной информацией и устанавливает её всем остальным физ лицам
  • Переименовать подразделения и должности - последовательно переименовывает подразделения и должности по маске "Подразделение 1/2/3", "Должность 1/2/3", после этого по тому же алгоритму переименовываются позиции штатного расписания.
  • Очистить регистр склонений - очищает регистр сведений, где хранятся склонения по падежам всех обезличенных выше данных
  • Очистить краткий состав документов - очищает значение реквизита "КраткийСоставДокумента" во всех документах системы, где он присутствует. В этом реквизите в строке хранится краткий перечень физ. лиц документа  
  • Затереть реквизит физическое лицо в справочнике "Пользователи"
  • Очистить регистр сведений "Версии объектов"

Для надежности перемешивание ФИО можно сделать не один раз, это даст более "точный" результат.

Внимание: все действия, которые выполняет данная обработка являются необратимыми. Перед выполнением обязательно делайте БЭКАП, все действия рекомендуется делать ТОЛЬКО в тестовой базе.

Обработка тестировалась на версии ЗУП 3.1.8.216 на платформе 8.3.13.1690, но будет работать и на более ранних версия платформы и ЗУП 3.1.*

обработка обезличивание ЗУП 3.1 Зарплата

См. также

AUTO VPN (portable)

Информационная безопасность Системный администратор Программист Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14608    23    32    

34

Хранение секретов в Hashicorp Vault для 1С

Информационная безопасность Пароли Системный администратор Платформа 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    2088    kamisov    13    

38

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Программист Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    3829    PROSTO-1C    10    

36

Device flow аутентификация, или туда и обратно

Информационная безопасность Программист Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1918    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

5 стартмани

24.04.2023    5680    18    soulner    7    

31

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    6287    34    Silenser    12    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. madonov 204 06.02.19 06:38 Сейчас в теме
затИреть = проставить знаки тире? =)

А если серьезно, то я бы ещё регистр "ВерсииОбъектов" почистил на случай, если в базе включено версионирование.
И со справочником "Пользователи" нужно что-то придумать (как минимум затереть реквизит "ФизическоеЛицо")
milov.aleksey; +1 Ответить
3. Skin123 189 06.02.19 10:33 Сейчас в теме
(1) Спасибо.
Орфографию поправил.
Добавил в обработку новые функции, которые очищают регистр "Версии объектов" и проставляют всем пользователям пустое физ лицо
milov.aleksey; +1 Ответить
2. ret 64 06.02.19 09:59 Сейчас в теме
"затиреть ИНН/СНИЛС" - ошибка в слове "затиреть". Проверочное слово "тёрка".
Поправьте пожалуйста.
4. Skin123 189 06.02.19 10:33 Сейчас в теме
5. capitan 2499 06.02.19 13:17 Сейчас в теме
А чем типовая с ИТС плоха ?
6. Skin123 189 06.02.19 14:59 Сейчас в теме
(5) Это которая заменяет все на УИДы?
Данные становятся действительно "нечитаемыми" и их уже, например, не продемонстрируешь кому-либо
7. user757354 15.06.20 11:53 Сейчас в теме
есть актуализация для новых версий конфигураций и адаптация под ЗиКГУ 3.1 ?
8. Skin123 189 15.06.20 23:47 Сейчас в теме
(7) обработка так же должна работать на новых версиях ЗУП, т.к. основные объекты метаданных, которые она "обезличивает" остались теми же. К сожалению (или к счастью?), я не работал с ЗиКГУ, но если эта конфигурация основана на ЗУП 3.1, то обработка должна работать. Страшновато её наверное запускать в гос учереждении?)
9. GeterX 1337 17.06.20 11:59 Сейчас в теме
Ошибка на релизе 3.1.14.61.
Кнопка №2

{(6, 32)}: Поле не найдено "ФИОФизическихЛицСрезПоследних.ИнициалыИмени"
ФИОФизическихЛицСрезПоследних.<<?>>ИнициалыИмени КАК ИнициалыИмени,
{ВнешняяОбработка.МАЕ_ОбезличиваниеЗУП.Форма.Форма.Форма(123)}: РезультатЗапроса = Запрос.Выполнить();
{ВнешняяОбработка.МАЕ_ОбезличиваниеЗУП.Форма.Форма.Форма(99)}: ЗаменитьФИОНаСервере();

по причине:
{(6, 32)}: Поле не найдено "ФИОФизическихЛицСрезПоследних.ИнициалыИмени"
ФИОФизическихЛицСрезПоследних.<<?>>ИнициалыИмени КАК ИнициалыИмени,
10. Skin123 189 21.06.20 20:19 Сейчас в теме
(9) Обновил обработку, можете написать в личку почту, кину туда. Или просто заменить в коде ИнициалыИмени на УдалитьИнициалыИмени
11. user1004898 28 28.08.20 15:59 Сейчас в теме
Зачем перемешивать паспортные данные?
Чтобы потом ответственному работы по сортировке и расположению всего на свои места добавить?
13. milov.aleksey 355 27.09.21 15:38 Сейчас в теме
(11) Затем, чтобы не стало реального человека: ФИО в привязке к паспорту, адресам и контактам. Не очищать или абра-кадабра ГУИД, а перетасованная колода. По-моему, отличная идея!
12. milov.aleksey 355 27.09.21 15:36 Сейчас в теме
Добрый день.
Потребовалось предоставить копию стороннему обновлятору типовой части ЗУП3.1Корп. Типовая обработка "Сокрытие конфиденциальной информации" вылетает по нехватке памяти. Собрался использовать вашу обработку. Отличная идея просто перетасовать карточки сотрудников, а не делать их нечитаемыми. НО есть что позаимстовать из типовой. А именно: регистры сведений Личные счета сотрудников, Сведения по реестрам прямых выплат ФСС (где указаны номера банковских карты МИР), суммы в Ведомостях в банк, кассу, НДФЛ и т.п.
14. user710787_natmankina 14.10.21 16:16 Сейчас в теме
Ошибка на релизе 3.1.18.189
Кнопка №1

{(7, 32)}: Поле не найдено "ФИОФизическихЛицСрезПоследних.ИнициалыИмени"
ФИОФизическихЛицСрезПоследних.<<?>>ИнициалыИмени КАК ИнициалыИмени,
{ВнешняяОбработка.МАЕ_ОбезличиваниеЗУП.Форма.Форма.Форма(26)}: РезультатЗапроса = Запрос.Выполнить().Выгрузить();
{ВнешняяОбработка.МАЕ_ОбезличиваниеЗУП.Форма.Форма.Форма(4)}: ПерепутатьФИОНаСервере();

по причине:
{(7, 32)}: Поле не найдено "ФИОФизическихЛицСрезПоследних.ИнициалыИмени"
ФИОФизическихЛицСрезПоследних.<<?>>ИнициалыИмени КАК ИнициалыИмени,
15. Skin123 189 15.10.21 22:24 Сейчас в теме
(14) А вы давно обработку скачали? Я вроде это уже исправлял
Нужно просто заменить в коде ИнициалыИмени на УдалитьИнициалыИмени
16. user1024932 82 20.10.21 07:48 Сейчас в теме
Добрый день. Остается ИНН в стране гражданства.
17. el_nov 9 29.04.22 15:33 Сейчас в теме
Добрый день. А по скорости как относительно типовой работает?
18. Skin123 189 29.04.22 18:44 Сейчас в теме
(17) Сложно сказать, все относительно же :) зависит от объема данных, но ничего там в коде прямо очень неоптимального нет
19. RedSquirel1 27 26.07.22 00:53 Сейчас в теме
Добрый день!

В последних версиях ЗУП в РС ФИО Физлиц появился ресурс "Инициалы", актуальные инициалы хранятся в нем, лучше заменить "УдалитьИнициалыИмени" на "Инициалы".

Также при наличии физ. лиц без пола рекурсию ПодменитьСвойствоТаблицыНаСлучайное зацикливает и возникает ошибка переполнения стека вызовов. Поменяла условие проверки пола:
//Если Пол = Неопределено Тогда
Если Пол = Перечисления.ПолФизическогоЛица.ПустаяСсылка() Тогда

Можно впринципе проверять оба случая.
20. Anosov_EP 17.05.23 09:29 Сейчас в теме
Здравствуйте!

На больших объемах данных происходит ошибка "Переполнение стека встроенного языка на сервере" в процедуре ПодменитьСвойствоТаблицыНаСлучайное.

Предлагаю такой вариант:

Процедура ПодменитьСвойствоТаблицыНаСлучайное(ГенераторСЧ, КоличествоСтрок, РезультатЗапроса, НоваяСтрока, Пол, ИмяСвойства)
	
	СлучайноеЧисло = ГенераторСЧ.СлучайноеЧисло(0, КоличествоСтрок - 1);
	СлучайнаяСтрока = РезультатЗапроса.Получить(СлучайноеЧисло);
	
	Если Пол = Неопределено Тогда 
		
		НоваяСтрока[ИмяСвойства]  = СлучайнаяСтрока[ИмяСвойства];
		
	Иначе
		
		//НАЧАЛО БЛОКА Устранение ошибки переполнения данных
		Пока Пол <> СлучайнаяСтрока.Пол Цикл
			СлучайноеЧисло = ГенераторСЧ.СлучайноеЧисло(0, КоличествоСтрок - 1);
			СлучайнаяСтрока = РезультатЗапроса.Получить(СлучайноеЧисло);
		КонецЦикла;
		//КОНЕЦ БЛОКА
		Если Пол = СлучайнаяСтрока.Пол Тогда 
			НоваяСтрока[ИмяСвойства]  = СлучайнаяСтрока[ИмяСвойства];	
		Иначе
			//Ищем дальше
                        //НАЧАЛО БЛОКА
			//ПодменитьСвойствоТаблицыНаСлучайное(ГенераторСЧ, КоличествоСтрок, РезультатЗапроса, НоваяСтрока, Пол, ИмяСвойства);
                        //КОНЕЦ БЛОКА
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
Показать
Оставьте свое сообщение