Aturan Keamanan Firebaseplat_iosplat_androidplat_webplat_node

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 Anda ke tingkat rincian yang dibutuhkan aplikasi spesifik.

Aturan Keamanan Firebase memanfaatkan bahasa konfigurasi yang fleksibel dan dapat diperluas untuk mengamankan data Anda di Cloud Firestore, Firebase Realtime Database, dan Cloud Storage. Firebase Realtime Database Rules memanfaatkan JSON dalam definisi aturan, sedangkan Aturan Keamanan Cloud Firestore dan Aturan Keamanan Firebase untuk Cloud Storage memanfaatkan bahasa unik yang dibangun untuk mengakomodasi struktur spesifik aturan yang lebih kompleks.

Pelajari lebih lanjut tentang cara menyiapkan Aturan untuk produk Firebase spesifik yang Anda gunakan di aplikasi Anda, dan bagaimana perilaku Aturan berbeda di seluruh produk Firebase.

Kemampuan utama

Fleksibilitas Tulis aturan khusus yang logis untuk struktur dan perilaku aplikasi Anda. Aturan menggunakan bahasa yang memungkinkan Anda memanfaatkan data Anda sendiri untuk mengotorisasi 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 path database, kemudian menerapkan kondisi khusus untuk mengizinkan akses ke data di path tersebut. Semua Aturan di seluruh produk Firebase memiliki komponen pencocokan path dan pernyataan bersyarat 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 sintaks berikut:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

Untuk Database Realtime, Aturan berbasis JSON menggunakan sintaks 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 path, dan kondisi apa pun yang cocok memberikan akses, Aturan memberikan akses ke data di path tersebut. Oleh karena itu, jika aturan 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. Tandai Aturan Keamanan Firebase tumpang-tindih dengan path yang cocok sebagai peringatan kompilator.

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

Alur implementasi

Integrasikan SDK produk Siapkan Cloud Firestore, Cloud Storage, atau Realtime Database untuk aplikasi Anda.
Tulis Aturan Keamanan Firebase Anda Pelajari lebih lanjut tentang bagaimana Aturan bekerja dan menyiapkan Aturan dasar
Uji Aturan Keamanan Firebase Anda Gunakan emulator Realtime Database dan Cloud Firestore untuk menguji perilaku aplikasi Anda dan memvalidasi aturan Anda sebelum Anda menerapkannya ke produksi.
Terapkan Aturan Keamanan Firebase Anda Gunakan konsol Firebase atau Firebase CLI untuk menerapkan aturan Anda ke produksi.

Langkah berikutnya