एआई प्रॉम्प्ट: Firebase के सुरक्षा नियम लिखो

इस प्रॉम्प्ट से, आपकी एआई असिस्टेंट (जैसे कि Google Antigravity) को आपके ऐप्लिकेशन के लिए Firebase Security Rules जनरेट करने और उसे बेहतर बनाने में मदद मिल सकती है. इस प्रॉम्प्ट का इस्तेमाल, सामान्य इस्तेमाल के मामलों के लिए Security Rules का ड्राफ़्ट बनाने के लिए किया जा सकता है. जैसे, उपयोगकर्ता के हिसाब से ऐक्सेस देना, भूमिका के आधार पर अनुमतियां लागू करना, और डेटा की पुष्टि करना.

इस प्रॉम्प्ट का मकसद, इनके लिए Security Rules जनरेट करना है:

  • Cloud Firestore: अपने ऐप्लिकेशन के लॉजिक के आधार पर, कलेक्शन और दस्तावेज़ों को सुरक्षित रखें.
  • Cloud Storage for Firebase: सेव की गई फ़ाइलों को ऐक्सेस करने की अनुमतियों की पुष्टि करें.

इस प्रॉम्प्ट का इस्तेमाल करके, सुरक्षा से जुड़ी अपनी नीतियों को बेहतर बनाया जा सकता है. हालांकि, आपको प्रोडक्शन में डिप्लॉय करने से पहले, अपने Security Rules की अच्छी तरह से जांच करनी चाहिए. Security Rules की टेस्टिंग के बारे में ज़्यादा जानने के लिए, Firebase Security Rules का इस्तेमाल शुरू करना: Security Rules की टेस्टिंग करना लेख पढ़ें.

ज़रूरी शर्तें

सीमाएं

हम इस सुविधा को बेहतर बनाने के लिए लगातार काम कर रहे हैं. इसलिए, इस सूची में दी गई सीमाओं में बदलाव हो सकता है. अपडेट के लिए, समय-समय पर यहां देखते रहें.

  • इस प्रॉम्प्ट को Cloud Firestore और Cloud Storage for Firebase के लिए Firebase Security Rules जनरेट करने के लिए डिज़ाइन किया गया है. यह फ़िलहाल Firebase Realtime Database के लिए Security Rules जनरेट नहीं कर सकता.

  • जब सर्वर या अन्य बैकएंड एनवायरमेंट से आपके डेटाबेस या बकेट को ऐक्सेस किया जाता है, तब Firebase Security Rules को कॉल नहीं किया जाता. जैसे, Firebase Admin SDK का इस्तेमाल करते समय. Admin SDK का इस्तेमाल करने पर, आपको अपने बैकएंड कोड में अनुमति और डेटा की पुष्टि को मैनेज करना होगा.

  • Firebase कंसोल में मौजूद Firebase में Gemini, इस प्रॉम्प्ट का इस्तेमाल करने पर भी Firebase Security Rules जनरेट नहीं कर सकता. इसके बजाय, किसी अन्य एआई असिस्टेंट का इस्तेमाल करें जिसके पास आपके कोडबेस का ऐक्सेस हो. जैसे, Antigravity (इसके बारे में इस पेज पर बताया गया है).

प्रॉम्प्ट का इस्तेमाल करना

यह सुविधा तब उपलब्ध होती है, जब Firebase MCP सर्वर और Firebase एजेंट की क्षमताओं का इस्तेमाल किया जा रहा हो. साथ ही, Security Rules और टेस्ट जनरेट करने के लिए, एआई असिस्टेंट (जैसे कि Antigravity) का इस्तेमाल किया जा रहा हो. ये टूल, आपके सोर्स कोड का विश्लेषण करते हैं. इससे Cloud Firestore और Cloud Storage के लिए, डेटा स्कीमा और ऐक्सेस पैटर्न की पहचान करने में मदद मिलती है. इन्हें कम से कम अधिकारों के सिद्धांत के आधार पर Security Rules तैयार किया गया है. साथ ही, ये बार-बार "हमला" करने की स्थितियों को सिम्युलेट करके, कमज़ोरियों का पता लगाने की कोशिश करते हैं. पुष्टि करने में मदद करने के लिए, वे @firebase/rules-unit-testing का इस्तेमाल करके एक शुरुआती यूनिट टेस्ट सुइट उपलब्ध कराते हैं. इससे, Firebase Local Emulator Suite का इस्तेमाल करके, सुरक्षा से जुड़े लॉजिक की पुष्टि स्थानीय तौर पर की जा सकती है.

इन टूल का इस्तेमाल करने के लिए, तीन चरणों को पूरा करना होता है. इनके बारे में इस सेक्शन में बताया गया है:

  1. अपने Security Rules और टेस्ट जनरेट करें.

  2. Security Rulesपुष्टि और जांच के नतीजे देखें.

  3. Security Rules को अपने Firebase प्रोजेक्ट में डिप्लॉय करें.

