Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 01 липня 2026

Clonio CLI: Клонування Продакшн-Бази з Анонімізацією Даних

Clonio CLI копіює продакшн-базу даних у розробницьке, CI та тестове середовища, переписуючи чутливі колонки під час передачі - генерує фейкові імена та email-адреси, маскує токени та перепризначає первинні ключі, щоб дані залишалися придатними для використання, але більше не ідентифікували реальних людей.

Ключові можливості

  • Анонімізація окремих колонок за допомогою стратегій fake, mask, hash, static, null та template
  • Ремапінг ключів, який перепризначає первинні ключі та оновлює зовнішні ключі, що на них посилаються
  • Виявлення PII за допомогою матчерів, які позначають чутливі колонки без трансформації
  • Підписані артефакти аудиту, що зберігаються локально, в S3, Slack, Teams або надсилаються електронною поштою
  • Декілька варіантів розповсюдження - окремий бінарник, PHAR, Docker-образ або Composer dev-залежність

Конфігурація зберігається у файлі .cloning.yaml під контролем версій, який посилається на назви з'єднань, а не на облікові дані, тому його безпечно комітити разом із кодом додатку.

Стратегії трансформації колонок

Кожна колонка, яку потрібно змінити, отримує стратегію у YAML-файлі. Колонки, які ви не вказуєте, копіюються без змін, тому описувати потрібно лише ті дані, які потребують перетворення. Доступні стратегії:

  • fake - генерація синтетичних значень за допомогою FakerPHP
  • mask - збереження кількох перших символів із маскуванням решти
  • hash - односторонній хеш значення (псевдонімізація, а не справжня анонімізація)
  • static - заміна на фіксований рядок
  • null - встановлення значення NULL
  • template - поєднання літерального тексту з плейсхолдерами faker
  • remapping - призначення нових первинних ключів та оновлення зовнішніх ключів, що на них посилаються

Приклад скороченої конфігурації для таблиці users:

version: "1"
connection: production
options:
  faker_locale: de_DE
tables:
  users:
    rows:
      strategy: last
      limit: 5000
      sort_by: created_at
    columns:
      email:
        strategy: fake
        faker_method: safeEmail
      first_name:
        strategy: fake
        faker_method: firstName
      phone:
        strategy: mask
      internal_notes:
        strategy: "null"

Clonio чітко зазначає, що вихідні дані стратегії hash усе ще вважаються персональними даними згідно з GDPR, і рекомендує використовувати fake або null, коли повторна ідентифікація має бути неможливою.

Ремапінг ключів між пов'язаними таблицями

Копіювання рядків у цільову базу даних може призвести до конфліктів із існуючими первинними ключами. Стратегія remapping замінює первинні ключі таблиці новими значеннями та послідовно оновлює зовнішні ключі в залежних таблицях, щоб референційна цілісність зберігалася при передачі, а не порушувалася під час імпорту.

Виявлення персональних даних

Замість того, щоб покладатися на вас у пошуку кожної чутливої колонки вручну, Clonio постачається з матчерами, які позначають колонки, що ймовірно містять PII. Команда matchers:init налаштовує базові шаблони, matchers:list показує діючі правила, а matchers:check валідує ваші таблиці відповідно до них - це спосіб виявити нову колонку email або tax_id, яку хтось додав без стратегії трансформації.

Аудиторський слід

Кожен запуск клонування може створювати підписаний артефакт аудиту плюс структуровані логи, що записуються локально, у S3-сумісне сховище або надсилаються до Slack, Microsoft Teams чи електронною поштою. Команда cloning:verify-audit перевіряє цілісність цих логів постфактум, що важливо, коли потрібно продемонструвати, що продакшн-дані були анонімізовані перед потраплянням у менш довірене середовище.

Встановлення та використання

Clonio працює як окремий бінарник (Linux x86_64/aarch64 та macOS Apple Silicon, PHP не потрібен), PHAR-архів для PHP 8.5+, Docker-образ (ghcr.io/clonio-dev/clonio:latest) або Composer dev-залежність:

composer require --dev clonio-dev/clonio-cli

Базовий робочий процес полягає в ініціалізації проєкту, реєстрації продакшн-з'єднання, генерації конфігурації клонування з його схеми та запуску проти цільового середовища:

clonio init
clonio connection:add production --production
clonio cloning:dump --connection production
clonio cloning:run production.cloning.yaml --target ci

Вихідний код, документацію та релізи можна знайти на GitHub.

6

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Новини 27 жовтня 2026

Filament v5.11.0: поля й віджети на React, Vue і Svelte та жорсткіший захист Livewire

Filament v5.11.0 дозволяє писати власні поля форм, компоненти схем і віджети на React, Vue, Svelte або чистому JavaScript. Паралельно v5.11.0 і v4.16.0 закривають для клієнта внутрішні Livewire-методи та стан і додають опційні ліміти для репітерів і пагінації таблиць.

2
Новини 27 жовтня 2026

Livewire 4.4.8 закриває обхід #[Authorize], а NativePHP Mobile - сім вразливостей

Livewire 4.4.8 виправляє GHSA-mhf7-xp6r-6qrc (CVSS 6.5): атрибут #[Authorize] можна було обійти й виконати дію над чужим записом. Того ж тижня NativePHP опублікувала сім попереджень для NativePHP for Mobile - виправлення в nativephp/mobile 4.6.1 і 3.3.11, але до користувачів вони дійдуть лише з новою збіркою застосунку.

1

Вакансії за темою

Readdle
7 днів тому

Senior Full Stack Web Developer — Platform Solutions

Senior Full Stack розробник у команду Platform Solutions. Завдання: проєктувати та підтримувати надійні backend-сервіси й веб-застосунки, рефакторити legacy-код, будувати REST API та мікросервіси, а також відповідати за поставку від планування до моніторингу в продакшені. Ключовий стек: Symfony і React.js, Docker, CI/CD, реляційні та нереляційні бази даних. Вимоги: 5+ років досвіду, тести, сильна відповідальність за результат і добрі комунікативні навички.

GBSFO
13 днів тому

Middle PHP Backend Developer (Claude / AI-Assisted Development)

Розробник PHP backend, який створюватиме, підтримуватиме та оптимізуватиме застосунки, API й інтеграції із зовнішніми сервісами, зокрема платіжними та Google-сервісами. Ключовий стек: PHP, Laravel або Symfony, MySQL, MongoDB, REST API, ORM. Вимоги: впевнене знання ООП, MVC та SOLID, досвід оптимізації запитів і регулярне практичне використання Claude або Claude Code у щоденній розробці.

АЛЛО
14 днів тому

Magento Developer

Розробка, підтримка та вдосконалення рішень на базі Magento 2 / Adobe Commerce: створення кастомних модулів, плагінів і розширень, оптимізація продуктивності інтернет-магазину та роботи з великими каталогами товарів, участь у code review і технічному плануванні. Потрібен комерційний досвід на Magento 2, впевнене володіння PHP, знання OOP/SOLID, Composer, PSR, Magento API, MySQL, Redis, Elasticsearch, Docker, CI/CD та Git. Symfony або Laravel будуть перевагою.

Пакети за темою

Laravel Sail

laravel/sail

Локальне середовище розробки на Docker без знання Docker: PHP, база даних, Redis, Meilisearch і Mailpit піднімаються однією командою. Стандартний спосіб запустити Laravel на новій машині.

1,912 v1.67.0 13 5

Laravel Cookie Consent

spatie/laravel-cookie-consent

Пакет допомагає привести Laravel-додаток у відповідність до вимог європейського законодавства щодо cookies.

1,493 3.5.0 13 5