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

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

Коментарі

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

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

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

PayZephyr
Новини 12 вересня 2026

PayZephyr: Єдиний API для роботи з Stripe, Paystack та PayPal

PayZephyr - Laravel-пакет від Nwaneri Chukwunyere Kenneth, який об'єднує вісім платіжних провайдерів під одним зручним API. Підтримує автоматичне перемикання, захист від подвійної оплати, підписки та повернення коштів.

2
Laravel Telescope
Новини 11 вересня 2026

Artisan-команди для дебагу в Laravel Telescope 5.24.0

Laravel Telescope 5.24.0 додає дві нові Artisan-команди для роботи із записами із терміналу. Тепер можна переглядати запити, винятки, джоби та запити до бази даних без відкриття веб-інтерфейсу, а також отримувати дані у форматі JSON для скриптів та AI-агентів.

3

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

Starlight Media Нова
2 дні тому

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.

AnyforSoft
5 днів тому

Drupal Developer

Розробник Drupal з досвідом 1+ років комерційної розробки. Основна робота: повнозмістова розробка й підтримка Drupal-додатків, розробка модулів, інтеграції REST API, работа з Drupal Commerce. Стек: Drupal 10/11, PHP, Twig, JavaScript, Git, Composer, Docker, DDEV, Gulp. Вимоги: глибоке розуміння архітектури Drupal, навички фронтенду (HTML, SCSS), тестування, CI/CD.

SendPulse
15 днів тому

Middle+ PHP Developer (with DevOps)

Middle+ PHP Developer з DevOps-експертизою для мультикоманди, що розробляє CRM та освітню платформу. Основна роль: проєктування й реалізація модулів на PHP 8 і Laravel, оптимізація під високе навантаження, розробка інтеграцій. DevOps-компонент: налаштування CI/CD, контейнеризація (Docker/Kubernetes), управління AWS-інфраструктурою. Вимоги: глибока експертиза Laravel, Docker, Kubernetes, Git, технічна англійська.

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

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,499 3.5.0 13 4