Bu istem, Gemini CLI gibi yapay zeka asistanınızın uygulamanız için Firebase Security Rules oluşturmasına ve iyileştirmesine yardımcı olabilir. İstem, kullanıcıya özel erişim verme, role dayalı izinler uygulama ve verileri doğrulama gibi yaygın kullanım alanları için Rules taslağı oluşturmak üzere kullanılabilir.
Bu istem, Rules oluşturmaya odaklanır:
- Cloud Firestore: Uygulamanızın mantığına göre koleksiyonları ve dokümanları güvenli hale getirin.
- Cloud Storage for Firebase: Depolanan dosyalarınızın erişim izinlerini doğrulayın.
Bu istemi kullanmak, güçlü bir güvenlik duruşuyla başlamanıza yardımcı olabilir ancak üretime dağıtmadan önce Rules öğenizi her zaman kapsamlı bir şekilde test etmeniz gerekir. Rules test etme hakkında daha fazla bilgi için Firebase Security Rules'ı kullanmaya başlama: Kurallarınızı test etme başlıklı makaleyi inceleyin.
Ön koşullar
- Güvenlik kurallarıyla ilgili en iyi uygulamalar hakkında bilgi edinin.
- Firebase Security Rules için birim testleri çalıştırmak ve Firebase Local Emulator Suite kullanmak üzere Node.js ve Firebase CLI'yı yükleyin. Talimatların tamamı için Local Emulator Suite'i yükleme, yapılandırma ve entegre etme başlıklı makaleyi inceleyin.
- Önerilen: Henüz yapmadıysanız Gemini CLI'ı yükleyin. Aşağıdaki talimatlarda, Gemini CLI üretmek için bir Rules uzantının nasıl yükleneceği ve kullanılacağı açıklanmaktadır. Başka bir yapay zeka asistanı kullanmayı tercih ederseniz depodaki istemi kopyalayıp seçtiğiniz yapay zeka asistanına yapıştırabilirsiniz.
- Bu Gemini CLI uzantısı, oluşturduğu Firebase Security Rules öğesini doğrulamak için Firebase MCP sunucusunu kullanır. MCP sunucusu, Rules'nızın daha kolay test edilmesi ve dağıtılması için de kullanılabilir. Uzantıyı kullanarak Firebase Security Rules oluşturmadan önce Firebase MCP sunucusunu yükleyin.
Sınırlamalar
Bu deneyimi iyileştirmek için çalışmalarımız devam ediyor. Bu nedenle, sınırlamaların listesi değişebilir. Güncellemeler için sık sık tekrar kontrol edin.
- Firebase içindeki Gemini, Firebase Security Rules oluşturamıyor. Gemini CLI gibi alternatif bir yapay zeka asistanı kullanın.
- İstem, Cloud Firestore ve Cloud Storage for Firebase için Firebase Security Rules oluşturmak üzere tasarlanmıştır. Henüz Firebase Realtime Database için Rules oluşturamıyor.
- Firebase Security Rules, veritabanınıza veya paketinize bir sunucudan ya da başka bir arka uç ortamından erişilirken (ör. Firebase Admin SDK kullanılırken) çağrılmaz. Admin SDK kullanıyorsanız arka uç kodunuzda yetkilendirme ve veri doğrulama işlemlerini yönetmekten siz sorumlusunuz.
İstemi kullanma
Kurallarınızı ve testlerinizi oluşturmak için Firebase Security Rules'e yönelik deneysel Gemini CLI uzantısını kullanın.
Bu uzantı, Cloud Firestore ve Cloud Storage için veri şemalarını ve erişim kalıplarını belirlemenize yardımcı olmak amacıyla kaynak kodunuzu analiz eder. En az ayrıcalık ilkesine göre Rules oluşturmak üzere tasarlanmıştır ve yinelemeli "saldırı" simülasyonları aracılığıyla güvenlik açıklarını ortaya çıkarmaya çalışır. Son doğrulamaya yardımcı olmak için
@firebase/rules-unit-testingkullanarak bir başlangıç birim testi paketi sağlar. Bu sayede, Firebase Local Emulator Suite'i kullanarak güvenlik mantığınızı yerel olarak doğrulayabilirsiniz.Uzantıyı yüklemek ve kullanmak için:
Gemini CLI uzantısını yükleyin:
gemini extensions install https://github.com/firebase/snippets-rulesGemini CLI adlı görüşmeyi açın.
gemini
Projenizin kökünden uzantıyı çalıştırarak Cloud Firestore için kurallar oluşturun:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDDilerseniz Cloud Storage için kurallar oluşturabilirsiniz:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
Uzantı, proje kökünüzde Cloud Firestore için
rules_testdizini veya Cloud Storage içinstorage_rules_testdizini oluşturur. Bu yeni dizinde, oluşturulan.rulesdosyası ve birim testleri içeren bir Node.js projesi yer alır.Kural doğrulama ve test sonuçlarını inceleyin:
- Söz dizimi doğrulama: Kurallar oluşturulduktan sonra Gemini CLI, Firebase MCP sunucusundan gelen
firebase_validate_security_ruleskomutunu kullanarak söz dizimini otomatik olarak doğrular. - Birim testleri: Söz dizimi doğrulandıktan sonra Gemini CLI, Firebase Local Emulator Suite kullanarak oluşturulan birim testlerini çalıştırmayı dener. Testlerin çalışması için Firebase Local Emulator Suite komutunu ayrı bir terminalde çalıştırmanız gerekir.
Testler otomatik olarak çalışmıyorsa Firebase Local Emulator Suite'ı ayrı bir terminalde başlatın, ardından testleri çalıştırmak için aşağıdaki seçeneklerden birini kullanın:
* 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.- Söz dizimi doğrulama: Kurallar oluşturulduktan sonra Gemini CLI, Firebase MCP sunucusundan gelen
Oluşturulan Rules sonucundan memnun olduğunuzda Rules dağıtmak için aşağıdaki Firebase CLI komutunu kullanın.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
Ek kaynaklar
- Güvenlik durumunuzla ilgili ek yardım için Gemini CLI için güvenlik uzantısını da kullanabilirsiniz. Bu açık kaynaklı uzantı, güvenlik risklerini ve güvenlik açıklarını belirlemek için kod değişikliklerini analiz eder.