Perintah ini dapat membantu asisten AI Anda (seperti Gemini CLI) membuat dan menyempurnakan Firebase Security Rules untuk aplikasi Anda. Anda dapat menggunakan perintah ini untuk membuat draf Security Rules untuk kasus penggunaan umum, seperti memberikan akses khusus pengguna, menerapkan izin berbasis peran, dan memvalidasi data.
Perintah ini berfokus pada pembuatan Security Rules untuk:
- Cloud Firestore: Mengamankan koleksi dan dokumen berdasarkan logika aplikasi Anda.
- Cloud Storage for Firebase: Memvalidasi izin akses untuk file Anda yang tersimpan.
Perintah ini dapat digunakan untuk membantu Anda memulai dengan postur keamanan yang kuat. Namun, Anda harus selalu menguji Security Rules secara menyeluruh sebelum di-deploy ke produksi. Untuk mengetahui informasi selengkapnya tentang pengujian Security Rules, baca Mulai menggunakan Firebase Security Rules: Menguji Security Rules Anda.
Prasyarat
- Pelajari praktik terbaik Firebase Security Rules.
- Untuk menjalankan pengujian unit untuk Firebase Security Rules dan menggunakan Firebase Local Emulator Suite, instal Node.js dan Firebase CLI. Baca petunjuk lengkapnya di Menginstal, mengonfigurasi, dan mengintegrasikan Firebase Local Emulator Suite.
- Direkomendasikan: Instal Gemini CLI jika Anda belum melakukannya. Petunjuk berikut menjelaskan cara menginstal dan menggunakan ekstensi Gemini CLI untuk membuat Security Rules. Jika Anda lebih suka menggunakan asisten AI lain, Anda dapat menyalin dan menempelkan perintah dari repositori ekstensi ke asisten AI pilihan Anda.
- Ekstensi Gemini CLI ini menggunakan server Firebase MCP untuk memvalidasi Firebase Security Rules yang dihasilkannya. Server MCP juga dapat digunakan untuk mempermudah pengujian dan deployment Security Rules Anda. Instal server Firebase MCP sebelum menggunakan ekstensi untuk membuat Firebase Security Rules.
Batasan
Kami terus berupaya meningkatkan kualitas pengalaman ini. Oleh karena itu, daftar batasan ini dapat berubah-ubah. Periksa halaman ini secara berkala untuk mengetahui informasi terbaru.
Perintah ini dirancang untuk membuat Firebase Security Rules untuk Cloud Firestore dan Cloud Storage for Firebase. Perintah ini belum dapat membuat Security Rules untuk Firebase Realtime Database.
Firebase Security Rules tidak dipanggil saat mengakses database atau bucket dari server atau lingkungan backend lain, seperti saat menggunakan Firebase Admin SDK. Jika menggunakan Admin SDK, Anda bertanggung jawab untuk mengelola otorisasi dan validasi data dalam kode backend.
Gemini di Firebase dalam Firebase console tidak dapat membuat Firebase Security Rules, meskipun menggunakan perintah ini. Sebagai gantinya, gunakan asisten AI alternatif yang memiliki akses ke codebase Anda, seperti Gemini CLI (yang dijelaskan di halaman ini).
Menggunakan prompt
Perintah ini tersedia dari
ekstensi Gemini CLI untuk Firebase Security Rules
guna membuat Security Rules dan pengujian Anda. Ekstensi ini menganalisis kode
sumber Anda untuk membantu mengidentifikasi skema data dan pola akses untuk Cloud Firestore dan
Cloud Storage. Ekstensi ini dirancang untuk membuat draf Security Rules berdasarkan prinsip hak istimewa terendah dan berupaya menemukan kerentanan melalui simulasi
"serangan" berulang. Untuk membantu verifikasi akhir, ekstensi ini menyediakan rangkaian
pengujian unit awal menggunakan @firebase/rules-unit-testing sehingga Anda dapat memverifikasi
logika keamanan secara lokal menggunakan Firebase Local Emulator Suite.
Penggunaan ekstensi ini memerlukan tiga langkah yang dijelaskan di bagian ini:
Langkah 1: Membuat Security Rules dan pengujian
Instal dan jalankan ekstensi:
Instal ekstensi Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesMulai Gemini CLI:
geminiDari root project Anda, jalankan ekstensi untuk membuat Security Rules untuk Cloud Firestore atau Cloud Storage:
Buat Security Rules untuk Cloud Firestore:
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_IDDi direktori induk, ekstensi membuat file
firestore.rulesdan direktorirules_testbaru yang berisi project Node.js dengan pengujian unit untuk Security Rules yang dihasilkan.Buat Security Rules untuk Cloud Storage for Firebase:
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAMEDi direktori induk, ekstensi membuat file
storage.rulesdan direktoristorage_rules_testbaru yang berisi project Node.js dengan pengujian unit untuk Security Rules yang dihasilkan.
Langkah 2: Meninjau validasi dan hasil pengujian Security Rules
Pastikan asisten AI Anda melakukan hal berikut. Setelah ekstensi berjalan, Anda akan mendapatkan ringkasan yang dibuat.
Validasi sintaksis: Setelah membuat Security Rules, Gemini CLI akan otomatis memvalidasi sintaksis menggunakan perintah
firebase_validate_security_rulesdari server Firebase MCP.Pengujian unit: Setelah memvalidasi sintaksis, Gemini CLI akan mencoba menjalankan pengujian unit yang dihasilkan menggunakan Firebase Local Emulator Suite.
Jika pengujian tidak berjalan otomatis, mulai Firebase Local Emulator Suite di terminal terpisah, lalu gunakan salah satu opsi berikut untuk menjalankan pengujian:
Opsi 1: Instruksikan Gemini CLI untuk menjalankan pengujian:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.Opsi 2: Jalankan pengujian secara manual dengan mengikuti petunjuk dalam file
README.mddi direktorirules_testataustorage_rules_test.
Langkah 3: Men-deploy Security Rules ke project Firebase Anda
Jika Anda sudah puas dengan Security Rules yang dihasilkan, gunakan perintah Firebase CLI berikut untuk men-deploy Security Rules ke project Firebase Anda:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
Referensi lainnya
- Untuk mendapatkan bantuan tambahan terkait postur keamanan, Anda juga dapat menggunakan ekstensi keamanan untuk Gemini CLI, yakni ekstensi open source yang menganalisis perubahan kode guna mengidentifikasi risiko dan kerentanan keamanan.