Bloga DönTeknik

GDPR Güvenli Veri Boru Hattı Oluşturma...

dbt sütun etiketleri GDPR uyumlu değildir. Ham müşteri verileri, etiket tabanlı politikalar uygulanmadan önce maske olmadan Snowflake ambarınıza ulaşır.

April 19, 20268 dk okuma
data pipelinedbtSnowflakedata warehouseELT anonymizationGDPR engineering

GDPR Güvenli Veri Boru Hattı Oluşturma: PII'yi Veri Ambarınıza Ulaşmadan Anonimleştirme

PII sütunlarınızı dbt'de etiketlediniz. Dinamik veri maskeleme politikanız Snowflake'te yapılandırıldı. GDPR uyumlu hissediyorsunuz.

Ham veriniz yine de maske olmadan ambarınıza ulaşır. Maskeleme politikası sorgulama zamanında uygulanır — ancak ham, maske olmadan veriler, ham şemaya erişimi olan herkesin erişebileceği ham katmanınızda mevcuttur. dbt modelleriniz, maskeleme politikalarınız devreye girmeden önce çalıştı ve tarihsel ham veriler asla maskelenmedi.

"Maskeleme politikalarımız var" ile "verilerimiz gerçekten korunuyor" arasındaki boşluk, GDPR ihlallerinin gerçekleştiği yerdir.

ELT Boru Hatlarının PII Açığa Çıkarması

Extract-Load-Transform (ELT) modeli — modern veri mühendisliğinde baskın — önce ham verileri ambarınıza yükler, ardından dönüştürür:

  1. Çıkart: Kaynak sistem verileri (Salesforce CRM, Stripe ödemeleri, Intercom destek) tüm alanlarla birlikte çıkartılır
  2. Yükle: Ham veriler, tüm PII alanlarını içeren ambarın ham şemasına yüklenir — Snowflake, BigQuery, Redshift
  3. Dönüştür: dbt modelleri, analitik kullanım için verileri temizlemek, birleştirmek ve toplamak üzere çalışır

Ham katman, maske olmadan, eksiksiz kişisel verileri içerir: müşteri adları, e-posta adresleri, telefon numaraları, ödeme bilgileri, destek talebi içeriği. Ham şemaya erişimi olan herkes — ve birçok organizasyonda bu, geniş bir veri mühendisleri ve analistleri setidir — doğrudan sorgulayabilir.

Snowflake'teki etiket tabanlı dinamik maskeleme, düzgün yapılandırılmış aşağı akış modelleri için sorgulama zamanında yardımcı olur. Ancak, ham verileri geriye dönük olarak maskelemiyor. Doğrudan ham şema sorgularına karşı koruma sağlamıyor. Her aşağı akış modelinin ve panosunun düzgün bir şekilde etiketlenmesini gerektiriyor — bu, şema karmaşıklığı ile artan bir bakım yüküdür.

Boru Hattı Düzeyinde Anonimleştirme Yaklaşımı

Verileri ambarınıza ulaşmadan önce boru hattı düzeyinde PII'yi anonimleştirmek, ham katman açığını ortadan kaldırır:

ETL yaklaşımı (ön yükleme anonimleştirmesi):

  1. Kaynak sistemlerden veri çıkartın
  2. Anonimleştirme adımından geçirin
  3. Anonimleştirilmiş verileri ambarınıza yükleyin

Ambar asla ham PII almaz. Ham şema, anonimleştirilmiş verileri içerir. Aşağı akış modelleri, panolar ve doğrudan sorgular tümü anonimleştirilmiş verilerle çalışır.

Bu, ya:

  • Çıkartma adımına entegre edilmiş anonimleştirme (API düzeyinde)
  • Çıkartma ve yükleme arasında bir boru hattı aşaması olarak anonimleştirme gerektirir.

Uygulama seçeneği — API entegrasyonu: Dışa dönük web kancaları veya akış dışa aktarımları olan sistemler için, verileri ambarınıza ulaşmadan önce anonym.legal API'sinden geçirin. Intercom'dan çıkan müşteri destek talepleri → anonimleştirme API'si → ambar. Stripe ödeme kayıtları → anonimleştirme API'si → ambar.

POST /api/anonymize
{
  "text": "Müşteri John Smith (john@example.com) bildirdi...",
  "entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
  "method": "replace"
}

Uygulama seçeneği — Toplu ön işleme: Toplu yüklenen veriler (kaynak sistemlerden günlük/haftalık dışa aktarımlar) için, dışa aktarılan CSV/JSON dosyalarını ambarınıza yüklemeden önce toplu işleme tabi tutun.

Airflow DAG yapısı:

extract_task >> anonymize_batch_task >> load_to_warehouse_task

Anonymize_batch_task, çıkarılan dosyaları toplu işleme yükler ve anonimleştirilmiş sürümleri alır. Load task, anonimleştirilmiş dosyaları yükler.

dbt Sütun Etiketleri: Ne Yapar ve Ne Yapmaz

dbt, PII sütunlarını etiketlemeyi destekler:

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

Bu, şunları sağlar:

  • PII konumlarının belgelenmesi
  • Aşağı akış maskeleme politikalarının tetiklenmesi (ambar düzeyinde yapılandırma gerektirir)
  • Soy ağacı takibi (secoda ve benzeri araçlar, etiketlenmiş sütunları aşağı akış modelleri aracılığıyla izleyebilir)

Bu, şunları sağlamaz:

  • Ham şemada ham verilerin maskelemesi
  • Ham tabloların doğrudan sorgularına karşı koruma
  • Yükleme zamanında otomatik anonimleştirme
  • Tarihsel verilerin geriye dönük maskelemesi

