Firebase Güvenlik Kurallarını hızlıca doğrulayın

Güncellenmiş Firebase Security Rules'nızı Firebase konsolunda hızlıca test etmek için kurallar deneme alanını kullanın.

Kurallar Deneme Alanı, yeni davranışları keşfederken veya yazdığınız kuralları hızlıca doğrularken kullanabileceğiniz kullanışlı bir araçtır. Simülasyon için belirlediğiniz parametrelere göre erişimin izin verildiğini veya reddedildiğini onaylayan bir mesaj gösterir.

Kural oyun alanını kullanma

  1. Firebase konsolunu açıp projenizi seçin.
  2. Ardından, ürün gezinme bölümünde aşağıdakilerden birini yapın:
    • Uygun olan Realtime Database, Cloud Firestore veya Depolama'yı seçin, ardından Rules düzenleyicisine gitmek için Kurallar'ı tıklayın.
  3. Düzenlemelerinizi yaptıktan sonra düzenleyicide Kurallar Deneme Alanı'nı tıklayın.
  4. Kurallar Deneme Alanı ayarlarında, testiniz için seçenekleri belirleyin. Örneğin:
    • Okuma veya yazma işlemlerini test etme.
    • Veritabanınızda veya depolama paketinizde belirli bir konum (yol olarak).
    • Kimlik doğrulama türü: kimliği doğrulanmamış, kimliği doğrulanmış anonim kullanıcı veya belirli bir kullanıcı kimliği.
    • Kurallarınızın özellikle referans verdiği dokümana özgü veriler (ör. kurallarınız, yazma işlemine izin vermeden önce belirli bir alanın bulunmasını gerektiriyorsa).
  5. Çalıştır'ı tıklayın ve sonuçları düzenleyicinin üstündeki banner'da bulun.

Örnek Kural Oyun Alanı senaryosu

Aşağıdaki örnek senaryo ve temel kurallarla Kurallar Deneme Alanı'nın davranışını test edin.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Rules düzenleyicisinde verilen kuralı ekleyin.

  • Simülasyon türü açılır menüsünden get'i seçin ve Konum alanına geçerli bir yol girin.

  • Kimlik doğrulama'yı etkinleştirin ve Sağlayıcı açılır listesinden bir kimlik doğrulama türü seçin.

  • Kullanıcı kimliği ayrıntılarını girip Çalıştır'ı tıklayın.

Simülasyonun sonuçları düzenleyicinin en üstünde gösterilir. Girdiğiniz kullanıcı kimliği ayrıntılarına bağlı olarak, okuma işleminin başarılı bir şekilde izin verildiğini veya reddedildiğini onaylayan bir banner görürsünüz.