Kembali ke BlogTeknikal

Membina Saluran Data Selamat GDPR: Menganonimkan PII...

Tag lajur dbt bukan pematuhan GDPR. Data pelanggan mentah mencapai warehouse Snowflake anda tanpa topeng sebelum polisi berasaskan tag digunakan.

April 20, 20268 min baca
data pipelinedbtSnowflakedata warehouseELT anonymizationGDPR engineering

Membina Saluran Data Selamat GDPR: Menganonimkan PII Sebelum Tiba ke Data Warehouse Anda

Anda telah melabel lajur PII anda dalam dbt. Polisi penyamaran data dinamik anda dikonfigurasi dalam Snowflake. Anda berasa mematuhi GDPR.

Data mentah anda masih tiba di warehouse tanpa topeng. Polisi penyamaran digunakan pada masa pertanyaan — tetapi data mentah yang tidak tertopeng masih wujud dalam lapisan mentah anda, tersedia untuk siapa saja dengan akses skema mentah. Model dbt anda berjalan sebelum polisi penyamaran anda disediakan, dan data mentah bersejarah tidak pernah tertopeng.

Jurang antara "kami mempunyai polisi penyamaran" dan "data kami benar-benar dilindungi" adalah tempat pelanggaran GDPR berlaku.

Bagaimana Saluran ELT Mencipta Pendedahan PII

Pola Extract-Load-Transform (ELT) — dominan dalam kejuruteraan data moden — memuatkan data mentah ke dalam warehouse terlebih dahulu, kemudian mengubahnya:

  1. Ekstrak: Data sistem sumber (Salesforce CRM, Stripe pembayaran, Intercom sokongan) diekstrak dengan semua medan
  2. Muat: Data mentah dimuat ke dalam skema mentah warehouse — Snowflake, BigQuery, Redshift — termasuk semua medan PII
  3. Ubah: Model dbt berjalan untuk membersihkan, menyambung, dan mengagregatkan data untuk penggunaan analitik

Lapisan mentah mengandungi data peribadi yang tidak tertopeng dan lengkap: nama pelanggan, alamat e-mel, nombor telefon, maklumat pembayaran, kandungan tiket sokongan. Sesiapa yang mempunyai akses ke skema mentah — dan dalam banyak organisasi, itu set luas jurutera data dan penganalisis — boleh membuat pertanyaan terus ke dalamnya.

Penyamaran dinamik berasaskan tag dalam Snowflake membantu pada masa pertanyaan untuk model hiliran yang dikonfigurasi dengan betul. Tetapi ia tidak tertopeng secara retroaktif data mentah. Ia tidak melindungi terhadap pertanyaan skema mentah langsung. Ia memerlukan setiap model dan papan pemuka hiliran untuk dilabel dengan betul — beban penyelenggaraan yang berkembang dengan kerumitan skema.

Pendekatan Penganoniman Peringkat Saluran

Menganonimkan PII pada peringkat saluran — sebelum data tiba di warehouse — menghapuskan pendedahan lapisan mentah:

Pendekatan ETL (penganoniman pra-muat):

  1. Ekstrak data dari sistem sumber
  2. Halakan melalui langkah penganoniman
  3. Muat data yang telah dibenamkan ke dalam warehouse

Warehouse tidak pernah menerima PII mentah. Skema mentah mengandungi data yang telah dibenamkan. Model hiliran, papan pemuka, dan pertanyaan langsung semuanya berfungsi dengan data yang telah dibenamkan.

Ini memerlukan sama ada:

  • Penganoniman disatukan ke dalam langkah ekstrak (peringkat API)
  • Penganoniman sebagai peringkat saluran antara ekstrak dan muat

Pilihan pelaksanaan — integrasi API: Untuk sistem dengan outbound webhooks atau eksport penstriman, halakan data melalui API anonym.legal sebelum tiba di warehouse. Tiket sokongan pelanggan meninggalkan Intercom → API penganoniman → warehouse. Rekod pembayaran Stripe → API penganoniman → warehouse.

POST /api/anonymize
{
  "text": "Pelanggan John Smith (john@example.com) melaporkan...",
  "entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
  "method": "replace"
}

Pilihan pelaksanaan — Prapemprosesan Batch: Untuk data bermuatan batch (eksport harian/mingguan dari sistem sumber), jalankan fail yang dieksport CSV/JSON melalui pemprosesan batch sebelum memuatkan ke warehouse.

Struktur DAG Airflow:

extract_task >> anonymize_batch_task >> load_to_warehouse_task

Tugas anonymize_batch_task memuat fail yang diekstrak untuk pemprosesan batch dan mengambil semula versi yang telah dibenamkan. Tugas muat memuat fail yang telah dibenamkan.

Tag Lajur dbt: Apa yang Mereka Lakukan dan Tidak Lakukan

dbt menyokong pelabelan lajur PII:

models:
  - name: stg_customers
    columns:
      - name: email
        tags: ['pii', 'email']
      - name: full_name
        tags: ['pii', 'personal_data']

Ini membolehkan:

  • Dokumentasi lokasi PII
  • Pencetusn polisi penyamaran hiliran (memerlukan konfigurasi peringkat warehouse)
  • Penjejakan lineage (alat seperti secoda dapat mengesan lajur yang dilabel melalui model hiliran)

Ini tidak membolehkan:

  • Penyamaran data mentah dalam skema mentah
  • Perlindungan terhadap pertanyaan langsung jadual mentah
  • Penganoniman automatik pada masa muat
  • Penyamaran retroaktif data bersejarah

Tag lajur dbt adalah alat dokumentasi dan tadbir urus. Mereka berharga untuk memahami di mana PII wujud dalam model data anda. Mereka tidak melaksanakan "langkah teknik yang sesuai" yang Perkara 32 GDPR memerlukan untuk perlindungan data.

Jurang Penyamaran Data Dinamik Snowflake

Penyamaran data dinamik Snowflake menggunakan polisi penyamaran ke lajur, menyembunyikan data dari pengguna tanpa hak pembukaan topeng pada masa pertanyaan

Sedia untuk melindungi data anda?

Mulakan pengenalan PII dengan 285+ jenis entiti dalam 48 bahasa.