Обезличивание — это преобразование данных в базах таким образом, чтобы по ним нельзя восстановить исходные (в отличие, к примеру, от шифрования с ключом). При этом они остаются пригодными для работы: сохраняется структура записей, форматы значений и связи между таблицами. Благодаря этому обезличенные данные можно использовать в тестовых средах и для разработки — они будут вести себя так же, как реальные, но без риска утечки.
Сегодня тестовые среды почти всегда строятся автоматически и регулярно обновляются. То есть данные туда тоже попадают автоматически — чаще всего через копии продуктивных баз или их фрагментов.
CI/CD как раз и существует для того, чтобы убрать человеческий фактор из повторяющихся операций.
Если реальные данные хотя бы на короткое время попадают в тестовый контур, они начинают распространяться дальше по инфраструктуре. База попадает в резервные копии, снимки виртуальных машин и контейнеров, артефакты CI/CD, временные выгрузки для отладки. Даже если через несколько минут данные будут обезличены, оригиналы могут остаться в нескольких местах.CI/CD как раз и существует для того, чтобы убрать человеческий фактор из повторяющихся операций.
backup_prod → anonymize_data → deploy_test
Ключевая мысль для бизнеса простая: мы не рассчитываем на дисциплину команды, мы строим процесс так, чтобы нарушение было технически невозможно.