Firebase Güvenlik Kuralları

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

Firebase Güvenlik Kuralları, verileriniz ile kötü niyetli kullanıcılar arasında yer alır. Uygulamanızın verilerini, uygulamanızın gerektirdiği ayrıntı düzeyinde koruyan basit veya karmaşık kurallar yazabilirsiniz.

Firebase Güvenlik Kuralları, 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, esnek yapılandırma dillerinden yararlanır. Firebase Gerçek Zamanlı Veritabanı Güvenlik Kuralları, kural tanımlarında JSON'dan yararlanırken, Cloud Firestore Güvenlik Kuralları ve Cloud Storage için Firebase Güvenlik Kuralları, kurallara özgü daha karmaşık yapıları barındırmak için oluşturulmuş benzersiz bir dilden yararlanır.

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

Anahtar yetenekler

Esneklik Uygulamanızın yapısı ve davranışı için anlamlı olan özel kurallar yazın. Kurallar, erişimi yetkilendirmek için kendi verilerinizden yararlanmanıza izin veren dilleri kullanır.
ayrıntı düzeyi Kurallarınız, ihtiyacınız olduğu kadar geniş veya dar olabilir.
bağımsız güvenlik Kurallar uygulamanızın dışında (Firebase konsolunda veya Firebase CLI'da) tanımlandığından, istemciler güvenliği uygulamaktan sorumlu değildir, hatalar verileri tehlikeye atmaz ve verileriniz her zaman korunur.

Nasıl çalışırlar?

Firebase Güvenlik Kuralları, bir modeli 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 Kurallar, yol eşleştirme bileşenine ve okuma veya yazma erişimine izin veren bir koşullu ifadeye sahiptir. Uygulamanızda kullandığınız her Firebase ürünü için Kurallar tanımlamanız gerekir.

Cloud Firestore ve Cloud Storage için Kurallar aşağıdaki sözdizimini kullanır:

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

Gerçek Zamanlı Veritabanı için JSON Tabanlı Kurallar aşağıdaki sözdizimini kullanır:

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

Kurallar, OR ifadeleri olarak değil, AND ifadeleri olarak uygulanır. Sonuç olarak, birden çok kural bir yolla eşleşirse ve eşleşen koşullardan herhangi biri erişim izni verirse, Kurallar o yoldaki verilere erişim izni verir. Bu nedenle, geniş bir kural verilere erişim izni veriyorsa, daha spesifik bir kuralla kısıtlama yapamazsınız. Ancak, Kurallarınızın çok fazla örtüşmediğinden emin olarak bu sorunu önleyebilirsiniz. Firebase Güvenlik Kuralları bayrağı, derleyici uyarıları olarak eşleşen yollarınızda çakışıyor.

Firebase Güvenlik Kuralları, kullanıcı tabanlı izinler vermek için Kimlik Doğrulamadan da yararlanabilir ve belirlediğiniz koşullar çok basit veya inanılmaz derecede karmaşık olabilir. Kuralları yazmaya başlamadan önce Kuralların dili ve davranışı hakkında daha fazla bilgi edinin.

Uygulama yolu

Ürün SDK'larını entegre edin Uygulamanız için Cloud Firestore , Cloud Storage veya Realtime Database'i kurun.
Firebase Güvenlik Kurallarınızı yazın Kuralların nasıl çalıştığı hakkında daha fazla bilgi edinin ve bazı temel Kurallar oluşturun
Firebase Güvenlik Kurallarınızı 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 öykünücülerini kullanın.
Firebase Güvenlik Kurallarınızı dağıtın Kurallarınızı üretime dağıtmak için Firebase konsolunu veya Firebase CLI'yi kullanın.

Sonraki adımlar