Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Memulai Aturan Keamanan Cloud Firestore

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Dengan Aturan Keamanan Cloud Firestore, Anda dapat fokus membangun pengalaman pengguna yang luar biasa tanpa harus mengelola infrastruktur atau menulis kode otorisasi dan autentikasi sisi server.

Aturan keamanan menyediakan kontrol akses dan validasi data dalam format yang sederhana namun ekspresif. Untuk membangun sistem akses berbasis pengguna dan peran yang menjaga keamanan data pengguna, Anda perlu menggunakan Firebase Authentication dengan Aturan Keamanan Cloud Firestore.

Aturan keamanan versi 2

Mulai Mei 2019, versi 2 dari aturan keamanan Cloud Firestore kini tersedia. Versi 2 dari aturan mengubah perilaku wildcard rekursif {name=**} . Anda harus menggunakan versi 2 jika Anda berencana menggunakan kueri grup koleksi . Anda harus ikut serta ke versi 2 dengan membuat rules_version = '2'; baris pertama dalam aturan keamanan Anda:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

Aturan penulisan

Semua Aturan Keamanan Cloud Firestore terdiri dari pernyataan match , yang mengidentifikasi dokumen dalam database Anda, dan allow ekspresi, yang mengontrol akses ke dokumen tersebut:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

Setiap permintaan basis data dari pustaka klien seluler/web Cloud Firestore dievaluasi berdasarkan aturan keamanan Anda sebelum membaca atau menulis data apa pun. Jika aturan menolak akses ke salah satu jalur dokumen yang ditentukan, seluruh permintaan akan gagal.

Di bawah ini adalah beberapa contoh set aturan dasar. Meskipun aturan ini valid, aturan ini tidak direkomendasikan untuk aplikasi produksi:

Diperlukan otentikasi

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Tolak semua

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Perbolehkan semua

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Jalur {document=**} yang digunakan dalam contoh di atas cocok dengan dokumen apa pun di seluruh database. Lanjutkan ke panduan untuk menyusun aturan keamanan guna mempelajari cara mencocokkan jalur data tertentu dan bekerja dengan data hierarkis.

Aturan pengujian

Cloud Firestore menyediakan simulator aturan yang dapat Anda gunakan untuk menguji set aturan Anda. Anda dapat mengakses simulator dari tab Aturan di bagian Cloud Firestore di Firebase console.

Simulator aturan memungkinkan Anda mensimulasikan pembacaan, penulisan, dan penghapusan yang diautentikasi dan tidak diautentikasi. Saat Anda mensimulasikan permintaan yang diautentikasi, Anda dapat membuat dan melihat pratinjau token autentikasi dari berbagai penyedia. Permintaan yang disimulasikan dijalankan terhadap kumpulan aturan di editor Anda, bukan kumpulan aturan yang saat ini diterapkan.

Menerapkan aturan

Sebelum Anda dapat mulai menggunakan Cloud Firestore dari aplikasi seluler, Anda perlu menerapkan aturan keamanan. Anda dapat menerapkan aturan di Firebase console atau menggunakan Firebase CLI.

Pembaruan pada Aturan Keamanan Cloud Firestore dapat memerlukan waktu hingga satu menit untuk memengaruhi kueri dan pemroses baru. Namun, diperlukan waktu hingga 10 menit untuk menyebarkan perubahan sepenuhnya dan memengaruhi pendengar aktif mana pun.

Gunakan konsol Firebase

Untuk menyiapkan dan menerapkan kumpulan aturan pertama Anda, buka tab Aturan di bagian Cloud Firestore di Firebase console.

Tulis aturan Anda di editor online, lalu klik Publikasikan .

Gunakan Firebase CLI

Anda juga dapat menerapkan aturan menggunakan Firebase CLI . Menggunakan CLI memungkinkan Anda untuk menjaga aturan Anda di bawah kontrol versi dengan kode aplikasi Anda dan menerapkan aturan sebagai bagian dari proses penerapan yang ada.

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy your .rules file
firebase deploy --only firestore:rules

Tingkatkan keamanan untuk Cloud Storage

Aplikasi Anda akan mendapat manfaat dari fitur database Cloud Firestore yang tangguh dan penyimpanan file serta fitur manajemen Cloud Storage. Digunakan bersama-sama, produk ini juga memberikan keamanan aplikasi yang diperkuat, karena Cloud Firestore dapat menangkap persyaratan otorisasi yang dapat digunakan oleh Aturan Keamanan Firebase untuk kedua produk. Untuk selengkapnya, lihat panduan untuk Cloud Storage .

Langkah selanjutnya