Firebase के सुरक्षा नियमों का इस्तेमाल शुरू करना

Firebase के सुरक्षा नियम, Cloud Firestore, Realtime Database, और Cloud Storage में आपके डेटा को सुरक्षित रखने के लिए, बेहतर और पूरी तरह से कस्टमाइज़ की जा सकने वाली सुरक्षा देते हैं. इस गाइड में दिए गए चरणों का पालन करके, Security Rules का इस्तेमाल आसानी से शुरू किया जा सकता है. इससे आपके डेटा को सुरक्षित रखने और नुकसान पहुंचाने वाले उपयोगकर्ताओं से आपके ऐप्लिकेशन को सुरक्षित रखने में मदद मिलती है.

Firebase Security Rules की भाषा को समझना

नियम लिखना शुरू करने से पहले, आपको Firebase के उन प्रॉडक्ट के लिए Firebase सुरक्षा नियमों की भाषा की समीक्षा करनी चाहिए जिनका इस्तेमाल किया जा रहा है. Realtime Database, अपने Security Rules के लिए JavaScript जैसे सिंटैक्स और JSON स्ट्रक्चर का इस्तेमाल करता है.

सबसे पहले, Firebase Security Rules की भाषा के मुख्य सिंटैक्स के बारे में जानें.

Authentication सेट अप करें

अगर आपने अब तक ऐसा नहीं किया है, तो Firebase Authentication को अपने ऐप्लिकेशन में जोड़ें. Firebase Authentication, पुष्टि करने के कई सामान्य तरीकों के साथ काम करता है. साथ ही, यह Firebase के सुरक्षा नियमों के साथ इंटिग्रेट होता है, ताकि पुष्टि करने की बेहतर सुविधाएं मिल सकें.

अपने ऐप्लिकेशन के लिए, पुष्टि करने से जुड़ी अतिरिक्त और कस्टम जानकारी सेट अप की जा सकती है.

Firebase के सुरक्षा नियमों और Firebase Authentication के बारे में ज़्यादा जानें.

अपने डेटा और नियमों के स्ट्रक्चर तय करना

अपने डेटा को ध्यान से व्यवस्थित करें, ताकि वह आपकी सुरक्षा से जुड़ी ज़रूरी शर्तों के मुताबिक हो.

सुरक्षा के लिए डेटा तय करना

डेटा को स्ट्रक्चर करने के तरीके से, नियमों को स्ट्रक्चर करने और उन्हें लागू करने के तरीके पर असर पड़ सकता है. अपने डेटा स्ट्रक्चर तय करते समय, इस बात का ध्यान रखें कि उनका आपके Security Rules स्ट्रक्चर पर क्या असर पड़ सकता है.

उदाहरण के लिए, Realtime Database में, ऐसा फ़ील्ड शामिल किया जा सकता है जो हर उपयोगकर्ता के लिए एक खास भूमिका दिखाता हो. इसके बाद, आपके नियम उस फ़ील्ड को पढ़ सकते हैं और उसका इस्तेमाल करके, भूमिका के हिसाब से ऐक्सेस दे सकते हैं.

अपने डेटा और नियमों के आर्किटेक्चर को तय करते समय, यह ध्यान रखें कि नियम आपके प्रॉडक्ट के हिसाब से कैस्केड होते हैं या नहीं. Realtime Database में, नियम ऊपर से नीचे की ओर काम करते हैं. इसमें कम गहराई वाले नियम, ज़्यादा गहराई वाले नियमों को बदल देते हैं. अगर कोई नियम किसी पाथ पर डेटा को पढ़ने या उसमें बदलाव करने की अनुमति देता है, तो वह उस पाथ के सभी चाइल्ड नोड को भी ऐक्सेस करने की अनुमति देता है. इसके उलट, Cloud Firestore और Cloud Storage में नियम, डेटा की हैरारकी के सिर्फ़ तय किए गए लेवल पर लागू होते हैं. साथ ही, अलग-अलग लेवल के ऐक्सेस को कंट्रोल करने के लिए, साफ़ तौर पर नियम लिखे जाते हैं.

अपने नियम ऐक्सेस करना

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

Firebase कंसोल से अपने नियमों को ऐक्सेस करने के लिए, अपना प्रोजेक्ट चुनें. इसके बाद, बाईं ओर मौजूद नेविगेशन पैनल में, रीयलटाइम डेटाबेस पर क्लिक करें. सही डेटाबेस या स्टोरेज बकेट में जाने के बाद, Security Rules पर क्लिक करें.

Firebase सीएलआई से अपने नियमों को ऐक्सेस करने के लिए, firebase.json फ़ाइल में बताई गई नियमों की फ़ाइल पर जाएं.

बुनियादी नियम लिखें

ऐप्लिकेशन डेवलप करने और Security Rules को समझने के दौरान, इस्तेमाल के कुछ बुनियादी मामलों को हल करने के लिए, Security Rules को लागू करके देखें. इनमें ये शामिल हैं:

  • सिर्फ़ कॉन्टेंट के मालिक के लिए: उपयोगकर्ता के हिसाब से कॉन्टेंट का ऐक्सेस सीमित करें.
  • मिक्स्ड ऐक्सेस: उपयोगकर्ता के लिए, डेटा सेव करने का ऐक्सेस सीमित करें. हालांकि, डेटा पढ़ने का ऐक्सेस सार्वजनिक तौर पर दें.
  • एट्रिब्यूट के आधार पर ऐक्सेस: किसी ग्रुप या उपयोगकर्ता के टाइप के लिए ऐक्सेस पर पाबंदी लगाएं.

अपने नियमों की जांच करना

अगर Firebase कंसोल में Firebase के सुरक्षा नियम सेट अप किए जा रहे हैं, तो Firebase Rules Playground का इस्तेमाल करके, व्यवहार की तुरंत पुष्टि की जा सकती है. हालांकि, हमारा सुझाव है कि प्रोडक्शन में बदलावों को डिप्लॉय करने से पहले, Local Emulator Suite की मदद से अच्छी तरह से जांच कर लें.

नियम लागू करना

अपने नियमों को प्रोडक्शन में डिप्लॉय करने के लिए, Firebase कंसोल या Firebase सीएलआई का इस्तेमाल करें. Firebase के सुरक्षा नियमों को मैनेज और डिप्लॉय करना लेख में दिया गया तरीका अपनाएं.