GDPR Uyumlu Boru Hattı: KKV'yi Depolamadan Önce Anonimleştirin
2026 için Güncellendi
dbt'de KKV sütunlarını etiketlediniz. Snowflake'te dinamik maskeleme kurulumu yaptınız. GDPR uyumlu olduğunuzu düşünüyorsunuz.
Kaynak içerik hâlâ ambara maskelenmemiş olarak ulaşıyor. Maskeleme sorgu zamanında çalışır. Maskelenmemiş içerik ham şemanızda oturuyor. Ham şema erişimi olan herkes onu okuyabilir. dbt modelleriniz, maskeleme politikaları oluşturulmadan önce çalıştı. Eski alınan tablolar hiç maskelenmedi.
"Maskeleme politikalarımız var" ile "boru hattımız güvenli" arasındaki boşluk, GDPR ihlallerinin yaşandığı yerdir.
Anonym.legal'in GDPR'ı nasıl desteklediği için uyum genel bakışımıza bakın.
ELT Boru Hatları KKV'yi Nasıl Açığa Çıkarır
Çıkar-Yükle-Dönüştür (ELT) kalıbı artık standart haline geldi. Kaynak verileri önce ambara yükler. Dönüşümler sonra gelir. Adımlar şöyle görünür:
- Çıkar: Kaynak sistemler tüm alanları dışa aktarır. Salesforce CRM, Stripe ödemeleri, Intercom desteği — her şey çıkar.
- Yükle: Kaynak veriler ambarın alım şemasına düşer. Snowflake, BigQuery, Redshift hepsi aynı şekilde çalışır. Her KKV alanı dahil edilir.
- Dönüştür: dbt modelleri analitik için veriyi temizler ve birleştirir.
Alım katmanı tam kişisel bilgi tutar. İsimler, e-posta adresleri, telefon numaraları, ödeme ayrıntıları, destek bileti metni. Pek çok ekipte mühendisler ve analistler ham şema erişimine sahiptir. Bu tablolara istedikleri zaman sorgu atabilirler.
Snowflake'teki etiket tabanlı maskeleme, sorgu zamanında yardımcı olur. Ancak yalnızca düzgün kurulmuş aşağı akış modelleri için. Eski alınan tabloları maskelemez. Doğrudan şema sorgularını engellemez. Her model ve panelin etiketlenmesi gerekir. Bu yük, şema büyüdükçe artar.
Yüklemeden Önce Anonimleştirin
Boru hattı düzeyinde KKV'yi anonimleştirmek, ham katman riskini ortadan kaldırır. Bunu içerik ambara ulaşmadan önce yapın.
ETL yaklaşımı (yüklemeden önce anonimleştirme):
- Kaynak sistemlerden çıkar
- Anonimleştirme adımından geçir
- Temiz çıktıyı ambara yükle
Ambar hiçbir zaman maskelenmemiş KKV almaz. Alım şeması yalnızca temiz içerik tutar. Aşağı akış modelleri, panolar ve doğrudan sorgular temiz çıktıyla çalışır.
İki ana yol vardır.
Seçenek 1 — API entegrasyonu:
Web kancaları veya akış dışa aktarımları olan sistemler için girişleri önce anonym.legal API'sinden geçirin. Intercom'dan çıkan destek biletleri ambara gitmeden önce API'den geçer. Stripe dışa aktarımları da aynı şekilde.
POST /api/anonymize
{
"text": "Müşteri John Smith (john@example.com) bildirdi...",
"entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
"method": "replace"
}
Seçenek 2 — Toplu ön işleme:
Günlük veya haftalık CSV/JSON dosya dışa aktarımları için, yüklemeden önce dosyaları toplu işlemden geçirin.
Airflow DAG yapısı:
extract_task >> anonymize_batch_task >> load_to_warehouse_task
Anonimleştirme görevi dosyaları yükler ve temiz versiyonlarını alır. Yükleme görevi geri kalanını halleder.
Alt işlemci ve veri akışı ayrıntıları için güvenlik uygulamaları sayfamıza bakın.
dbt Sütun Etiketlerinin Yapıp Yapamadıkları
dbt, KKV sütunlarını etiketlemenize izin verir:
models:
- name: stg_customers
columns:
- name: email
tags: ['pii', 'email']
- name: full_name
tags: ['pii', 'personal_data']
Etiketlerle yapabilecekleriniz:
- KKV'nin nerede yaşadığını belgeleyin
- Aşağı akış maskeleme politikalarını tetikleyin (ambar düzeyinde kurulum gerektirir)
- Secoda gibi araçlarla köken takibi yapın
Etiketlerin yapamadıkları:
- Ham şemadaki alınan tabloları maskeleme
- Doğrudan tablo sorgularını engelleme
- Yükleme zamanında veriyi anonimleştirme
- Eski veriyi geriye dönük olarak maskeleme
dbt sütun etiketleri bir yönetişim aracıdır. KKV'nin nerede olduğunu gösterir. GDPR Madde 32'nin gerektirdiği "uygun teknik tedbirleri" uygulamaz.
Snowflake Maskeleme Açığı
Snowflake'in dinamik maskelemesi, sütun içeriğini kullanıcılardan sorgu zamanında gizler. Üretim kullanımı için güçlü bir kontroldür. Ancak net sınırları vardır.
Temel sınırlar:
- Her yeni sütun için açık bir politika gerekir
- Şema değişiklikleri, politikaları güncelleyene kadar yeni sütunları maskelenmemiş bırakabilir
- SYSADMIN ve ACCOUNTADMIN rolleri maskelemeyi atlayabilir
- İçe aktarma işleri çoğunlukla maskelemeyi atlayan yüksek ayrıcalıklarla çalışır
- Politikalar belirlenmeden yüklenen eski veriler düz biçimde saklanır — politikalar yazma zamanında değil, okuma zamanında çalışır
Sorgu zamanında maskeleme yeterli değildir. Veri depolanmadan önce temiz olmalıdır.
Uyum Belgelendirmesi
GDPR'ın hesap verebilirlik kuralı kanıt gerektirir. Söz yeterli değildir. Mühendislik ekipleri için bu yazılı kayıtlar anlamına gelir.
İşleme Faaliyetleri Kaydı (ROPA): Müşteri bilgilerinin analitik ambara yüklenmeden önce anonimleştirildiğini belgeleyin. Anonimleştirme adımı, GDPR kapsamında bir işleme faaliyetidir.
Teknik tedbir notları: Boru hattınızın hedeflediği varlık türlerini yazın. Kullanılan anonimleştirme yöntemini not edin. Toplu çalışma günlükleri bunu ücretsiz sağlar.
Veri köken takibi: Secoda veya dbt'nin yerleşik köken takibi, kaynak tabloların analitik modellere ulaşmadan önce bir anonimleştirme adımından geçtiğini gösterebilir. Bu, denetim izinizdir.
Tedarikçi kaydı: Anonimleştirme hizmeti bir alt işlemcidir. Veri İşleme Sözleşmeleri ve gizlilik politikaları tedarikçi kaydınızda yer almalıdır.
Uygulama Adımları
dbt ve Snowflake boru hattı için:
Adım 1: Ham katmanı denetleyin
Hangi tabloların kişisel bilgi içerdiğini bulun. KKV etiketli tabloları bulmak için dbt sütun etiketlerinizi veya kataloğunuzu sorgulayın.
Adım 2: Anonimleştirme kapsamını belirleyin
Her kaynak tablo için hangi sütunların KKV içerdiğine karar verin. Ardından hangilerinin anonimleştirme, hangilerinin sözde anonimleştirme gerektirdiğine karar verin. Destek bileti gövdesi: anonimleştir. Sipariş kimliği: birleştirme anahtarlarını korumak için sözde anonimleştir. Zaman damgası: zaman serisi analizi için olduğu gibi bırak.
Adım 3: Bir uygulama yolu seçin
Toplu dışa aktarımlarla küçük ekip: yüklemeden önce toplu dosya işlemeyi kullanın. Mühendislik ekibi mevcut: Airflow veya Prefect'te API entegrasyonu oluşturun.
Adım 4: Test edin ve doğrulayın
Canlıya geçmeden önce bir örnek üzerinde anonimleştirme çalıştırın. dbt modellerinin hâlâ çalışıp çalışmadığını kontrol edin. Bazı modeller e-posta üzerinden birleştirir. Bunlar tutarlı değiştirme değerleri gerektirir. Sözde anonimleştirme birleştirme anahtarlarını korur. Redaksiyon onları bozar.
Adım 5: Eski ham tabloları işleyin
Anonimleştirme kurulmadan önce yüklenen içeriğin geriye dönük işlenmesi gerekir. Dışa aktarın, anonimleştirin, yeniden yükleyin. Bu tablo başına tek seferlik bir görevdir.
Sonuç
Etiket tabanlı maskeleme, KKV'nin nerede yaşadığını gösterir. Şema erişimi olan kullanıcıların onu okumasını engellemez. Gerçek GDPR uyumu için, KKV ambara ulaşmadan önce temiz olmalıdır. Bu, alım katmanını üretim katmanı kadar güvenli kılar.
Bu, sütun etiketlemekten daha zordur. Ancak "uygun teknik tedbirler" gerçekte bunu ifade eder.