Aturan Keamanan Firebase

Gunakan Aturan Keamanan Firebase kami yang fleksibel dan dapat diperluas untuk mengamankan data di Cloud Firestore, Firebase Realtime Database, dan Cloud Storage.

Aturan Keamanan Firebase menjadi penghalang antara data Anda dan pengguna yang berniat jahat. Anda dapat menulis aturan sederhana atau kompleks yang melindungi data aplikasi hingga ke tingkat perincian yang dibutuhkan aplikasi secara khusus.

Aturan Keamanan Firebase memanfaatkan bahasa konfigurasi yang fleksibel dan dapat diperluas guna menentukan data apa saja yang dapat diakses pengguna untuk Realtime Database, Cloud Firestore, dan Cloud Storage. Aturan Keamanan Firebase Realtime Database memanfaatkan JSON dalam definisi aturan, sedangkan Aturan Keamanan Cloud Firestore dan Aturan Keamanan Firebase untuk Cloud Storage memanfaatkan bahasa unik yang dibuat untuk mengakomodasi struktur khusus aturan yang lebih kompleks.

Pelajari lebih lanjut cara menyiapkan Aturan untuk produk Firebase tertentu yang Anda gunakan di aplikasi Anda, dan apa saja perbedaan perilaku Aturan pada berbagai produk Firebase.

Kemampuan utama

Fleksibilitas Tulis aturan khusus yang sesuai untuk struktur dan perilaku aplikasi Anda. Aturan 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 Aturan ditentukan di luar aplikasi Anda (di konsol Firebase atau Firebase CLI), klien tidak bertanggung jawab untuk memastikan keamanan, bug tidak mengganggu data, dan data Anda selalu dilindungi.

Bagaimana cara kerjanya?

Aturan Keamanan Firebase bekerja dengan mencocokkan pola dengan jalur database, kemudian menerapkan kondisi khusus untuk mengizinkan akses ke data di jalur tersebut. Semua Aturan di seluruh produk Firebase memiliki komponen pencocokan jalur dan pernyataan kondisional yang memungkinkan akses baca atau tulis. Anda harus menetapkan Aturan untuk setiap produk Firebase yang Anda gunakan pada aplikasi.

Untuk Cloud Firestore dan Cloud Storage, Aturan 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, Aturan berbasis JSON menggunakan sintaksis berikut:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Aturan diterapkan sebagai pernyataan OR, bukan pernyataan AND. Akibatnya, jika beberapa aturan cocok dengan sebuah jalur, dan kondisi apa pun yang cocok memberikan akses, Aturan 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 Aturan Anda tidak terlalu tumpang-tindih. Flag Aturan Keamanan Firebase tumpang-tindih di jalur yang cocok sebagai peringatan compiler.

Aturan Keamanan Firebase juga dapat memanfaatkan Authentication untuk memberikan izin berbasis pengguna, dan kondisi yang Anda tetapkan bisa sangat mendasar atau sangat kompleks. Pelajari bahasa dan perilaku Aturan lebih lanjut sebelum mulai menulis Aturan.

Alur implementasi

Mengintegrasikan SDK produk Siapkan Cloud Firestore, Cloud Storage, atau Realtime Database untuk aplikasi Anda.
Menulis Aturan Keamanan Firebase Anda Pelajari lebih lanjut cara kerja Aturan dan cara menyiapkan Aturan dasar
Menguji Aturan Keamanan Firebase Anda Gunakan emulator Realtime Database dan emulator Cloud Firestore untuk menguji perilaku aplikasi dan memvalidasi aturan sebelum men-deploy-nya ke tahap produksi.
Men-deploy Aturan Keamanan Firebase Anda Gunakan Firebase console atau Firebase CLI untuk men-deploy aturan Anda ke tahap produksi.

Langkah berikutnya