⬅️ Обезличивание данных в базах: в чем сложность и как организовать процесс ➡️
В последние два года закон сильно изменился: за нарушения, связанные с защитой персональных данных, теперь грозят штрафы до 500 млн рублей. Для бизнеса это означает, что утечка данных становится непозволительной роскошью.
🔍 В чем сложность
➡️ Чувствительные данные не всегда очевидны — и найти их в базах трудно. Например, ИНН необходимо отличать от случайного набора цифр — для этого требуются проверка контрольных сумм и словари.
➡️ Нужно единообразие преобразований: если данные распределены по нескольким центрам обработки данных (ЦОД), одни и те же исходные значения должны преобразовываться в идентичные обезличенные. В противном случае данные утрачивают связность и становятся непригодными для анализа.
➡️ Существуют скрытые объекты базы данных: материализованные представления (Material View), логи к ним (Material View Log) и ограничения целостности (Constraints). О них часто забывают, и именно они становятся причиной сбоев или остановок процесса обезличивания.
➡️ Параметры СУБД могут создавать дополнительные сложности. Например, низкое значение параметра INITRANS в Oracle приводит к взаимным блокировкам при массовых обновлениях. Проблема решается ручным управлением блокировками, поскольку простое изменение настройки в данном случае невозможно.
📌 И главное: данные должны оставаться валидными. Нельзя превратить имя в бессмысленный набор символов — нужно сохранять формат, контрольные суммы для СНИЛС и ИНН, и даже попадание даты рождения в нужную половину месяца, если на это завязаны расчёты.
Рассказываем, как внедрить обезличивание качественно — и делимся техническими лайфхаками для Oracle: вместо последовательной обработки таблиц переходим на встречное распараллеливание — и так сокращаем время обработки в разы.
💾 Подробности — в статье на сайте DataSan по ссылке.
Post #52
258

- ❤ 4
- 🔥 2