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

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

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

Aturan keamanan versi 2

Mulai Mei 2019, aturan keamanan Cloud Firestore versi 2 kini tersedia. Aturan versi 2 mengubah perilaku wildcard rekursif {name=**} . Anda harus menggunakan versi 2 jika 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 di 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 database 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 gagal.

Di bawah ini adalah beberapa contoh kumpulan aturan dasar. Meskipun aturan ini valid, namun tidak disarankan untuk aplikasi produksi:

Autentikasi diperlukan

// 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 untuk mempelajari cara mencocokkan jalur data tertentu dan bekerja dengan data hierarkis.

Aturan pengujian

Cloud Firestore menyediakan simulator aturan yang dapat Anda gunakan untuk menguji kumpulan aturan Anda. Anda dapat mengakses simulator dari tab Rules 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 mempratinjau token autentikasi dari berbagai penyedia. Permintaan yang disimulasikan berjalan melawan kumpulan aturan di editor Anda, bukan kumpulan aturan yang saat ini diterapkan.

Menyebarkan aturan

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

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

Gunakan konsol Firebase

Untuk menyiapkan dan men-deploy kumpulan aturan pertama Anda, buka tab Rules di bagian Cloud Firestore di Firebase console.

Tulis aturan Anda di editor online, lalu klik Terbitkan .

Gunakan Firebase CLI

Anda juga dapat menerapkan aturan menggunakan Firebase CLI . Menggunakan CLI memungkinkan Anda menjaga aturan di bawah kontrol versi dengan kode aplikasi 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 mendapatkan keuntungan dari fitur database yang kuat dari Cloud Firestore dan penyimpanan file serta fitur manajemen dari Cloud Storage. Digunakan bersama, produk ini juga menyediakan 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