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. İstemden yararlanarak kullanıcıya özel erişim izni verme, role dayalı izinler uygulama ve verileri doğrulama gibi yaygın kullanım alanları için Security Rules taslağı oluşturabilirsiniz.

Bu istem, şu amaçla Security Rules oluşturmaya odaklanır:

  • Cloud Firestore: Uygulamanızın mantığına göre koleksiyonların ve belgelerin güvenliğini sağlayın.
  • 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 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 sürekli olarak iyileştirdiğimiz için bu sınırlamalar listesi değişebilir. Güncellemeler için bu sayfayı sık sık ziyaret 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 (ör. Firebase Admin SDK kullanırken) erişildiğinde çağrılmaz. Admin SDK kullanıyorsanız arka uç kodunuzda yetkilendirme ve veri doğrulama işlemlerini yönetmek sizin sorumluluğunuzdadır.

  • Firebase konsolundaki Firebase ürününde Gemini, bu istemi kullansanız bile Firebase Security Rules oluşturamaz. Bunun yerine, kod tabanınıza erişimi olan alternatif bir yapay zeka asistanı (ör. bu sayfada açıklanan Antigravity) kullanın.

İstemi kullanın

Bu özellik, Security Rules ve testlerinizi oluşturmak için uyumlu bir yapay zeka asistanıyla (ör. Antigravity) Firebase MCP sunucusunu ve Firebase aracı becerilerini kullanırken kullanılabilir. Bu araçlar, 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 dayalı olarak Security Rules tasarlamak ve tekrarlanan "saldırı" simülasyonları aracılığıyla güvenlik açıklarını ortaya çıkarmak için tasarlanmıştır. Son doğrulama aşamasında yardımcı olmak için @firebase/rules-unit-testing kullanarak bir başlangıç birim testi paketi sağlarlar. Bu sayede güvenlik mantığınızı Firebase Local Emulator Suite kullanarak yerel olarak doğrulayabilirsiniz.

Bu araçları kullanmak için bu bölümde açıklanan üç adımı uygulamanız gerekir:

  1. Security Rules ve testlerinizi oluşturun.

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

  3. Security Rules uygulamasını Firebase projenize dağıtın.

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

Araçları ayarlama ve çalıştırma:

  1. Firebase aracı becerilerini etkinleştirin:

    • Google Antigravity: Antigravity Marketplace'ten Firebase eklentisini yüklemek için kurulum talimatlarına bakın. Becerileri proje düzeyinde yüklemek için aşağıdaki komutu da çalıştırabilirsiniz:

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

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

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

    • Doğal dil kullanan kodlama temsilcileri (ör. Antigravity) için temsilciye doğal dilde istem verin.

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

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

        Temsilci, ana dizinde bir firestore.rules dosyası ve oluşturulan Security Rules için birim testleri içeren bir Node.js projesinin bulunduğu 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.
        

        Temsilci, ana dizinde bir storage.rules dosyası ve oluşturulan Security Rules için birim testleri içeren bir Node.js projesinin bulunduğu yeni bir security_rules_test_storage dizini oluşturur.

    • Eğik çizgi komutlarını destekleyen kodlama temsilcileri (ö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 temsilcileri için, ham istem şablonunu firebase-tools deposundan kopyalayıp temsilcinin sohbetine yapıştırabilirsiniz.

      • Cloud Firestore için Security Rules oluşturun: İstemi Cloud Firestore sayfasından kopyalayın.
      • Cloud Storage for Firebase için Security Rules oluşturun: Cloud Storage for Firebase sayfasındaki istemi kopyalayın.

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

  1. Yapay zeka destekli kodlama temsilcinizin aşağıdakileri yaptığından emin olun. Araçlar çalıştırıldıktan sonra oluşturulan bir özet almanız gerekir.

    • Söz dizimi doğrulama: Security Rules oluşturulduktan sonra yapay zeka kodlama temsilciniz, Firebase MCP sunucusundaki 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 asistanınız, Firebase Local Emulator Suite kullanarak oluşturulan birim testlerini çalıştırmayı dener.

  2. Testler otomatik olarak çalıştırılmazsa Firebase Local Emulator Suite'i 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 testleri çalıştırması için 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ırma

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

Oluşturulan Security Rules sonucundan memnun olduğunuzda aşağıdaki Firebase CLI komutlarını kullanarak Security Rules öğesini Firebase projenize dağıtın:

  • Cloud Firestore

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

    firebase deploy --only storage