Aturan Keamanan Firebase menyediakan perlindungan tangguh yang dapat disesuaikan sepenuhnya untuk data Anda di Cloud Firestore, Realtime Database, dan Cloud Storage. Anda dapat memulai secara mudah dari Aturan dengan mengikuti langkah-langkah di panduan ini, guna mengamankan data dan melindungi aplikasi Anda dari pengguna yang berniat jahat.
Memahami bahasa Aturan Keamanan Firebase
Sebelum mulai menulis aturan, sebaiknya Anda meluangkan waktu untuk melihat bahasa Aturan Keamanan Firebase khusus untuk produk Firebase yang Anda gunakan.
Realtime Database memanfaatkan sintaksis mirip JavaScript dan struktur JSON untuk Aturannya. Selain itu, Cloud Firestore dan Cloud Storage memanfaatkan superset dari Common Expression Language (CEL) yang bergantung pada pernyataan match
dan allow
yang menetapkan kondisi untuk akses di jalur yang ditentukan.
Pelajari lebih lanjut bahasa Aturan Keamanan Firebase.
Menyiapkan Autentikasi
Jika Anda belum melakukannya, identifikasi pengguna Anda dengan Firebase Authentication. Firebase Authentication mendukung banyak metode autentikasi umum dan terintegrasi dengan Aturan Keamanan Firebase untuk memberikan kemampuan verifikasi yang komprehensif.
Anda dapat menyiapkan informasi autentikasi tambahan khusus untuk aplikasi Anda.
Pelajari Aturan Keamanan Firebase dan Firebase Authentication lebih lanjut.
Menentukan struktur data dan aturan
Cara Anda menyusun data dapat memengaruhi cara penyusunan dan penerapan aturan. Saat Anda menentukan struktur data, pertimbangkan implikasinya pada struktur Aturan Anda.
Misalnya, di Cloud Firestore, Anda mungkin ingin menyertakan kolom yang menunjukkan peran spesifik untuk setiap pengguna. Kemudian, aturan Anda dapat membaca kolom tersebut dan menggunakannya untuk memberikan akses berbasis peran.
Saat Anda menentukan arsitektur data dan aturan Anda, ingatlah bahwa, jika ada aturan yang memberikan akses ke dataset, Aturan Keamanan Firebase akan memberikan akses ke set data tersebut. Dengan kata lain, Anda tidak dapat memperbaiki akses di subjalur jika Anda memberi akses pada level yang lebih tinggi pada hierarki data Anda.
Mengakses aturan Anda
Untuk melihat Aturan yang sudah ada, gunakan Firebase CLI atau Firebase console. Pastikan Anda mengedit aturan menggunakan metode yang sama secara konsisten, agar pembaruan tidak tertimpa secara tidak sengaja. Jika Anda tidak yakin bahwa aturan yang ditentukan secara lokal mencerminkan pembaruan terkini, Firebase console selalu menunjukkan versi Aturan Keamanan Firebase yang paling baru di-deploy.
Untuk mengakses aturan Anda dari Firebase console, pilih project, kemudian buka Realtime Database, Cloud Firestore, atau Storage. Klik Aturan setelah Anda berada di database atau bucket penyimpanan yang tepat.
Untuk mengakses aturan dari Firebase CLI, buka file aturan yang tercantum pada file firebase.json Anda.
Menulis aturan dasar
Saat Anda mengembangkan aplikasi dan memahami Aturan, coba terapkan beberapa Aturan Keamanan dasar, termasuk kasus penggunaan berikut:
- Hanya pemilik konten: Membatasi akses ke konten berdasarkan pengguna.
- Akses campuran: Membatasi akses tulis berdasarkan pengguna, tetapi mengizinkan akses baca publik.
- Akses berbasis atribut: Membatasi akses ke grup atau tipe pengguna.
Menguji aturan Anda
Untuk memvalidasi perilaku aplikasi sepenuhnya dan memverifikasi konfigurasi Aturan Keamanan Firebase
Anda, gunakan Firebase Emulator untuk menjalankan serta mengotomatiskan pengujian unit di lingkungan lokal.
Jika Anda menyiapkan Aturan Keamanan Firebase di Firebase console, Anda dapat menggunakan Firebase Rules Simulator untuk memvalidasi perilaku dengan cepat. Namun, kami menyarankan pengujian yang lebih menyeluruh dengan Firebase Emulator sebelum Anda menerapkan perubahan pada produksi.
Menerapkan aturan
Gunakan Firebase console atau Firebase CLI untuk men-deploy aturan Anda ke tahap produksi. Ikuti langkah-langkah yang diuraikan dalam Mengelola dan men-deploy Aturan Keamanan Firebase.