पहला चरण: Security Rules और टेस्ट जनरेट करना

टूल सेट अप करना और उन्हें चलाना:

  1. Firebase एजेंट की ये स्किल चालू करें:

  2. एआई असिस्टेंट शुरू करें. उदाहरण के लिए, सीएलआई के लिए अपने टर्मिनल में agy चलाएं या डेस्कटॉप ऐप्लिकेशन खोलें.

  3. अपने प्रोजेक्ट के रूट से, एजेंट को Security Rules के लिए Cloud Firestore या Cloud Storage जनरेट करने के लिए कहें. यह इस बात पर निर्भर करता है कि आपका एआई कोडिंग एजेंट, एमसीपी प्रॉम्प्ट के साथ कैसे इंटरैक्ट करता है:

    • नैचुरल लैंग्वेज का इस्तेमाल करने वाले कोडिंग एजेंट (जैसे, Antigravity) के लिए, एजेंट को नैचुरल लैंग्वेज का इस्तेमाल करके प्रॉम्प्ट दें.

      • Cloud Firestore के लिए Security Rules जनरेट करें:

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

        पेरेंट डायरेक्ट्री में, एजेंट एक firestore.rules फ़ाइल और एक नई security_rules_test_firestore डायरेक्ट्री बनाता है. इसमें जनरेट किए गए Security Rules के लिए यूनिट टेस्ट के साथ एक Node.js प्रोजेक्ट होता है.

      • Cloud Storage for Firebase के लिए Security Rules जनरेट करें:

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

        पेरेंट डायरेक्ट्री में, एजेंट एक storage.rules फ़ाइल और एक नई security_rules_test_storage डायरेक्ट्री बनाता है. इसमें जनरेट किए गए Security Rules के लिए यूनिट टेस्ट के साथ एक Node.js प्रोजेक्ट होता है.

    • स्लैश कमांड के साथ काम करने वाले कोडिंग एजेंट (जैसे, Claude Code) के लिए, यहां दी गई कमांड का इस्तेमाल करें.

      • Cloud Firestore के लिए Security Rules जनरेट करें:

        /firestore:generate_security_rules
        
      • Cloud Storage for Firebase के लिए Security Rules जनरेट करें:

        /storage:generate_security_rules
        
    • ऐसे कोडिंग एजेंट के लिए जिनमें एमसीपी प्रॉम्प्ट इंटिग्रेशन की सुविधा काम नहीं करती है, firebase-tools रिपॉज़िटरी से रॉ प्रॉम्प्ट टेंप्लेट कॉपी करके, उसे एजेंट की चैट में चिपकाया जा सकता है.

      • Cloud Firestore के लिए Security Rules जनरेट करें: Cloud Firestore से प्रॉम्प्ट कॉपी करें.
      • Cloud Storage for Firebase के लिए Security Rules जनरेट करें: Cloud Storage for Firebase से प्रॉम्प्ट कॉपी करें.

दूसरा चरण: Security Rules की पुष्टि और जांच के नतीजों की समीक्षा करना

  1. पक्का करें कि एआई कोडिंग एजेंट ने ये काम किए हों. टूल चलाने के बाद, आपको जनरेट की गई खास जानकारी मिलनी चाहिए.

    • सिंटैक्स की पुष्टि करना: Security Rules जनरेट करने के बाद, आपका एआई कोडिंग एजेंट, Firebase MCP सर्वर से firebase_validate_security_rules कमांड का इस्तेमाल करके, सिंटैक्स की पुष्टि अपने-आप करता है.

    • यूनिट टेस्ट: सिंटैक्स की पुष्टि करने के बाद, एआई कोडिंग एजेंट Firebase Local Emulator Suite का इस्तेमाल करके, जनरेट किए गए यूनिट टेस्ट को चलाने की कोशिश करता है.

  2. अगर टेस्ट अपने-आप नहीं चलते हैं, तो अलग टर्मिनल में Firebase Local Emulator Suite शुरू करें. इसके बाद, टेस्ट चलाने के लिए इनमें से कोई एक विकल्प इस्तेमाल करें:

    • पहला विकल्प: एआई असिस्टेंट को टेस्ट चलाने के लिए निर्देश दें:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • दूसरा विकल्प: rules_test या storage_rules_test डायरेक्ट्री में मौजूद README.md फ़ाइल में दिए गए निर्देशों का पालन करके, मैन्युअल तरीके से टेस्ट चलाएं.

तीसरा चरण: अपने Firebase प्रोजेक्ट में Security Rules डिप्लॉय करें

जनरेट किए गए Security Rules के नतीजे से संतुष्ट होने पर, अपने Firebase प्रोजेक्ट में Security Rules को डिप्लॉय करने के लिए, Firebase CLI की इन कमांड का इस्तेमाल करें:

  • Cloud Firestore

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

    firebase deploy --only storage