Validasi Aturan Keamanan Firebase dengan cepat

Untuk dengan cepat menguji Aturan Keamanan Firebase Anda yang diperbarui di konsol Firebase, gunakan Simulator Aturan Firebase.

Simulator Aturan Firebase adalah alat yang mudah untuk digunakan saat Anda menjelajahi perilaku baru atau dengan cepat memvalidasi aturan saat Anda menulisnya. Simulator ini akan menampilkan pesan yang mengonfirmasi bahwa akses diizinkan atau ditolak sesuai dengan parameter yang Anda tetapkan untuk simulasi.

Menggunakan Simulator Aturan Firebase

  1. Buka Firebase console dan pilih project Anda.
  2. Kemudian, pilih Database atau Storage dari navigasi produk.
    • Database: Pilih database, kemudian klik Aturan untuk membuka editor Aturan.
    • Storage: Klik Aturan untuk membuka editor Aturan.
  3. Setelah Anda mengedit, klik Simulator dari editor.
  4. Di setelan Simulator, pilih opsi pengujian Anda, termasuk:
    • Pengujian baca atau tulis.
    • Lokasi tertentu pada database Anda, berupa path
    • Jenis autentikasi — pengguna yang tidak diautentikasi, pengguna anonim yang diautentikasi, atau ID pengguna tertentu.
    • Data khusus dokumen yang dirujuk secara khusus oleh aturan Anda (misalnya, jika aturan Anda mengharuskan adanya kolom tertentu sebelum mengizinkan penulisan).
  5. Klik Jalankan dan cari hasil di banner di atas editor.

Sampel skenario simulator

Uji perilaku simulator dengan sampel skenario sampel dan aturan dasar berikut.

  1. Di editor Aturan, tambahkan aturan dasar berikut:

    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.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"
       }
     }
    }
    }
    

    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.uid == userId;
     }
    }
    }
    
  2. Pilih dapatkan dari menu drop-down Jenis simulasi dan masukkan path yang valid di kolom Lokasi.

  3. Aktifkan Autentikasi dan pilih jenis otentikasi dari drop-down Penyedia.

  4. Masukkan detail ID pengguna dan klik Jalankan.

Hasil simulasi akan muncul di bagian atas editor. Bergantung pada detail ID pengguna yang Anda masukkan, Anda akan melihat banner yang mengonfirmasi bahwa pembacaan berhasil atau ditolak.