Yapay Zeka İstemleri: Firebase Güvenlik Kuralları Yazma

Bu istem, yapay zeka asistanınızın (ör. Google Antigravity) 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 Security Rules taslağı oluşturmak üzere kullanılabilir.

Bu istem, aşağıdaki öğeler için Security 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: Saklanan 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 Security Rules uygulamanızı her zaman kapsamlı bir şekilde test etmeniz gerekir. Security Rules test etme hakkında daha fazla bilgi için Firebase Security Rules'ı kullanmaya başlama: Security Rules test etme başlıklı makaleyi inceleyin.

Ön koşullar

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 kontrol edin.

  • İstem, Cloud Firestore ve Cloud Storage for Firebase için Firebase Security Rules oluşturacak şekilde tasarlanmıştır. Henüz Firebase Realtime Database için Security 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 yetkilendirme ve veri doğrulama işlemlerini arka uç kodunuzda yönetmekten siz sorumlusunuz.

  • Firebase konsolundaki GeminiFirebase, bu istem kullanıldığında bile Firebase Security Rules oluşturamıyor. Bunun yerine, kod tabanınıza erişimi olan alternatif bir yapay zeka asistanı (ör. bu sayfada açıklanan Antigravity) kullanın.

İstemi kullanma

Bu özellik, Security Rules ve testlerinizi oluşturmak için uyumlu bir yapay zeka asistanıyla (ör. Antigravity) birlikte Firebase MCP sunucusu ve Firebase aracı becerileri kullanılırken kullanılabilir. Bu araçlar, Cloud Firestore ve Cloud Storage için veri şemalarını ve erişim kalıplarını belirlemeye yardımcı olmak üzere kaynak kodunuzu analiz eder. Bu araçlar, en az ayrıcalık ilkesine göre tasarlanmıştır Security Rules ve yinelemeli "saldırı" simülasyonları aracılığıyla güvenlik açıklarını ortaya çıkarmaya çalışır. Son doğrulama sürecine yardımcı olmak için @firebase/rules-unit-testing kullanarak bir başlangıç birim testi paketi sağlarlar. Bu sayede, Firebase Local Emulator Suite kullanarak güvenlik mantığınızı yerel olarak doğrulayabilirsiniz.

Bu araçları kullanmak için üç adım gerekir. Bu adımlar bu bölümde açıklanmıştır:

  1. Security Rules ve testlerinizi oluşturun.

  2. Security Rules Doğrulama ve test sonuçlarını inceleyin.

  3. Security Rules öğesini Firebase projenize dağıtın.

1. adım: Security Rules ve testler oluşturun

Araçları ayarlayıp çalıştırın:

  1. Firebase agent becerilerini etkinleştirin:

    • Google Antigravity: Firebase entegrasyon paketini etkinleştirmek için kurulum talimatlarına bakın. KSA'yı kullanıyorsanız aşağıdaki komutu çalıştırarak becerileri etkinleştirebilirsiniz:

      npx skills add firebase/agent-skills --agent=antigravity
    • Diğer yapay zeka kodlama aracıları: Aracı becerileri ve MCP sunucusu ile ilgili talimatları uygulayın.

  2. Yapay zeka asistanınızı başlatın (ör. CLI için terminalinizde agy komutunu çalıştırın veya masaüstü uygulamasını açın).

  3. Projenizin kökünden, yapay zeka kodlama aracınızın MCP istemleriyle nasıl etkileşim kurduğuna bağlı olarak, aracıdan Security Rules Cloud Firestore veya Cloud Storage için oluşturmasını isteyin:

    • Doğal dil kullanan kodlama aracıları (ör. Antigravity) için, aracıya doğal dil kullanarak istem girin.

      • Cloud Firestore için Security Rules oluşturun:

        Generate Firestore security rules for this project, then run the unit tests.
        

        Üst dizinde, aracı firestore.rules dosyası ve oluşturulan Security Rules için birim testleri içeren bir Node.js projesi içeren yeni bir security_rules_test_firestore dizini oluşturur.

      • Cloud Storage for Firebase için Security Rules oluşturun:

        Generate Cloud Storage security rules for this project, then run the unit tests.
        

        Üst dizinde, aracı storage.rules dosyası ve oluşturulan Security Rules için birim testleri içeren bir Node.js projesi içeren yeni bir security_rules_test_storage dizini oluşturur.

    • Eğik çizgi komutlarını destekleyen kodlama aracıları (ör. Claude Code) için aşağıdaki komutları kullanın.

      • Cloud Firestore için Security Rules oluşturun:

        /firestore:generate_security_rules
        
      • Cloud Storage for Firebase için Security Rules oluşturun:

        /storage:generate_security_rules
        
    • MCP istem entegrasyonunu desteklemeyen kodlama aracıları için, firebase-tools deposundan ham istem şablonunu kopyalayıp aracının sohbetine yapıştırabilirsiniz.

2. adım: Security Rules doğrulama ve test sonuçlarını inceleyin

  1. Yapay zeka kodlama aracınızın aşağıdakileri yaptığından emin olun. Araçlar çalıştırıldıktan sonra oluşturulmuş bir özet alırsınız.

    • Söz dizimi doğrulama: Security Rules oluşturulduktan sonra yapay zeka kodlama aracınız, Firebase MCP sunucusundan firebase_validate_security_rules komutunu kullanarak söz dizimini otomatik olarak doğrular.

    • Birim testleri: Söz dizimi doğrulandıktan sonra yapay zeka kodlama aracınız, Firebase Local Emulator Suite kullanarak oluşturulan birim testlerini çalıştırmaya çalışır.

  2. 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:

    • 1. seçenek: Yapay zeka asistanınıza test çalıştırması talimatı verin:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • 2. seçenek: rules_test veya storage_rules_test dizinindeki README.md dosyasında yer alan talimatları uygulayarak testleri manuel olarak çalıştırın.

3. adım: Security Rules'ı Firebase projenize dağıtın

Oluşturduğunuz Security Rules sonucundan memnun kaldığınızda Security Rules öğesini Firebase projenize dağıtmak için aşağıdaki Firebase KSA komutlarını kullanın:

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage