Firebase Security Rules

Cloud Firestore, Firebase Realtime Database ve Cloud Storage'deki verilerinizin güvenliğini sağlamak için esnek ve genişletilebilir Firebase Güvenlik Kurallarımızı kullanın.

Firebase Security Rules verileriniz ile kötü amaçlı kullanıcılar arasında durur. Uygulamanızın verilerini, uygulamanızın gerektirdiği ayrıntı düzeyinde koruyan basit veya karmaşık kurallar yazabilirsiniz.

Firebase Security Rules, kullanıcılarınızın Realtime Database, Cloud Firestore ve Cloud Storage için hangi verilere erişebileceğini tanımlamak üzere genişletilebilir ve esnek yapılandırma dillerinden yararlanır. Firebase Realtime Database Security Rules kural tanımlarında JSON'dan yararlanırken Cloud Firestore Security Rules ve Firebase Security Rules için Cloud Storage, daha karmaşık kurala özgü yapıları barındırmak üzere oluşturulmuş benzersiz bir dilden yararlanır.

Uygulamanızda kullandığınız belirli Firebase ürünleri için Security Rules özelliğini nasıl ayarlayacağınız ve Security Rules davranışının Firebase ürünleri arasında nasıl farklılık gösterdiği hakkında daha fazla bilgi edinin.

Başlayın

Temel özellikler

Esneklik Uygulamanızın yapısı ve davranışı için anlamlı olan özel kurallar yazın. Security Rules erişim yetkisi vermek için kendi verilerinizden yararlanmanıza olanak tanıyan diller kullanın.
Ayrıntı düzeyi Kurallarınız ihtiyacınıza göre geniş veya dar kapsamlı olabilir.
Bağımsız güvenlik Security Rules, uygulamanızın dışında (Firebase konsolunda veya Firebase KSA'da) tanımlandığından istemciler güvenliği uygulamaktan sorumlu değildir, hatalar verileri tehlikeye atmaz ve verileriniz her zaman korunur.

İşleyiş şekli nasıldır?

Firebase Security Rules, bir kalıbı veritabanı yollarıyla eşleştirerek ve ardından bu yollardaki verilere erişime izin vermek için özel koşullar uygulayarak çalışır. Firebase ürünlerindeki tüm Security Rules, yol eşleştirme bileşenine ve okuma ya da yazma erişimine izin veren koşullu ifadeye sahiptir. Uygulamanızda kullandığınız her Firebase ürünü için Security Rules tanımlamanız gerekir.

Cloud Firestore ve Cloud Storage için Security Rules aşağıdaki söz dizimini kullanın:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

Realtime Database için JSON tabanlı Security Rules aşağıdaki söz dizimini kullanır:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Security Rules, AND ifadeleri olarak değil, OR ifadeleri olarak uygulanır. Sonuç olarak, bir yolla birden fazla kural eşleşirse ve eşleşen koşullardan herhangi biri erişim izni verirse Security Rules bu yoldaki verilere erişim izni verilir. Bu nedenle, geniş kapsamlı bir kural veriye erişim izni veriyorsa daha spesifik bir kural kullanarak erişimi kısıtlayamazsınız. Ancak Security Rules öğelerinizin çok fazla çakışmadığından emin olarak bu sorunu önleyebilirsiniz. Firebase Security Rules, eşleşen yollarınızdaki çakışmaları derleyici uyarıları olarak işaretler.

Firebase Security Rules, kullanıcı tabanlı izinler vermek için Authentication'dan da yararlanabilir. Belirlediğiniz koşullar çok basit veya son derece karmaşık olabilir. Yazmaya başlamadan önce Security Rules dil ve davranış hakkında daha fazla bilgi edinin Security Rules.

Uygulama yolu

Ürün SDK'larını entegre etme Uygulamanız için Cloud Firestore, Cloud Storage veya Realtime Database ayarlarını yapın.
Firebase Security Rules yazın Security Rules işleyiş şekli ve bazı temel Security Rules ayarlama hakkında daha fazla bilgi edinin.
Firebase Security Rules test edin Uygulamanızın davranışını test etmek ve kurallarınızı üretime dağıtmadan önce doğrulamak için Realtime Database ve Cloud Firestore emülatörlerini kullanın.
Firebase Security Rules dağıtın Kurallarınızı üretime dağıtmak için Firebase konsolunu veya Firebase CLI'ı kullanın.

Sonraki adımlar