Verileriniz başka bir firmayla karışır mı? Çok kiracılı güvenlik
Navlun Pro'da her firmanın verisi veritabanı düzeyinde satır güvenliğiyle ayrılır; firma kimliği istekten değil oturumdan gelir.
SCP Lojistik · · 3 dk okuma
Kısaca
- Her iş tablosunda firma kimliği vardır ve veritabanı satır düzeyi güvenlik (RLS) kurallarıyla zorlanır.
- Firma kimliği kullanıcının gönderdiği istekten değil, oturumdan ya da kaydın sahibinden alınır.
- Arka plan işleri de aynı kuralla çalışır; her iş kendi firmasının verisine bakar.
- SCP'nin yönetim konsolu ayrı bir servis ve ayrı bir veritabanıdır; ürünle yalnız iç API üzerinden konuşur.
Bulut tabanlı bir yazılım kullanırken sorulan ilk sorulardan biri: "Benim verilerim başka bir firmanın ekranında görünebilir mi?" Navlun Pro birçok nakliye firmasının aynı altyapıda çalıştığı çok kiracılı (multi-tenant) bir SaaS'tır. Bu yazı firmaların verisinin nasıl ayrıldığını anlatır.
Çok kiracılı ne demek?
Her firma (kiracı) aynı uygulamayı kullanır ama yalnız kendi verisini görür. Bunu sağlamanın birkaç yolu vardır. Navlun Pro'da ayrım uygulamanın içinde değil, veritabanının kendisinde zorlanır.
Veritabanı düzeyinde ayrım
- Her iş tablosunda bir firma kimliği (tenant) sütunu vardır.
- PostgreSQL'in satır düzeyi güvenlik (Row Level Security, RLS) kuralları her tabloda açıktır ve zorlanır (FORCE). Bu, tablonun sahibi olan veritabanı kullanıcısının bile kuralı atlayamaması demektir.
- Her istekte veritabanına o isteğin firma kimliği bildirilir. Sorgu yalnız o firmanın satırlarını görür.
Bu yaklaşımın önemi şudur: uygulama kodunda bir sorguda firma süzgeci unutulsa bile veritabanı diğer firmaların satırlarını döndürmez. Güvenlik tek bir katmana bırakılmaz.
Firma kimliği nereden gelir?
Firma kimliği kullanıcının gönderdiği istekten alınmaz; oturumdan ya da işlenen kaydın sahibinden gelir. Bir kullanıcı adres çubuğunda başka bir numara yazsa bile kendi firmasının dışına çıkamaz.
Arka plan işleri
Sabah özeti e-postası ve gece çalışan hesaplar gibi arka plan işleri de aynı kuralla çalışır. Her iş, işlediği kaydın sahibi olan firmanın kimliğiyle veritabanına bağlanır.
Raporlar ve özet tablolar
Raporlar için kullanılan özet tablolar da aynı satır güvenliğine tabidir. Firmalar arası ortak bir rapor tablosu tutulmaz.
SCP'nin yönetim konsolu
SCP Bilişim'in abonelik, lisans ve fatura işlerini yürüttüğü konsol ayrı bir servis ve ayrı bir veritabanıdır. Ürünle yalnız bir iç API üzerinden, servis anahtarıyla konuşur. Konsol, firmaların operasyon verisine (sefer, sürücü, fiyat) doğrudan erişmez.
Firma içinde rol ayrımı
Firmalar arası ayrımın yanında firma içinde de ayrım vardır: her rol yalnız işinin gerektirdiğini görür. Örneğin dispeçer maliyet ekranlarını görmez. Ayrıntısı roller ve yetkiler yazısındadır.
Kişisel veri
Kimlik numarası ve telefon maskelidir; Excel'e, sayfa adresine ve hata mesajına yazılmaz. Ayrıntısı KVKK ve sürücü verileri yazısındadır.
Oturum güvenliği
- Parola en az 12 karakterdir.
- Art arda yanlış denemelerde giriş geçici olarak kilitlenir.
- Kullanıcı pasife alınınca açık oturumları kapanır.
- Her form gönderimi sahte istek (CSRF) korumasıyla denetlenir.
Kullanıcı açmanın ayrıntısı kullanıcı açma ve geçici parola yazısındadır.
Otomatik testler
Firmalar arası ayrım otomatik testlerle denetlenir. Bir firmanın kaydının başka firmada görünmediği ve başka firma adına yazılamadığı hem veritabanı katmanında hem uçtan uca ekran testlerinde sınanır. Bu testler ürünün otomatik test takımının parçasıdır.
Sık sorulan sorular
SCP çalışanları verilerimi görebilir mi?
SCP'nin yönetim konsolu operasyon verinize doğrudan erişmez. Bu konudaki taahhütler abonelik ve hizmet sözleşmesinde ve KVKK aydınlatma metnindedir; ikisi de kayıt sırasında okunur.
Aboneliğim biterse verilerim silinir mi?
Deneme ya da abonelik bitince veriler silinmez; hesap beklemeye alınır. Ayrıntısı 14 gün ücretsiz deneme yazısındadır.
Verilerimi dışarı alabilir miyim?
Evet. Listeler ve raporlar Excel'e aktarılır.