PortlinePortlineDokümantasyon

Güvenlik

Postgres'in uyguladığı on bir kural, sade bir dille.

Uygulama, arayüzün anlamlı olması için izinleri kontrol eder. Veritabanı ise bu izinlerin gerçekten geçerli olması için onları yeniden kontrol eder. Aşağıdaki her kural Postgres tarafından (satır düzeyi güvenlik politikaları, sütun yetkileri, tetikleyiciler veya kontrol kısıtlamaları) uygulanır ve başarısız olması gereken yazma işlemleri de dahil olmak üzere, kuralı bozmaya çalışan bir RLS testine sahiptir.

Bu kurallar yerel modda ve Portline'ın kendi veritabanında çalıştığı diğer her yerde geçerlidir. Demo modunda veritabanı yoktur; aynı kurallar uygulama içinde uygulanır.

  1. Planınızı siz düzenleyemezsiniz. Plan, durum, koltuklar ve dönem sonu yalnızca hizmet rolü tarafından yazılabilir. update pl_subscriptions set plan = 'scale' komutunu çalıştıran bir sahip hata alır.
  2. Kilitli alanlar hiçbir şey göstermez. Plan bir alanı içermiyorsa o alanın satırları geri dönmez. Bir Starter çalışma alanı sıfır rampa randevusu okur; arkasında veri bulunan bir hata sayfası görmez.
  3. Görüntüleyiciler hiçbir şey yazamaz. Her ekleme ve güncelleme, düzenleme seviyesini kontrol eder. Rampa randevusu eklemeye çalışan bir görüntüleyici reddedilir.
  4. Belge incelemeleri onay yetkisi gerektirir ve imzalanır. Yalnızca yöneticiler ve sahip bir belgeyi doğrulayabilir veya reddedebilir ve veritabanı incelemeye çağıranın kimliğini damgalar. Bir belgeyi doğrulandı olarak ayarlamaya çalışan bir dispeçer başarısız olur; bunu bir yönetici yaptığında, ne gönderilmiş olursa olsun reviewed_by o yönetici olarak ayarlanır.
  5. Bildirimler yalnızca okundu olarak işaretlenebilir. Kendi bildirimlerinizde read_at değerini ayarlayabilirsiniz, başka hiçbir şeyi değiştiremezsiniz. Bir bildirimin başlığını veya bağlantısını yeniden yazma girişimi reddedilir.
  6. Denetim kaydı sahtelenemez veya düzenlenemez. Denetim satırları yalnızca çağıran kişi adına yazılır ve hiç kimse bunları güncelleyemez veya silemez.
  7. Hiç kimse kendini terfi ettiremez. Kendi rolünüzü değiştiremezsiniz, uygulama üzerinden kimse sahip olamaz ve yöneticiler sahibe dokunamaz. Bir dispeçer kimsenin rolünü değiştiremez.
  8. Çalışma alanları birbirinden yalıtılmıştır. Her politika üyeliğe dayanır. Bir çalışma alanının üyesi, başka bir çalışma alanından sıfır satır okur.
  9. Süresi dolmuş bir çalışma alanı salt okunurdur. Düzenlemeler active, trialing veya grace durumunda bir abonelik gerektirir. Süre dolduktan sonra her yazma işlemi başarısız olur.
  10. Bir sürücünün çıkış kaydı, giriş kaydından önce yapılamaz. Bir kontrol kısıtlaması, çıkış zamanından önce bir giriş zamanı bulunmasını ve çıkışın girişten sonra olmasını şart koşar.
  11. Mesajlar sizin adınıza gönderilir. Bir mesajın yazarı çağıran kişi olmalıdır. Başkası adına mesaj göndermek başarısız olur.

Uygulamada da

  • Her sunucu eylemi, verilere dokunmadan önce girdisini doğrular ve izin seviyesini yeniden kontrol eder.
  • Oturum açtıktan sonraki yönlendirmeler yalnızca aynı sitedeki yollara gider; böylece özel olarak hazırlanmış bir ?next= bağlantısı sizi başka bir yere gönderemez.
  • Bir kullanıcının sağlayabileceği her giden URL (webhook'lar, taşıyıcı uç noktaları), https olmayan, özel ve dahili adresleri reddeden bir korumadan geçer.
  • Demo modu üretim ortamında başlamayı reddeder ve dışarıya hiçbir istek göndermez.

Bu sayfada