Firebase Security Rules की सुरक्षा से जुड़े नियम, Cloud Firestore, Realtime Database, और Cloud Storage में मौजूद आपके डेटा को पूरी तरह से सुरक्षित रखते हैं. साथ ही, इन्हें अपनी ज़रूरत के हिसाब से बदला जा सकता है. इस गाइड में दिए गए चरणों को फ़ॉलो करके, Security Rules आसानी से सेट अप किया जा सकता है. इससे आपका डेटा सुरक्षित रहेगा और आपके ऐप्लिकेशन को नुकसान पहुंचाने वाले उपयोगकर्ताओं से बचाया जा सकेगा.
Firebase Security Rules भाषा को समझना
नियम लिखने से पहले, यह ज़रूरी है कि आप Firebase के उन प्रॉडक्ट के लिए, खास Firebase Security Rules भाषा की समीक्षा करें जिनका इस्तेमाल किया जा रहा है.
Cloud Storage कॉमन एक्सप्रेशन लैंग्वेज (सीईएल) के सुपरसेट
का इस्तेमाल करता है. यह match और allow
स्टेटमेंट पर काम करता है. इन स्टेटमेंट से, तय किए गए पाथ पर ऐक्सेस के लिए शर्त सेट की जाती है..
भाषा के मुख्य सिंटैक्सFirebase Security Rules के बारे में जानकर शुरुआत करें.
सेट अप करनाAuthentication
अगर आपने पहले से ऐसा नहीं किया है, तो अपने ऐप्लिकेशन में Firebase Authentication जोड़ें. Firebase Authentication पुष्टि करने के कई सामान्य तरीकों के साथ काम करता है. साथ ही, यह Firebase Security Rules के साथ इंटिग्रेट होता है, ताकि पुष्टि करने की पूरी सुविधाएं दी जा सकें.
अपने ऐप्लिकेशन के लिए, पुष्टि करने से जुड़ी अतिरिक्त और कस्टम जानकारी सेट अप की जा सकती है.
Firebase Security Rules और Firebase Authentication के बारे में ज़्यादा जानें.
अपने डेटा और नियमों के स्ट्रक्चर तय करना
डेटा को स्ट्रक्चर करने के तरीके से, नियमों को स्ट्रक्चर और लागू करने के तरीके पर असर पड़ सकता है. डेटा स्ट्रक्चर तय करते समय, इस बात का ध्यान रखें कि इनका असर, Security Rules स्ट्रक्चर पर पड़ सकता है.
उदाहरण के लिए, Cloud Storage में, हर उपयोगकर्ता के लिए कोई खास भूमिका बताने वाला फ़ील्ड शामिल किया जा सकता है. इसके बाद, आपके नियम उस फ़ील्ड को पढ़कर, भूमिका के आधार पर ऐक्सेस दे सकते हैं. आप Cloud Firestore डेटाबेस भी बना सकते हैं. इसमें Cloud Firestore दस्तावेज़ों में ऐक्सेस के मानदंड सेव किए जा सकते हैं. इसके बाद, Cloud Storage Security Rules से उन दस्तावेज़ों को ऐक्सेस किया जा सकता है.
डेटा और नियमों के आर्किटेक्चर तय करते समय, इस बात का ध्यान रखें कि आपके प्रॉडक्ट के हिसाब से, नियम कैस्केड होते हैं या नहीं. Realtime Database के साथ, नियम ऊपर से नीचे की ओर काम करते हैं. इसमें कम गहराई वाले नियम, ज़्यादा गहराई वाले नियमों की जगह ले लेते हैं. अगर कोई नियम, किसी पाथ पर पढ़ने या लिखने की अनुमतियां देता है, तो वह उसके तहत आने वाले सभी चाइल्ड नोड को भी ऐक्सेस करने की अनुमति देता है. इसके उलट, Cloud Firestore और Cloud Storage में, नियम डेटा के क्रम के तय किए गए लेवल पर ही लागू होते हैं, और अलग-अलग लेवल पर ऐक्सेस कंट्रोल करने के लिए, साफ़ तौर पर नियम लिखे जाते हैं.
अपने नियमों को ऐक्सेस करना
मौजूदा Security Rules देखने के लिए, Firebase CLI या Firebase कंसोल का इस्तेमाल करें. गलती से अपडेट को ओवरराइट होने से बचाने के लिए, नियमों में बदलाव करने के लिए एक ही तरीके का इस्तेमाल करें. अगर आपको पक्का नहीं है कि स्थानीय तौर पर तय किए गए नियम, सबसे नए अपडेट के मुताबिक हैं या नहीं, तो Firebase कंसोल हमेशा Firebase Security Rules का सबसे नया वर्शन दिखाता है.
अपने नियमों को Firebase कंसोल से ऐक्सेस करने के लिए, अपना प्रोजेक्ट चुनें. इसके बाद, बाईं ओर के नेविगेशन पैनल में, स्टोरेज पर क्लिक करें. सही डेटाबेस या स्टोरेज बकेट में जाने के बाद, Security Rules पर क्लिक करें.
Firebase CLI से अपने नियमों को ऐक्सेस करने के लिए, नियमों की फ़ाइल पर जाएं, जो आपकी firebase.json फ़ाइल में बताई गई है.
बुनियादी नियम लिखना
लेख पढ़ें.अपने ऐप्लिकेशन को डेवलप करते समय और Security Rules को समझते समय, कुछ बुनियादी इस्तेमाल के उदाहरणों के लिए, Security Rules लागू करने की कोशिश करें. इनमें ये शामिल हैं:
- सिर्फ़ कॉन्टेंट का मालिक: उपयोगकर्ता के हिसाब से, कॉन्टेंट के ऐक्सेस को सीमित करना.
- मिला-जुला ऐक्सेस: उपयोगकर्ता के हिसाब से, लिखने के ऐक्सेस को सीमित करना, लेकिन सार्वजनिक तौर पर पढ़ने का ऐक्सेस देना.
- एट्रिब्यूट के आधार पर ऐक्सेस: किसी ग्रुप या टाइप के उपयोगकर्ता के लिए, ऐक्सेस को सीमित करना.
अपने नियमों की जांच करना
अगर Firebase कंसोल में, Firebase Security Rules सेट अप किए जा रहे हैं, तो व्यवहार की पुष्टि करने के लिए, Firebase Rules Playground का इस्तेमाल किया जा सकता है. हालांकि, हमारा सुझाव है कि बदलावों को प्रोडक्शन में डिप्लॉय करने से पहले, Local Emulator Suite की मदद से ज़्यादा अच्छी तरह से जांच करें.
नियम डिप्लॉय करना
नियमों को प्रोडक्शन में डिप्लॉय करने के लिए, Firebase कंसोल या Firebase CLI का इस्तेमाल करें. मैनेज और डिप्लॉय Firebase Security Rules में बताए गए चरणों को फ़ॉलो करें.