Perintah ini dapat membantu asisten AI Anda, seperti Gemini CLI, membuat dan menyempurnakan Firebase Security Rules untuk aplikasi Anda. Anda dapat menggunakan perintah untuk membuat draf Rules untuk kasus penggunaan umum, seperti memberikan akses khusus pengguna, menerapkan izin berbasis peran, dan memvalidasi data.
Perintah ini berfokus pada pembuatan Rules untuk:
- Cloud Firestore: Amankan koleksi dan dokumen berdasarkan logika aplikasi Anda.
- Cloud Storage for Firebase: Memvalidasi izin akses untuk file tersimpan Anda.
Menggunakan perintah ini dapat membantu Anda memulai dengan postur keamanan yang kuat, tetapi Anda harus selalu menguji Rules secara menyeluruh sebelum men-deploy ke produksi. Untuk mengetahui informasi selengkapnya tentang pengujian Rules, tinjau artikel Mulai menggunakan Firebase Security Rules: Menguji aturan Anda.
Prasyarat
- Pahami praktik terbaik Aturan Keamanan.
- Untuk menjalankan pengujian unit untuk Firebase Security Rules dan menggunakan Firebase Local Emulator Suite, instal Node.js dan CLI Firebase. Untuk mendapatkan petunjuk lengkapnya, lihat Menginstal, mengonfigurasi, dan mengintegrasikan Local Emulator Suite.
- Direkomendasikan: Jika Anda belum melakukannya, instal Gemini CLI. Petunjuk berikut menjelaskan cara menginstal dan menggunakan ekstensi Gemini CLI untuk membuat Rules; jika Anda lebih suka menggunakan asisten AI lain, Anda dapat menyalin dan menempelkan perintah dari repositori 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 Rules Anda. Instal server Firebase MCP sebelum menggunakan ekstensi untuk membuat Firebase Security Rules.
Keterbatasan
Kami terus berupaya meningkatkan kualitas pengalaman ini, sehingga daftar batasan ini dapat berubah. Sering-seringlah mengecek halaman ini untuk mengetahui informasi terbaru.
- Gemini di Firebase tidak dapat membuat Firebase Security Rules. Menggunakan asisten AI alternatif, seperti Gemini CLI.
- Perintah ini dirancang untuk menghasilkan Firebase Security Rules untuk Cloud Firestore dan Cloud Storage for Firebase. Model ini belum dapat membuat 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.
Menggunakan prompt
Gunakan ekstensi Gemini CLI eksperimental untuk Firebase Security Rules guna membuat aturan dan pengujian Anda.
Ekstensi ini menganalisis kode sumber Anda untuk membantu mengidentifikasi skema data dan pola akses untuk Cloud Firestore dan Cloud Storage. Dirancang untuk membuat draf Rules berdasarkan prinsip hak istimewa terendah dan berupaya menemukan kerentanan melalui simulasi "serangan" berulang. Untuk membantu verifikasi akhir, alat ini menyediakan rangkaian pengujian unit awal menggunakan
@firebase/rules-unit-testing, sehingga Anda dapat memverifikasi logika keamanan secara lokal menggunakan Firebase Local Emulator Suite.Untuk menginstal dan menggunakan ekstensi:
Instal ekstensi Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesBuka Gemini CLI.
gemini
Dari root project Anda, jalankan ekstensi untuk membuat aturan untuk Cloud Firestore:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDAtau, buat aturan untuk Cloud Storage:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
Ekstensi membuat direktori
rules_testuntuk Cloud Firestore atau direktoristorage_rules_testuntuk Cloud Storage di root project Anda. Direktori baru ini berisi file.rulesyang dihasilkan bersama dengan project Node.js dengan pengujian unit.Meninjau validasi aturan dan hasil pengujian:
- Validasi sintaksis - Setelah membuat aturan, Gemini CLI
secara otomatis memvalidasi sintaksis menggunakan
perintah
firebase_validate_security_rulesdari server MCP Firebase. - Pengujian unit - Setelah memvalidasi sintaksis, Gemini CLI akan mencoba menjalankan pengujian unit yang dihasilkan menggunakan Firebase Local Emulator Suite. Agar pengujian dapat berjalan, Anda perlu menjalankan Firebase Local Emulator Suite di terminal terpisah.
Jika pengujian tidak berjalan secara otomatis, mulai Firebase Local Emulator Suite di terminal terpisah, lalu gunakan salah satu opsi berikut untuk menjalankan pengujian:
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- Validasi sintaksis - Setelah membuat aturan, Gemini CLI
secara otomatis memvalidasi sintaksis menggunakan
perintah
Jika Anda sudah puas dengan hasil Rules yang dihasilkan, gunakan perintah Firebase CLI berikut untuk men-deploy Rules.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
Referensi tambahan
- Untuk mendapatkan bantuan tambahan terkait postur keamanan Anda, Anda juga dapat menggunakan ekstensi keamanan untuk Gemini CLI, ekstensi open source yang menganalisis perubahan kode untuk mengidentifikasi risiko dan kerentanan keamanan.