Firebase Security Rules
Gunakan Aturan Keamanan Firebase kami yang fleksibel dan dapat diperluas untuk mengamankan data Anda di Cloud Firestore, Firebase Realtime Database, dan Cloud Storage.
Firebase Security Rules mengamankan data Anda dari pengguna yang berniat jahat. Anda dapat menulis aturan sederhana atau kompleks yang melindungi data aplikasi hingga ke tingkat perincian yang dibutuhkan aplikasi secara khusus.
Firebase Security Rules memanfaatkan bahasa konfigurasi yang fleksibel dan dapat diperluas untuk menentukan data yang dapat diakses pengguna untuk Realtime Database, Cloud Firestore, dan Cloud Storage. Firebase Realtime Database Security Rules memanfaatkan JSON dalam definisi aturan, sedangkan Cloud Firestore Security Rules dan Firebase Security Rules untuk Cloud Storage memanfaatkan bahasa unik yang dibuat untuk mengakomodasi struktur khusus aturan yang lebih kompleks.
Pelajari lebih lanjut cara menyiapkan Rules untuk produk Firebase tertentu yang Anda gunakan di aplikasi Anda, dan apa saja perbedaan perilaku Rules pada berbagai produk Firebase.
Kemampuan utama
Fleksibilitas | Tulis aturan khusus yang sesuai untuk struktur dan perilaku aplikasi Anda. Rules menggunakan bahasa yang memungkinkan Anda memanfaatkan data Anda sendiri untuk mengizinkan akses. |
Perincian | Aturan Anda bisa seluas atau sesempit yang Anda butuhkan. |
Keamanan independen | Karena Rules ditentukan di luar aplikasi Anda (di Firebase console atau Firebase CLI), klien tidak bertanggung jawab untuk memastikan keamanan, bug tidak membahayakan data, dan data Anda selalu dilindungi. |
Bagaimana cara kerjanya?
Firebase Security Rules bekerja dengan mencocokkan pola dengan jalur database, lalu menerapkan kondisi khusus untuk mengizinkan akses ke data di jalur tersebut. Semua Rules di seluruh produk Firebase memiliki komponen pencocokan jalur dan pernyataan kondisional yang memungkinkan akses baca atau tulis. Anda harus menetapkan Rules untuk setiap produk Firebase yang Anda gunakan pada aplikasi.
Untuk Cloud Firestore dan Cloud Storage, Rules menggunakan sintaksis berikut:
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Untuk Realtime Database, Rules berbasis JSON menggunakan sintaksis berikut:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Rules diterapkan sebagai pernyataan OR
, bukan pernyataan AND
.
Akibatnya, jika beberapa aturan cocok dengan sebuah jalur, dan kondisi apa pun yang cocok
memberikan akses, Rules akan memberikan akses ke data di
jalur tersebut. Oleh karena itu, jika aturan yang luas memberikan akses ke data, Anda tidak dapat membatasi dengan aturan yang lebih spesifik. Namun, Anda dapat menghindari masalah ini dengan memastikan bahwa Rules Anda tidak terlalu tumpang-tindih. Flag Firebase Security Rules tumpang-tindih di jalur yang cocok sebagai peringatan compiler.
Firebase Security Rules juga dapat memanfaatkan Authentication untuk memberikan izin berbasis pengguna, dan kondisi yang Anda tetapkan bisa sangat mendasar atau sangat kompleks. Pelajari lebih lanjut bahasa dan perilaku Rules sebelum Anda mulai menulis Rules.
Alur implementasi
Integrasikan SDK produk | Siapkan Cloud Firestore, Cloud Storage, atau Realtime Database untuk aplikasi Anda. | |
Tulis Firebase Security Rules Anda | Pelajari lebih lanjut cara kerja Rules dan menyiapkan beberapa Rules dasar | |
Uji Firebase Security Rules Anda | Gunakan emulator Realtime Database dan Cloud Firestore untuk menguji perilaku aplikasi dan memvalidasi aturan sebelum men-deploy-nya ke tahap produksi. | |
Deploy Firebase Security Rules Anda | Gunakan Firebase console atau Firebase CLI untuk men-deploy aturan ke tahap produksi. |
Langkah berikutnya
- Memahami bahasa Firebase Security Rules.
- Pelajari lebih lanjut cara kerja Firebase Security Rules.
- Pelajari kesalahan umum yang harus Anda hindari.