Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 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

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

Коментарі

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

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

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

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

15
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

11

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

Backend Developer Middle

Розробник backend для web і мобільних застосунків. Основний стек: PHP, Laravel, WordPress. Очікується досвід роботи з REST API, базами даних (MySQL, PostgreSQL, MS SQL), інтеграціями зовнішніх сервісів, написанням тестів. Вимагається практичний досвід Laravel та впевнене знання PHP, ООП, SOLID, Git, Linux. Робота з командою над різноплановими проєктами.

GGLUXOUTLET
10 днів тому

Senior+/Tech Lead Full-Stack WordPress Developer / Code Architect

Досвідчений Senior+/Tech Lead Full-Stack WordPress розробник для проєктування та розробки високонавантажених e-commerce рішень. Потрібні глибокі знання WordPress Core, WooCommerce, PHP 8.1+ з SOLID/ООП, React/Next.js для фронтенду, Python для автоматизації, DevOps (VPS, Docker, CI/CD) та AI-інтеграцій. Роль включає архітектуру, код-рев'ю, менторство і комунікацію з бізнесом. Мінімум 7 років досвіду, з них 3+ на WordPress/WooCommerce у високонавантажених проєктах.

Starlight Media
33 дні тому

Senior Full-Stack Developer (PHP, Go, Vue.js)

Senior Full-Stack розробник для розвитку та підтримки веб-платформ. Основні завдання: розробка на PHP (Yii2, Laravel), Go, Vue.js, MySQL оптимізація, REST API, рефакторинг коду. Вимоги: 3+ років досвіду, PHP 8.x ООП, досвід Go або готовність його розвивати, JavaScript ES6+, Git, Docker, англійська B1-B2.

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

Laravel Sail

laravel/sail

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

1,912 v1.67.0 13 4

Laravel Cookie Consent

spatie/laravel-cookie-consent

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

1,495 3.5.0 13 5