dbt sütun etiketleri, bir belge ve yönetişim aracıdır. PII'nin veri modelinizde nerede bulunduğunu anlamak için değerlidirler. GDPR Madde 32'nin veri koruma için gerektirdiği "uygun teknik önlemleri" uygulamazlar.

Snowflake Dinamik Veri Maskeleme Açığı

Snowflake'in dinamik veri maskelemesi, sorgulama zamanında maskeleme ayrıcalığı olmayan kullanıcılardan verileri gizleyerek sütunlara maskeleme politikaları uygular. Bu, üretim kullanım senaryoları için güçlü bir kontrol sağlar.

Sınırlamalar:

  • Maskeleme, yapılandırıldığı sütunlara uygulanır — ilk yapılandırmadan sonra eklenen herhangi bir sütun, açık bir politika uygulaması gerektirir
  • Şema evrimi (yeni sütunlar, yeniden adlandırılan sütunlar) maske olmadan PII sütunları oluşturabilir, politikalar güncellenene kadar
  • SYSADMIN rolüne veya ACCOUNTADMIN'e sahip kullanıcılar genellikle maskeleme atlayabilir
  • Ham veri ithalat süreçleri genellikle maskeleme atlamasına neden olan yükseltilmiş ayrıcalıklarla çalışır
  • Politika uygulanmadan önce yüklenen tarihsel veriler maske olmadan saklanır (politikalar okuma zamanında, depolama zamanında uygulanır)

Gerçek koruma için, sorgulama zamanında maskeleme yetersizdir. Veriler, depolamadan önce anonimleştirilmelidir.

Analitik Boru Hatları için Uyum Belgeleri

GDPR'nin hesap verebilirlik ilkesi, sadece iddia etmekle kalmayıp uyumu gösterme gerektirir. Veri mühendisliği ekipleri için bu, şunu ifade eder:

İşleme Faaliyetleri Kayıtları (ROPA): Müşteri verilerinin analitik ambarına yüklenmeden önce anonimleştirildiğini belgeleyin. Boru hattınızdaki anonimleştirme adımı, GDPR kapsamında bir işleme faaliyetidir.

Teknik koruma belgeleri: Boru hattınızdaki anonimleştirme yapılandırması (hangi varlık türleri, hangi yöntem) kullanılmaktadır. Toplu çalışmalardan alınan işleme meta verileri bunu otomatik olarak sağlar.

Veri soyu: Secoda veya dbt'nin yerleşik soyu gibi araçlar, kaynak sistem verilerinin analitik modellere ulaşmadan önce bir anonimleştirme adımından geçtiğini gösterebilir. Bu soy, uyum denetim izinizdir.

Alt işleyici belgeleri: Anonimleştirme hizmeti bir alt işleyicidir. DPA'ları ve gizlilik politikaları, tedarikçi kaydınızda belgelenmelidir.

Pratik Uygulama Kılavuzu

Snowflake ile dbt tabanlı bir boru hattı için:

Adım 1: Ham katman açığını denetleyin Ham şemanızda hangi tabloların kişisel veriler içerdiğini belirleyin. PII etiketli tablolar için dbt sütun etiketlerinizi veya veri kataloğunuzu sorgulayın.

Adım 2: Anonimleştirme kapsamını belirleyin Her ham tablo için: Hangi sütunlar PII içeriyor? Hangileri anonimleştirilmeli, hangileri korunmalı? (Müşteri destek talebi içeriği: anonimleştir. Sipariş ID'si: varlık çözümü için tutarlı değiştirme ile taklit et. Zaman damgası: zaman serisi analizi için koru.)

Adım 3: Uygulama yaklaşımını seçin Küçük ekip, toplu yüklenen veri: yüklemeden önce toplu dosya işleme Veri mühendisliği kaynakları: Airflow/Prefect boru hattında API entegrasyonu

Adım 4: Test et ve doğrula Üretim uygulamasından önce ham verilerin bir örneği üzerinde anonimleştirme çalıştırın. Aşağı akış dbt modellerinin anonimleştirilmiş girdi ile hala doğru çalıştığını doğrulayın. Bazı modeller, birleştirme için e-posta adreslerini kullanabilir — bunlar tutarlı değiştirme değerleri kullanmalıdır (taklit, birleştirme anahtarlarını korur, redaksiyon bunları bozar).

Adım 5: Tarihsel verileri yönetin Mevcut ham veriler (anonimleştirme uygulanmadan önce yüklenen) geriye dönük işleme gerektirir. Dışa aktar, anonimleştir, yeniden yükle. Bu, her tarihsel tablo için bir kez yapılan bir işlemdir.

Sonuç

Etiket tabanlı maskeleme bir yönetişim aracıdır, güvenlik kontrolü değildir. PII'nizin nerede olduğunu size söyler; PII'nizin ham şemaya erişimi olan kullanıcılara ifşa edilmesini önlemez. Veri boru hatlarında gerçek GDPR uyumu için, PII'nin ambarınıza ulaşmadan önce anonimleştirilmesi gerekir — ham katmanı, üretim katmanı kadar güvenli hale getirir.

Bu, sütun etiketlemeden daha karmaşık bir uygulamadır, ancak "uygun teknik önlemler" aslında neyi gerektiriyorsa budur.

Kaynaklar:

Verilerinizi korumaya hazır mısınız?

48 dilde 285+ varlık türü ile PII anonimleştirmeye başlayın.