atace
← Tüm yazılar

Site Yönetiminde Veri İzolasyonu: Siteler Karışır mı?

Çok kiracılı site yönetim yazılımında veri izolasyonu nedir, veritabanı düzeyinde yalıtım uygulama hatasına karşı neyi korur? Yönetim şirketleri için kontrol listesi.

5 dk okuma

Veri izolasyonu nedir ve yönetim şirketi için neden önemlidir?

Veri izolasyonu, aynı yazılımı kullanan farklı yönetim şirketlerinin ve farklı sitelerin verisinin birbirinden kesin biçimde ayrılması demektir. Bir site yönetim yazılımı onlarca siteyi tek çatı altında topladığında akla doğal olarak şu soru gelir: "A Sitesi'nin aidat bakiyeleri, B Sitesi'nin yöneticisinin ekranına yanlışlıkla düşebilir mi?" Bu soru teknik bir merak değil, doğrudan bir güven ve hukuki sorumluluk meselesidir. Kat maliklerinin adı, telefonu, borç durumu ve ödeme geçmişi kişisel veridir; yönetim şirketi bu verinin sorumlusu olarak onu yalnızca ilgili kişilerin görmesini sağlamak zorundadır.

Bu yazıda çok kiracılı (multi-tenant) mimarinin ne anlama geldiğini, izolasyonun hangi katmanlarda sağlanabileceğini ve bir yazılım seçerken hangi soruları sormanız gerektiğini anlatıyoruz.

Çok kiracılı mimari: tek altyapı, ayrı odalar

Çok kiracılı mimaride bütün müşteriler aynı yazılım altyapısını paylaşır; ama her müşterinin verisi mantıksal olarak ayrı bir "oda"da durur. Apartman benzetmesi işe yarar: bina ortaktır, asansör ortaktır, ama her dairenin kapısı kendi anahtarıyla açılır. Bu model, her müşteri için ayrı sunucu kurmaktan çok daha verimlidir; güncellemeler herkese aynı anda ulaşır, bakım maliyeti düşer ve yeni bir site eklemek günlerce kurulum gerektirmez.

Bedeli ise şudur: odaları ayıran duvarın sağlam olması gerekir. Sistemin tamamı tek bir veritabanında duruyorsa, bir sitenin verisini diğerinden ayıran şey yalnızca bir "site kimliği" alanıdır. Asıl soru, bu ayrımı kimin ve neyin güvence altına aldığıdır.

İzolasyon nerede sağlanır: uygulama mı, veritabanı mı?

Yalıtım iki ayrı katmanda kurulabilir ve aralarındaki fark kritiktir.

Uygulama katmanında filtreleme

En yaygın yöntem, yazılımın her sorguya "yalnızca şu sitenin kayıtlarını getir" filtresini eklemesidir. Normal çalışmada bu iş görür. Ancak güvenlik her sorguda geliştiricinin bu filtreyi unutmamasına bağlıdır. Yeni bir rapor ekranı yazıldığında, bir dışa aktarma özelliği eklendiğinde ya da bir entegrasyon kurulduğunda filtrenin atlanması yalnızca insan hatası gerektirir. Sonuç, başka sitenin verisinin ekranda görünmesidir ve bu tür hatalar çoğu zaman ancak biri fark ettiğinde ortaya çıkar.

Veritabanı düzeyinde yalıtım

Daha sağlam yaklaşım, kuralı veritabanının kendisine yazmaktır. Bu modelde erişim politikası veri katmanında tanımlıdır: bir oturum hangi yönetim şirketine ve hangi siteye aitse, veritabanı ona yalnızca o kayıtları verir. Uygulama kodu filtreyi unutsa bile veritabanı yanlış sitenin satırlarını döndürmez. Site-Park'ta her yönetim şirketinin ve her sitenin verisi bu şekilde, veritabanı düzeyinde ayrılır; yani yanlış sitenin verisini görmek bir uygulama hatası olsa bile mümkün değildir.

Aradaki fark, kilidin kapıya takılması ile kilidin her odaya ayrı ayrı takılması arasındaki farka benzer. Birincisinde kapıyı kapatmayı unutan biri her şeyi açık bırakır; ikincisinde unutulan bir kapı yalnızca kendi odasını etkiler.

Rol yetkileriyle izolasyon aynı şey değildir

İki kavram sık karıştırılır, oysa farklı sorulara cevap verir:

  • Veri izolasyonu: Hangi sitenin ve hangi şirketin verisi hangi oturuma görünür? Yatay bir ayrımdır; siteler arasındaki duvarı çizer.
  • Rol bazlı yetkilendirme: Aynı sitenin içinde, hangi kullanıcı hangi modülü görebilir, ekleyebilir, düzenleyebilir? Dikey bir ayrımdır; site içindeki rolleri ayırır.

