Yasal Saklama ve Veri Yaşam Döngüsü Temizleme
Yasal Saklama ve Veri Yaşam Döngüsü Temizleme, bir veri sahibi silme talebini (örneğin GDPR Madde 17 veya KVKK kapsamında) ya da zamanlanmış bir saklama politikasını doğrudan veritabanına dokunmadan yerine getirmenizi sağlar; tüm geri dönüşü olmayan işlemler önizleme → onay → çalıştırma akışı boyunca iki farklı kişi tarafından yürütülecek şekilde korunur. Bu sayfa işlevsel bir açıklamadır, hukuki görüş niteliği taşımaz — belirli bir mevzuatı karşılayıp karşılamadığı kendi hukuk danışmanlığınızın kararıdır.
Yasal Saklama (Legal Hold)
Yasal saklama tek bir özne üzerine konur — bir Tüketici (Consumer), API İstemcisi (API Client), Uygulama (Application) veya Kurum (Organization) — ve aktif olduğu sürece o özne için tüm yıkıcı yolları engeller:
- Öznenin kendi silme ekranları ve API'leri reddedilir.
- Bu özne için her temizleme türü önizleme aşamasında reddedilir; böylece devam eden bir inceleme yanlışlıkla silinmez.
Saklama koymak bir gerekçe gerektirir; isteğe bağlı olarak bir referans (örneğin bir dava veya ticket numarası) da eklenebilir. Saklamayı kaldırmak bir kaldırma gerekçesi gerektirir. Saklamanın kaldırılması kendi başına hiçbir şeyi silmez veya geri getirmez — yalnızca engeli kaldırır, özne normal yaşam döngüsüne geri döner. Bir saklamanın tam geçmişi (kim koydu, ne zaman, neden, kim kaldırdı, ne zaman, neden) kaldırıldıktan sonra bile saklanır; böylece kaldırılmış bir saklama, öznenin bir zamanlar korunduğunun kanıtı olarak görünür kalır.
| Saklama durumu | Anlamı |
|---|---|
| Active (Aktif) | Özne hiçbir ekran, API veya temizleme yoluyla silinemez |
| Released (Kaldırıldı) | Engel kaldırılmıştır; özne yeniden normal yaşam döngüsünü izler |
Temizleme ve Dört-Göz Akışı
Bir temizleme, tek bir özneyi dört temizleme türünden biriyle işler. Bir temizleme kişisel veriyi kalıcı olarak yok edebileceğinden her zaman dört aşamadan geçer; bir koşuyu onaylayan kişi, önizlemeyi yapan kişiyle aynı olamaz (tek istisna aşağıda anlatılan tek-yönetici durumudur):
Önizleme hiçbir şey yazmaz. Özneyi değerlendirir, tam olarak nelerin dokunulacağını koleksiyon bazında gösteren bir manifest ve bu manifestin parmak izi olan bir digest üretir. Özne uygun değilse (aktif bir yasal saklama, öznenin durumuna uymayan bir tür, henüz dolmamış bir saklama süresi vb.) önizlemenin kendisi reddedilir ve hiçbir şey oluşturulmaz.
Farklı bir kullanıcı önizlenen manifesti gözden geçirir ve digest'ini yeniden göndererek onaylar. Digest tam olarak eşleşmelidir — önizleme ile onay arasında altta yatan veri değiştiyse digest artık eşleşmez ve onay reddedilir, yeni bir önizleme zorunlu hale gelir.
Onay, koşuyu kuyruğa alır; koşu tam olarak onaylanan şeye karşı asenkron biçimde çalışır. İlerleme (işlenen / anonimleştirilen / silinen / iptal edilen / sonlandırılan / başarısız sayıları) koşu üzerinden izlenebilir.
Koşu ilk gerçek değişikliği (mutasyonu) uyguladığı anda geri dönülemez bir noktayı geçer. Bu andan önce koşu iptal edilebilir; bu andan sonra iptal reddedilir — koşunun tamamlanmasına izin verilmelidir.
Onaylayanın önizleyenden farklı biri olması kuralı, sistem yöneticisi (sysadmin) için esnetilir: tek yöneticili bir kurulum kendi önizlemesini onaylamaktan alıkonulmaz.
Onaylama, çalıştırma ve iptal etme işlemlerinin her biri, işlem gerçekleşmeden önce ekranda bir onay istiyor — kişisel veriyi yok edebilecek bir işlemde yanlışlıkla tıklamaya karşı bir güvenlik önlemi.
Koşu Durumu
| Durum | Anlamı |
|---|---|
| Previewed (Önizlendi) | Manifest ve digest oluşturuldu; henüz hiçbir şey yazılmadı |
| Approved (Onaylandı) | Farklı bir kullanıcı (veya bir yönetici) eşleşen digest'i onayladı; henüz çalıştırma kuyruğuna alınmadı |
| Queued (Kuyrukta) | Çalıştırma istendi ve başlamayı bekliyor |
| Running (Çalışıyor) | Çalı ştırma sürüyor |
| Success (Başarılı) | Manifestteki her kalem hatasız tamamlandı |
| Partial (Kısmi) | Çalıştırma bitti ama bir veya daha fazla kalem başarısız oldu ya da atlandı — koşunun bulgu listesine bakın |
| Failed (Başarısız) | Çalıştırma tamamlanamadı |
| Cancelled (İptal Edildi) | Geri dönülemez noktadan önce iptal edildi; hiçbir mutasyon uygulanmadı |
| Interrupted (Kesildi) | Çalıştırma tamamlanmadan beklenmedik biçimde durdu (örneğin bir düğüm yeniden başlatıldı) |
Temizleme Türleri
| Tür | Ne yapar | Ne yapmaz |
|---|---|---|
| Data Subject Erasure (Veri Sahibi Silme) | Öznenin kişisel verilerini kalıcı olarak siler — aşağıdaki özne tipine göre kapsam tablosuna bakın | Audit/geçmiş satırlarının kendisini kaldırmaz (yalnızca kişisel alanlarını), zaten yazılmış trafik loglarını yeniden yazmaz |
| Correction Purge (Düzeltme Temizliği) | Yanlışlıkla oluşturulmuş, henüz operasyonel duruma geçmemiş (örn. hiç aktifleştirilmemiş veya kullanılmamış) bir özneyi kaldırır — normal silmenin daha katı, daha dar bir biçimidir | Özne operasyonel öncesi durumdan çıkmışsa, başka açılardan uygun olsa bile reddedilir |
| Retention Purge (Saklama Süresi Temizliği) | Zaten terminal bir duruma ulaşmış (örneğin iptal edilmiş bir API istemcisi ya da mezar taşlanmış bir tüketici) bir özneyi, o durumda yapılandırılmış saklama süresi (varsayılan 30 gün) kadar kaldıktan sonra kaldırır | Henüz terminal olmayan ya da terminal durumuna çok yakın zamanda ulaşmış bir özne için reddedilir |
| Crypto Shred (Kriptografik İmha) | Yalnızca özneye ait secret'ları ve token'ları, gelecekte kullanılmalarını kriptografik olarak imkânsız kılacak şekilde yok eder | Kişisel veriye dokunmaz — öznenin profil alanları olduğu gibi kalır |
Veri Sahibi Silme — Özne Tipine Göre Kapsam
Data Subject Erasure, gerçek bir silme talebine yanıt veren türdür. Etkisi özne tipine göre değişir:
| Özne tipi | Anonimleştirilen veya kaldırılan |
|---|---|
| Consumer (Tüketici) | Kişisel alanlar (kullanıcı adı, ad, iletişim bilgileri) kaydın kimliğinden türetilen anonim bir değerle değiştirilir; saklanan secret'lar silinir; tüketicinin durumu terminal, mezar taşlanmış (tombstoned) bir duruma alınır |
| API Client (API İstemcisi) | İstemciye ait her kimlik bilgisi iptal edilir (revoke); tüm secret sürümleri kriptografik olarak imha edilir; verilmiş tüm token'lar silinir |
| Application (Uygulama) | Sahip tüketici(ler), abonelikleri ve destek talebi konuları yukarıdaki gibi işlenir; uygulamaya bağlı erişim izinleri ve limit atamaları sonlandırılır |
| Organization (Kurum) | Kurum altındaki her üye, uygulama ve portal hesabı yukarıdaki gibi işlenir; portal hesapları devre dışı bırakılır ve anonimleştirilir; bekleyen üyelik/katılım istekleri kaldırılır; portal giriş kayıtları redakte edilir |
Tüm özne tiplerinde ortak olarak:
- Öznenin erişim izinleri ve limit atamaları yalnızca devre dışı bırakılmaz, sonlandırılır.
- Kimlik senkron bağı kaldırılır. Özne aslen Kimlik Bilgisi Senkronizasyonu tarafından oluşturulmuşsa ve kaynaktaki aynı kullanıcı veya grup hâlâ varsa, sonraki senkronizasyon koşusu onu yepyeni bir özne olarak yeniden yaratır — silme, bir kaynaktaki kullanıcının tekrar senkronize edilmesini engellemez.
- Audit izi satırları, kişisel alanları redakte edilerek korunur. Öznenin audit olayı, geçmiş ve yaşam döngüsü olayı satırları silinmez — yalnızca kişisel veri alanları redakte edilir; böylece bir işlemin gerçekleştiği, kimle ilgili olduğu saklanmadan kanıtlanabilir kalır.
- Correction Purge'ü gerekçelendirmek için kullanılan kanıtlara dokunulmaz.
- Yasal saklama ve temizleme koşusu kayıtlarının kendisi asla temizlenmez.
Özneye referans veren Elasticsearch API trafik logları, bir silme koşusu tarafından geriye dönük olarak yeniden yazılmaz veya redakte edilmez — yüksek hacimli bir log deposu için bu pratik değildir. Bunun yerine, kendi API trafik saklama yapılandırmanızla zamanla düşer. Temizleme manifesti bunu bir silme satırı yerine özel bir "saklama süresine kadar tut" (retain-until-TTL) satırıyla yansıtır. API trafik saklama süresi yapılandırılmamışsa, manifest logların kaybolacağını ima etmek yerine bunu açıkça belirtir.
Yasal Saklama ve Temizleme Birlikte
Aktif bir yasal saklama altındaki bir özne hiçbir türde temizlenemez, olağan silme ekranlarından da silinemez — saklama altındaki bir özne için önizleme, hiçbir manifest üretilmeden doğrudan reddedilir. Saklamanın kaldırılması geriye dönük olarak hiçbir şeyi silmez; yalnızca sonrasında yeni bir önizleme denenmesine izin verir.
Yetkilendirme
Yasal Saklama ve Veri Yaşam Döngüsü Temizleme, tüketici/uygulama/kurum yönetiminden ayrı, özel bir yetki kategorisiyle yönetilir:
| Aksiyon | Kapsadığı |
|---|---|
| View (Görüntüleme) | Yasal saklamaları ve temizleme koşularını okuma |
| Manage (Yönetme) | Yasal saklama koyma veya kaldırma; temizleme koşusunu önizleme, onaylama veya iptal etme |
| Execute (Çalıştırma) | Onaylanmış koşuyu başlatma |
Ekranın kendisi de aynı şekilde kapsamlıdır. Bir proje altında Kimlik Yönetimi → Veri Yaşam Döngüsü (Data Lifecycle) yalnızca o projenin özneleri üzerinde çalışır: özne seçici, geçerli projeye ait (ve projesi olmayan) tüketicileri, kurumları ve uygulamaları listeler — uygulama listesi Veri Yaşam Döngüsü ekranının kendi yetkisiyle sunulur, görmek için portal rolü gerekmez; başka bir kapsamdaki özne — örneğin global bir tüketici — önizleme aşamasında reddedilir. Yönetim (Administration) altında tanımlanan global özneler, sistem yöneticilerine açık olan Yönetim → Kimlik Yönetimi → Veri Yaşam Döngüsü ekranından saklamaya alınır ve temizlenir.
Bu yetki proje kapsamlıdır. Bu yetenek tanıtıldığında, yalnızca Project Owner rolüne otomatik olarak verilmiştir — API Developer, API Tester ve diğer önceden tanımlı rollere verilmemiştir, çünkü kimlikleri yönetebilmek ile onların verisini kalıcı olarak yok edebilmek farklı sorumluluklardır. Bunu devretmek isteyen bir proje sahibi, yetkiyi başka bir role açıkça atayabilir. Sistem yöneticisi her zaman erişebilir.
Temizleme Koşusu Geçmişinin Saklanması
Bitmiş temizleme koşuları (Queued veya Running dışındaki her durum), Log Saklama ekranındaki diğer kalemlerin yanında kendi saklama ayarına, Lifecycle Purge Run History'ye (Temizleme Koşusu Geçmişi) tabidir. Varsayılan olarak kapalıdır; bir yönetici açıkça etkinleştirip bir saklama süresi belirlemedikçe hiçbir koşu kaydı kaldırılmaz. Devam eden bir koşu bu ayardan bağımsız olarak asla temizlemeye uygun değildir.
Sorun Giderme
| Durum | Neden |
|---|---|
| Yasal saklama altındaki bir özne için önizleme reddediliyor | Öznenin aktif bir yasal saklaması var — uygunsa önce kaldırın |
| Tür uygulanamadığı için önizleme reddediliyor | Seçilen tür öznenin mevcut durumuna uymuyor (örn. operasyonel öncesi durumdan çıkmış bir özne için Correction Purge) |
| Saklama süresi dolmadığı için önizleme reddediliyor | Retention Purge, özne terminal durumunda yapılandırılmış gün sayısı kadar kalmadan önce istendi |
| Özne düzeltmeye uygun değil hatasıyla önizleme reddediliyor | Correction Purge, Correction Purge'ün gerektirdiği operasyonel öncesi durumu geçmiş bir özne için istendi |
| Digest uyuşmazlığı ile onay reddediliyor | Önizleme üretildikten sonra manifest değişti — yeni bir önizleme çalıştırıp onu onaylayın |
| Aynı aktör hatasıyla onay reddediliyor | Onaylayan kullanıcı önizlemeyi yapan kullanıcıyla aynı — farklı bir kullanıcıya onaylatın veya bir sistem yöneticisi hesabı kullanın |
| Aktif koşu var hatasıyla ikinci önizleme veya koşu reddediliyor | Özne için zaten devam eden bir koşu var — bitmesini bekleyin ya da önce durumunu kontrol edin |
| İptal reddediliyor | Koşu zaten geri dönülemez noktasını geçmiş (ilk gerçek mutasyon uygulanmış) ya da zaten bitmiş |
İlgili Sayfalar
- Kimlik Bilgisi Senkronizasyonu - Data Subject Erasure'ın kaldırdığı kimlik senkron bağı
- Güvenlik Olayları - İlgili audit ve uyumluluk loglaması
- Yetkilendirme Matrisi - Bu sayfanın kategorisinin uyduğu yetki modeli
- Sistem Ayarları ve Limitleri - Lifecycle Purge Run History saklama ayarının bulunduğu yer