İçindekiler
"Denetim izini ne kadar saklamalıyız" sorusu kolay görünür ama iki farklı soruyu tek soru sanmaktan kaynaklanan karışıklık taşır. Bu yazı ikisini ayırıyor ve zincir yapısının saklama kararını nasıl değiştirdiğini anlatıyor.
Saklama Süresi Aslında İki Ayrı Sorudur
Birinci soru düzenleyicidir: kayıtları ne kadar süre saklamak zorundayız? Cevap sektöre ve kayıt türüne göre değişir ve genellikle yıllarla ölçülür.
İkinci soru operasyoneldir: ne kadar süre saklayabiliriz? Bu, hacim ve maliyetle ilgilidir ve log platformlarında genellikle aylarla ölçülür, çünkü hacim büyüktür.
Karışıklık, bu iki sorunun aynı cevabı gerektirdiği varsayımından çıkar. Uygulama logu ile yönetişim kaydı aynı torbaya konduğunda, hacimli olanın maliyeti küçük olanın saklama süresini de belirler. Sonuç, düzenleyicinin beklediğinden çok daha kısa süre saklanan bir denetim izidir.
Hacim Beklenenden Küçüktür
Yönetişim kaydı, uygulama loguyla aynı ölçekte değildir. Uygulama logu saniyede satır üretir; yönetişim kaydı ise yalnız kararlar ve işlemler için satır üretir.
Pratik bir ölçü: bir talep, açılmasından çalıştırılmasına kadar genellikle on ila yirmi denetim olayı üretir. Yılda bin talep açan bir kurum, yılda yaklaşık yirmi bin satır demektir. Ayar değişiklikleri, oturum olayları ve kanıt dışa aktarımları eklendiğinde bu sayı birkaç katına çıkar ama hâlâ küçüktür.
Bu ölçekte saklama bir maliyet sorunu değildir. Beş yıllık bir denetim izi, birkaç yüz bin satır ve birkaç gigabaytlık bir alan demektir. Karar, teknik bir kısıt yüzünden değil, düşünülmediği için alınmamış olur.
Neyin hacim ürettiğine dikkat
Denetim kaydının kendisi küçüktür ama yanında duran iki şey büyüktür: betiklerin tam metni ve üretim sorgusu sonuç dosyaları. Birincisi kanıtın vazgeçilmez parçasıdır ve saklanmalıdır. İkincisi kanıt değildir ve saklanmamalıdır; sonucun kendisi kanıt dosyasına hiç girmez, yalnız kime teslim edildiği ve hangi kolonun maskesiz onaylandığı kaydedilir.
Zincirden Kayıt Silmenin Bedeli
Sıradan bir log tablosundan eski satırları silmek zararsız bir bakım işidir. Zincirle bağlanmış bir denetim izinde durum farklıdır: bir kaydı silmek zinciri kırar ve doğrulama o noktada kopukluk gösterir.
Bu bir hata değil, tasarımın amacıdır. Zincirin varlık sebebi tam olarak silmenin sessiz kalmamasıdır. Ama bu, saklama politikası uygularken dikkat gerektirir: planlı bir arşivleme, plansız bir kurcalamayla aynı görünmemelidir.
SQL Change Guard denetim kayıtlarını kendiliğinden silmez. Otomatik bir temizleme işi yoktur ve saklama, kurumun kendi veritabanı ve arşiv politikasına bırakılmıştır. Bu bilinçli bir tercihtir: bir ürünün kendi denetim kaydını sessizce silmesi, denetim izinin en temel varsayımını bozar.
Arşivleme Nasıl Yapılmalı
Bir gün eski kayıtları canlı veritabanından çıkarmanız gerekirse, üç kural işi güvenli hale getirir.
- Sınır bir çapaya hizalanmalı. Arşive alınan aralığın son kaydı, dışarı teslim edilmiş bir çapanın kapsadığı kayıt olmalıdır. Böylece arşivlenen bölümün bütünlüğü hâlâ gösterilebilir.
- Arşiv taşınmadan önce doğrulanmalı. Zincir doğrulaması arşivleme anında çalıştırılmalı ve sonucu kaydedilmelidir. Sonradan bozulan bir arşivin ne zaman bozulduğu ancak böyle ayırt edilir.
- Arşivleme işlemi kendisi kaydedilmeli. Hangi aralık, ne zaman, kimin kararıyla ve nereye taşındı. Bu kayıt canlı zincirde kalmalıdır; aksi halde eksik dönem denetçiye açıklanamaz.
Arşivin yalnız ekleme yetkisiyle yazılan ayrı bir veritabanına taşınması iyi bir uygulamadır. Zaten kayıtların tam satır kopyası ikinci bir veritabanına yazılıyorsa, arşiv sorusu büyük ölçüde çözülmüş demektir: canlı tablodan çıkan kayıt kopyada durmaya devam eder.
Sorgu Sonucu Dosyaları Ayrı Bir Konudur
Üretim sorgu talebi akışında ortaya çıkan sonuç dosyaları denetim kaydından tamamen farklı bir kategoridedir ve tam ters yönde ele alınmalıdır.
Denetim kaydı uzun saklanmalıdır çünkü kanıttır. Sonuç dosyası ise kısa saklanmalıdır çünkü kişisel veri taşıyabilir ve her ek gün bir risktir. Bu yüzden sonuç dosyalarının saklama süresi bir parametre olarak tanımlanır ve süresi dolan dosyalar düzenli olarak temizlenir.
Bu süre bir kontrol parametresidir: değiştirilmesi sıradan bir ayar güncellemesi değildir, çünkü süreyi uzatmak veri riskini doğrudan artırır. Aynı şekilde bir seferde çıkan sonuç hacminin sınırı da bir kontroldür.
Dosya silinse bile talebin izi kalır. Kimin, neden, hangi onayla ve hangi maskeleme kararıyla veri aldığı denetim kaydında durur. Kanıt için gereken budur; sonucun kendisi değil.
Yazılı Bir Politika Nasıl Kurulur
Kısa bir metin yeterlidir ve şu dört başlığı içermelidir.
- Kayıt türü bazında süre. Denetim izi, betik metinleri, sorgu sonucu dosyaları ve bildirim kayıtları için ayrı süreler. Hepsini tek süreye bağlamak, en kısasının en uzunu belirlemesine yol açar.
- Sürenin dayanağı. Her süre için hangi düzenlemeye ya da hangi iç karara dayandığı yazılmalıdır. Dayanaksız bir süre denetimde sorulur.
- Silme yordamı. Kimin, hangi onayla, hangi kontrollerle sildiği. Denetim izinden silme yapılıyorsa bu yordam zincir doğrulamasını da içermelidir.
- İstisnalar. Devam eden bir soruşturma ya da dava varsa saklama süresi dondurulur. Bu istisnanın kim tarafından ilan edildiği ve ne zaman kalktığı kayıtlı olmalıdır.
Bu politikayı yazmak birkaç saat sürer ve denetimde en sık sorulan sorulardan birini kapatır. Yazılmadığında ise cevap her seferinde "sanırım şu kadar" olur ve bu, bir kontrolün yazılı olmadığının kabulüdür.
Sık Sorulan Sorular
Ürün eski denetim kayıtlarını otomatik siliyor mu?
Hayır. Otomatik bir temizleme işi yoktur ve denetim kayıtları kendiliğinden silinmez. Saklama, kurumun kendi veritabanı ve arşiv politikasına bırakılmıştır. Bu bilinçli bir tercihtir: kendi denetim kaydını sessizce silen bir ürün, denetim izinin en temel varsayımını bozar. Sorgu sonucu dosyaları için ise tanımlı bir saklama süresi ve düzenli temizlik vardır.
Eski kayıtları silersek zincir bozulur mu?
Evet ve bu beklenen davranıştır. Doğrulama, silinen kaydın olduğu yerde kopukluk gösterir. Bu yüzden arşivleme planlı yapılmalı, sınır dışarı teslim edilmiş bir çapaya hizalanmalı, işlem öncesi zincir doğrulanmalı ve arşivleme işleminin kendisi canlı zincire kaydedilmelidir. Aksi halde planlı bir bakım, denetçiye kurcalama gibi görünür.
Denetim izini ne kadar saklamalıyız?
Süreyi düzenleyici çerçeveniz belirler; bunu size bir yazılım söyleyemez. Söyleyebileceğimiz şey hacmin karar üzerinde belirleyici olmaması gerektiğidir: yılda bin talep açan bir kurumda beş yıllık denetim izi birkaç yüz bin satırdır. Uygulama loguyla aynı torbaya konduğunda, hacimli olanın maliyeti küçük olanın süresini kısaltır ve bu, farkına varılmadan yapılan bir hatadır.
Betiklerin tam metnini de saklamak zorunda mıyız?
Kanıt istiyorsanız evet. Denetçinin en sık sorduğu sorulardan biri çalıştırılan metnin onaylanan metin olup olmadığıdır ve bunun cevabı yalnızca iki metnin özetleri karşılaştırılarak verilir. Özetler saklanır ama metin saklanmazsa, farkın nerede olduğu gösterilemez. Betik metinleri hacim üretir ancak bu, kanıtın vazgeçilmez parçasıdır.
Saklama politikanızı birlikte yazalım
Kayıt türü bazında süreleri ve arşivleme yordamını çıkaralım.
Demo Planlayın →