Yazı · ·

Müşteri izolasyonu panelin altında başlar

Arayüzde şirket filtresi bulunması izolasyon değildir. Aynı sınır sorgularda, dışa aktarmada, arka plan işlerinde, cache ve destek araçlarında da korunmalıdır.

Müşteri izolasyonu panelin altında başlar

Panel doğru, dışa aktarılan dosya yanlış

Kullanıcı panelde yalnız kendi şirketinin kayıtlarını görür. İndirdiği raporda ise başka şirketin satırları vardır. Arayüz tasarlandığı gibi çalışmıştır, ürün ise başarısızdır. Şirket filtresi, veriye ulaşan bütün yolların sınırı olmak yerine ekran sorgusunun alışkanlığı olarak kalmıştır.

Birden fazla kuruma hizmet veren üründe tenant kimliği doğrulanmış yetkiden gelmelidir. URL veya formdaki şirket kimliği yalnız bir iddiadır. Sunucu kişinin o şirket adına işlem yapabildiğini ve istenen eylemin yetkisi dahilinde olduğunu belirlemeli. Başka şirketin menüsünü gizlemek bunu sağlamaz.

Unutulması zor bir denetim kurun

Paylaşımlı veritabanında veri politikaları sınırın bir parçası olabilir. PostgreSQL satır güvenliğini destekler; ancak tablo sahipleri normalde bu denetimi atlar, ayrıcalıklı roller de atlayabilir. PostgreSQL belgesi bunu açıkça belirtir. Politikayı ayrıcalıklı uygulama bağlantısıyla sınamak yanıltıcı güven verebilir.

İzolasyon modelini ürünün işletim ihtiyaçlarına göre seçin. Ortak şema, ayrı şemalar veya ayrı veritabanları farklı bakım ve kurtarma işleri oluşturur. Hiçbiri uygulama sınırında yetki kontrolü ihtiyacını kaldırmaz. Seçilen tasarımın hangi hataları önlediği ve hangilerinin ayrıca kontrol istediği bilinmeli.

Müşteri verisine erişen yollarda tenant bağlamı zorunlu olsun. Eksik bağlam sınırsız sorguya dönüşmek yerine açıkça hata vermeli. Yönetici erişimi ayrı, bilinçli kullanılan, gerekçesi ve kaydı bulunan bir yol olmalı.

Arka plan işi sınırı yanında taşımalı

Dışa aktarma işi, başlatan istek bittikten sonra çalışabilir. İş kaydında açık tenant referansı ve yetki modeli bulunmalı. Kullanıcının güncel yetkileriyle mi, dar tanımlı servis yetkisiyle mi çalışacağı kararlaştırılmalı. Worker'ın tesadüfen kullandığı kimlik bilgisi bu kararı vermemeli.

Sonucu teslim etmeden erişimi yeniden doğrulayın. Rapor hazırlanırken kişi şirketten ayrılmış olabilir. Dosyanın saklandığı alan ve indirme erişimi de şirkete göre sınırlandırılmalı. Tamamlanmış rapor herkese açıksa doğru veritabanı sorgusu yeterli değildir.

Zamanlanmış bildirimler, arama indeksleri ve entegrasyon kimlik bilgileri de aynı incelemeye dahil olsun. Hepsi veriyi sınırın dışına taşıyabilecek başka bir yoldur. Tarayıcı oturumu olmadan çalışan süreç, kurumları birleştirme yetkisi kazanmamalı.

Cache ve destek araçları da üründür

Yalnız kayıt kimliğinden oluşan cache anahtarı, tenant veya yetkiye bağlı cevapları karıştırabilir. Sonucun hangi kimlik ve yetki bilgilerine bağlı olduğunu belirlemeden yeniden kullanılabilir saymayın. Yalnız kayıt değişince değil, üyelik veya erişim değişince de geçersiz kılma davranışı tanımlayın.

Kullanıcı adına giriş, genel arama veya teşhis paketi indirme gibi destek özellikleri, müşteri arayüzündeki dikkatli sınırları aşabilir. Kullanım amacını daraltın, erişimi kaydedin. Durum veya referans yeterliyken hassas verinin tamamını göstermeyin.

Rahatsız edici gerçek, iç araçların çoğu zaman dış endpoint'lerden daha az incelenmesidir. Ekip kendi operasyon kolaylıklarını tasarımın dışında bırakırken güçlü izolasyon iddiasında bulunamaz. Sınır, sorun çözülürken de veriyi takip eder.

Bu hafta sınırı aşmayı deneyin

Birbirine benzeyen kayıt adlarıyla ayrı test kurumları oluşturun. Doğrudan istek, rapor, zamanlanmış iş ve arama üzerinden aralarında okuma ve güncelleme deneyin. Yönetici bağlantısı yerine gerçek uygulama rolünü kullanın.

Ardından raporu çalışırken bir üyeyi çıkarıp dosya erişimini inceleyin. Cache ve destek akışlarında tekrarlayın. Her noktada beklenen reddi yazın. İzolasyon incelemesi, panelde hiç görünmeyen yollar dahil bütün geçişler tutarlı biçimde engellendiğinde anlamlıdır.