Bir güvenlik görevlisinin bakiyeleri görmemesi rol yetkisinin işidir; bir site yöneticisinin başka bir sitenin bakiyelerini görmemesi izolasyonun işidir. İkisi birlikte kurulduğunda her kullanıcı yalnızca kendi sitesinde ve yalnızca kendi rolünün gerektirdiği modüllerde çalışır. Rol tarafını ayrıntılı ele aldığımız sitelerde rol bazlı yetkilendirme yazısı, bu yazının tamamlayıcısıdır.

Çok siteli portföyde izolasyon nasıl çalışır?

Birden çok siteyi yöneten bir şirket için tablo biraz daha karmaşıktır: şirketin kendi ekibi portföydeki sitelerin hepsine bakabilmeli, ama bir sitenin sakini ya da sahadaki personeli yalnızca kendi sitesini görmelidir. Burada izolasyon tek katmanlı değil, iç içe geçmiş katmanlardan oluşur: önce yönetim şirketi sınırı, onun içinde site sınırı, onun içinde rol sınırı.

Bu yapı sayesinde yönetici portföy ekranından siteleri tek tabloda karşılaştırıp aralarında geçiş yapabilirken, hiçbir siteye ait veri başka bir şirketin hesabına sızmaz. Birden fazla siteyi tek hesaptan yönetmek isteyen şirketlerin aradığı denge tam olarak budur: merkezi görünürlük, ama kontrollü sınırlar.

Yalıtımın tamamlayıcıları: silinmeyen kayıt ve denetim izi

İzolasyon tek başına yeterli bir güvence değildir; verinin doğru kişiye gösterilmesi kadar, verinin sonradan sessizce değiştirilememesi de önemlidir. Bu yüzden iki ek ilke yalıtımı tamamlar:

  1. Finansal kayıtlar silinmez. Hatalı bir tahsilat ya da borçlandırma silinmez, iptal olarak işaretlenir ve orijinal kayıt izde kalır.
  2. Her değişiklik kayıt altına alınır. Kim, ne zaman, neyi değiştirdi bilgisi denetim izine yazılır. Bu konunun ayrıntısı için denetim kaydının neden önemli olduğuna bakabilirsiniz.

Ayrıca kart bilgileri sistemde saklanmaz; ödemeler sertifikalı bir ödeme altyapısı üzerinden yürür. Saklanmayan veri, sızdırılamayan veridir.

Yazılım seçerken yöneltmeniz gereken sorular

Bir tedarikçi "verileriniz güvende" dediğinde bunu somut sorulara çevirmek gerekir. Aşağıdaki liste, demo sırasında ya da teklif aşamasında işe yarar:

  • Siteler arası ayrım uygulama kodunda mı yoksa veritabanı düzeyinde mi sağlanıyor?
  • Bir uygulama hatası olsa bile başka sitenin verisi görünmesi mümkün mü?
  • Yönetim şirketi, site ve rol sınırları ayrı ayrı mı tanımlanıyor?
  • Dışa aktarılan raporlar ve entegrasyonlar da aynı sınırlara tabi mi?
  • Finansal kayıtlar silinebiliyor mu, yoksa iptal izi kalıyor mu?
  • Kimin neyi ne zaman değiştirdiği denetim izinde görülebiliyor mu?
  • Kart ve benzeri hassas bilgiler sistemde saklanıyor mu?

Bu soruların hiçbiri "evet, çok güvenli" gibi genel bir cevapla geçiştirilememelidir. Cevap mimariyi anlatıyorsa güven verir; yalnızca slogan tekrarlıyorsa temkinli olmak gerekir. Genel yazılım değerlendirme çerçevesi için site yönetim yazılımı nasıl seçilir rehberini de okuyabilirsiniz.

Küçük yönetim için de geçerli mi?

Tek bir apartmanı yöneten biri "benim zaten tek sitem var, izolasyon neme lazım?" diyebilir. Ancak çok kiracılı bir platformda siz de başkalarıyla aynı altyapıdasınız; apartmanınızın verisinin başka bir müşteriye görünmemesi sizin için de aynı derecede önemlidir. İyi kurulmuş bir yalıtım, küçük ya da büyük her müşteriye aynı korumayı verir. Platform çok kiracılı tasarlandığı için tek bir apartmanı yöneten yönetici de aynı altyapıyı kullanır; fark yalnızca modül paketiyle görünen ekran sayısındadır.

Sonuç: güven, anlatılan değil kurulan şeydir

Veri izolasyonu, kullanıcının gözüyle görülmeyen ama bir şirketin güvenini taşıyan bir temeldir. Yalıtımın uygulama kodundan veritabanı katmanına indirilmesi, insan hatasını güvenlik açığı olmaktan çıkarır. Rol yetkileri, silinmeyen finansal kayıtlar ve denetim izi ile birleştiğinde ortaya, "kim neyi görebilir ve kim neyi değiştirdi" sorularına her zaman cevap verebilen bir düzen çıkar.

Yönetim şirketinizin ya da sitenizin verisini hangi mimariyle koruyacağınızı değerlendiriyorsanız, Site-Park'ın veri yalıtımı ve yetkilendirme yaklaşımını Site-Park ürün sayfasından inceleyebilir, sorularınızı iletişim sayfasından bize iletebilirsiniz.