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

Güncellenen Firebase Security Rules'inizi Firebase konsolunda hızlıca test etmek için Kurallar Oyun Alanı'nı kullanın.

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

Kurallar Oyun Alanı'nı kullanma

  1. Firebase konsolunu açın ve projenizi seçin.
  2. Ardından, ürün gezinme menüsünde aşağıdakilerden birini yapın:
    • Uygun olan Realtime Database, Cloud Firestore veya Depolama'yı seçin, ardından Rules düzenleyiciye gitmek için Kurallar'ı tıklayın.
  3. Düzenlemelerinizi yaptıktan sonra düzenleyiciden Kurallar Oyun Alanı'nı tıklayın.
  4. Rules Playground ayarlarında testinizle ilgili seçenekleri belirleyin. Örneğin:
    • Okuma veya yazma işlemlerini test etme.
    • Veritabanı veya depolama paketinizdeki 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, belgeye özgü veriler (örneğin, kurallarınız bir yazmaya izin vermeden önce belirli bir alanın varlığını gerektiriyorsa).
  5. Çalıştır'ı tıklayın ve sonuçları düzenleyicinin üzerindeki banner'da arayın.

Örnek Kurallar Oyun Alanı senaryosu

Rules Playground davranışını aşağıdaki örnek senaryoyu ve temel kuralları kullanarak 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>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Rules düzenleyicisinde, yukarıda 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ı açın ve Sağlayıcı açılır menüsünden 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şlemine başarıyla izin verildiğini veya reddedildiğini onaylayan bir banner görürsünüz.