इस प्रॉम्प्ट से, आपकी एआई असिस्टेंट (जैसे कि Gemini CLI) को आपके ऐप्लिकेशन के लिए Firebase Security Rules जनरेट करने और उसे बेहतर बनाने में मदद मिल सकती है. इस प्रॉम्प्ट का इस्तेमाल, सामान्य इस्तेमाल के मामलों के लिए Security Rules का ड्राफ़्ट बनाने के लिए किया जा सकता है. जैसे, उपयोगकर्ता के हिसाब से ऐक्सेस देना, भूमिका के आधार पर अनुमतियां लागू करना, और डेटा की पुष्टि करना.
इस प्रॉम्प्ट का मकसद, इनके लिए Security Rules जनरेट करना है:
- Cloud Firestore: अपने ऐप्लिकेशन के लॉजिक के आधार पर, कलेक्शन और दस्तावेज़ों को सुरक्षित रखें.
- Cloud Storage for Firebase: सेव की गई फ़ाइलों को ऐक्सेस करने की अनुमतियों की पुष्टि करें.
इस प्रॉम्प्ट का इस्तेमाल करके, सुरक्षा से जुड़ी बेहतर नीतियां लागू की जा सकती हैं. हालांकि, आपको प्रोडक्शन में Security Rules को डिप्लॉय करने से पहले, उसकी अच्छी तरह से जांच करनी चाहिए. Security Rules की टेस्टिंग के बारे में ज़्यादा जानने के लिए, Firebase Security Rules का इस्तेमाल शुरू करना: Security Rules की टेस्टिंग करना लेख पढ़ें.
ज़रूरी शर्तें
- Firebase Security Rules सबसे सही तरीकों के बारे में जानें.
- Firebase Security Rules के लिए यूनिट टेस्ट चलाने और Firebase Security Rules का इस्तेमाल करने के लिए, Node.js इंस्टॉल करें और Firebase CLI का इस्तेमाल करें.Firebase Local Emulator Suite पूरे निर्देशों के लिए, Firebase Local Emulator Suite को इंस्टॉल, कॉन्फ़िगर, और इंटिग्रेट करना लेख पढ़ें.
- सुझाया गया: अगर आपने पहले से Gemini CLI इंस्टॉल नहीं किया है, तो इसे इंस्टॉल करें. Security Rules जनरेट करने के लिए, Gemini CLI एक्सटेंशन को इंस्टॉल और इस्तेमाल करने का तरीका यहां बताया गया है. अगर आपको किसी दूसरे एआई असिस्टेंट का इस्तेमाल करना है, तो एक्सटेंशन की रिपॉज़िटरी से प्रॉम्प्ट को कॉपी करके, अपनी पसंद के एआई असिस्टेंट में चिपकाया जा सकता है.
- यह Gemini CLI एक्सटेंशन, Firebase MCP सर्वर का इस्तेमाल करके, जनरेट किए गए Firebase Security Rules की पुष्टि करता है. एमसीपी सर्वर का इस्तेमाल, Security Rules को आसानी से टेस्ट और डिप्लॉय करने के लिए भी किया जा सकता है. Firebase Security Rules जनरेट करने के लिए एक्सटेंशन का इस्तेमाल करने से पहले, Firebase MCP सर्वर इंस्टॉल करें.
सीमाएं
हम इस सुविधा को बेहतर बनाने के लिए लगातार काम कर रहे हैं. इसलिए, इस सूची में दी गई सीमाओं में बदलाव हो सकता है. अपडेट के लिए, समय-समय पर यहां देखते रहें.
इस प्रॉम्प्ट को 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 जनरेट नहीं कर सकता. भले ही, इस प्रॉम्प्ट का इस्तेमाल किया जा रहा हो. इसके बजाय, किसी अन्य एआई असिस्टेंट का इस्तेमाल करें जिसके पास आपके कोडबेस का ऐक्सेस हो. जैसे, Gemini CLI (इसके बारे में इस पेज पर बताया गया है).
प्रॉम्प्ट का इस्तेमाल करना
यह प्रॉम्प्ट, Gemini CLI एक्सटेंशन से Firebase Security Rules के लिए उपलब्ध है. इसकी मदद से, Security Rules और टेस्ट जनरेट किए जा सकते हैं. यह एक्सटेंशन आपके सोर्स कोड का विश्लेषण करता है, ताकि Cloud Firestore और Cloud Storage के लिए डेटा स्कीमा और ऐक्सेस पैटर्न की पहचान की जा सके. इसे "कम से कम अधिकारों" के सिद्धांत के आधार पर Security Rules को ड्राफ़्ट करने के लिए डिज़ाइन किया गया है. साथ ही, यह बार-बार "हमला" करने के सिम्युलेशन के ज़रिए, कमज़ोरियों का पता लगाने की कोशिश करता है. यह @firebase/rules-unit-testing का इस्तेमाल करके, शुरुआती यूनिट टेस्ट सुइट उपलब्ध कराता है. इससे पुष्टि करने में मदद मिलती है. इसकी मदद से, @firebase/rules-unit-testing का इस्तेमाल करके, सुरक्षा से जुड़े लॉजिक की पुष्टि स्थानीय तौर पर की जा सकती है.Firebase Local Emulator Suite
इस एक्सटेंशन का इस्तेमाल करने के लिए, आपको तीन चरण पूरे करने होंगे. इनके बारे में इस सेक्शन में बताया गया है:
पहला चरण: Security Rules और टेस्ट जनरेट करना
एक्सटेंशन इंस्टॉल करें और उसे चलाएं:
Gemini CLI एक्सटेंशन इंस्टॉल करें:
gemini extensions install https://github.com/firebase/snippets-rulesशुरू होने की तारीख Gemini CLI:
geminiअपने प्रोजेक्ट के रूट से एक्सटेंशन चलाकर, Security Rules जनरेट करें. इसके लिए, Cloud Firestore या Cloud Storage में से किसी एक का इस्तेमाल करें:
Cloud Firestore के लिए Security Rules जनरेट करें:
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_IDपेरेंट डायरेक्ट्री में, एक्सटेंशन एक
firestore.rulesफ़ाइल और एक नईrules_testडायरेक्ट्री बनाता है. इस डायरेक्ट्री में, जनरेट किए गए Security Rules के लिए यूनिट टेस्ट के साथ Node.js प्रोजेक्ट होता है.Cloud Storage for Firebase के लिए Security Rules जनरेट करें:
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAMEपैरंट डायरेक्ट्री में, एक्सटेंशन एक फ़ाइल और एक नई
storage_rules_testडायरेक्ट्री बनाता है. इस डायरेक्ट्री में, जनरेट किए गए Security Rules के लिए यूनिट टेस्ट के साथ Node.js प्रोजेक्ट होता है.storage.rules
दूसरा चरण: Security Rules की पुष्टि और जांच के नतीजों की समीक्षा करना
पक्का करें कि एआई असिस्टेंट ने ये काम किए हों. एक्सटेंशन के चलने के बाद, आपको जनरेट की गई खास जानकारी मिलनी चाहिए.
सिंटैक्स की पुष्टि करना: Security Rules जनरेट करने के बाद, Gemini CLI Firebase MCP सर्वर से
firebase_validate_security_rulesकमांड का इस्तेमाल करके, सिंटैक्स की पुष्टि अपने-आप करता है.यूनिट टेस्ट: सिंटैक्स की पुष्टि करने के बाद, Gemini CLI, Firebase Local Emulator Suite का इस्तेमाल करके जनरेट किए गए यूनिट टेस्ट को चलाने की कोशिश करता है.
अगर टेस्ट अपने-आप नहीं चलते हैं, तो अलग टर्मिनल में Firebase Local Emulator Suite शुरू करें. इसके बाद, टेस्ट चलाने के लिए इनमें से किसी एक विकल्प का इस्तेमाल करें:
पहला विकल्प: Gemini CLI को टेस्ट चलाने के लिए निर्देश देना:
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:rulesCloud Storage for Firebase
firebase deploy --only storage
अन्य संसाधन
- सुरक्षा से जुड़ी अपनी स्थिति को बेहतर बनाने के लिए, Gemini CLI के लिए सुरक्षा एक्सटेंशन का इस्तेमाल किया जा सकता है. यह एक ओपन-सोर्स एक्सटेंशन है. यह कोड में हुए बदलावों का विश्लेषण करके, सुरक्षा से जुड़े जोखिमों और कमज़ोरियों का पता लगाता है.