Aturan Keamanan Firebase menyediakan perlindungan tangguh yang dapat disesuaikan sepenuhnya untuk data Anda di Cloud Firestore, Realtime Database, dan Cloud Storage. Anda dapat secara mudah memulai Rules dengan mengikuti langkah-langkah dalam panduan ini, guna mengamankan data dan melindungi aplikasi dari pengguna yang berniat jahat.
Memahami bahasa Aturan Keamanan Firebase
Sebelum mulai menulis aturan, sebaiknya luangkan waktu untuk meninjau bahasa Aturan Keamanan Firebase tertentu untuk produk Firebase yang Anda gunakan. Realtime Database memanfaatkan sintaksis mirip JavaScript dan struktur JSON untuk Rules-nya.
Mulailah dengan mempelajari sintaksis inti bahasa Aturan Keamanan Firebase.
Siapkan Authentication
Jika Anda belum melakukannya, tambahkan Firebase Authentication ke aplikasi Anda. 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
Menentukan data untuk keamanan
Cara Anda menyusun data dapat memengaruhi cara penyusunan dan penerapan aturan. Saat Anda menentukan struktur data, pertimbangkan implikasinya pada struktur Rules Anda.
Misalnya, di Realtime Database, Anda mungkin ingin menyertakan kolom yang menunjukkan peran tertentu untuk setiap pengguna. Kemudian, aturan Anda dapat membaca kolom tersebut dan menggunakannya untuk memberikan akses berbasis peran.
Saat Anda menentukan arsitektur data dan aturan, pertimbangkan sifat aturan yang menurun atau tidak menurun, bergantung pada produk Anda. Dengan Realtime Database, aturan berfungsi dari atas ke bawah, dengan aturan yang lebih dangkal akan menggantikan aturan yang lebih dalam. Jika aturan memberikan izin baca atau tulis pada jalur tertentu, aturan tersebut juga akan memberikan akses ke semua node turunan di bawahnya. Sebaliknya, dengan Cloud Firestore dan Cloud Storage, aturan hanya berlaku pada tingkat hierarki data tertentu, dan Anda menulis aturan eksplisit untuk mengontrol akses ke berbagai tingkat.
Mengakses aturan Anda
Untuk melihat Rules yang sudah ada, gunakan Firebase CLI atau Firebase console. Pastikan Anda mengedit aturan menggunakan metode yang sama secara konsisten, agar tidak ada pembaruan yang tumpang tindih secara tidak sengaja. Jika tidak yakin bahwa aturan yang Anda tentukan secara lokal mencerminkan pembaruan terkini, Firebase console selalu menunjukkan versi Aturan Keamanan Firebase yang paling baru di-deploy.
Untuk mengakses aturan dari Firebase console, pilih project Anda, lalu klik Realtime Database di panel navigasi sebelah kiri. Klik Rules 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 Rules, coba terapkan beberapa Rules untuk menangani beberapa kasus penggunaan dasar, termasuk:
- 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
Jika Anda menyiapkan Aturan Keamanan Firebase di Firebase console, Anda dapat menggunakan Firebase Rules Playground untuk memvalidasi perilaku dengan cepat. Namun, sebaiknya lakukan pengujian yang lebih menyeluruh dengan Local Emulator Suite sebelum men-deploy perubahan ke fase produksi.
Men-deploy aturan
Gunakan Firebase console atau Firebase CLI untuk men-deploy aturan ke tahap produksi. Ikuti langkah-langkah yang diuraikan dalam Mengelola dan men-deploy Aturan Keamanan Firebase.