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

Firebase Security Rules, Realtime Database, और Cloud Storage में मौजूद आपके डेटा को सुरक्षित रखने के लिए, Firebase Security Rules मज़बूत और पूरी तरह से पसंद के मुताबिक सुरक्षा उपलब्ध कराता है.Cloud Firestore इस गाइड में दिए गए चरणों को पूरा करके, 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 के बारे में ज़्यादा जानें.

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

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

उदाहरण के लिए, Cloud Storage में, आपको ऐसा फ़ील्ड शामिल करना पड़ सकता है जो हर उपयोगकर्ता के लिए किसी खास भूमिका को दिखाता हो. इसके बाद, आपके नियम उस फ़ील्ड को पढ़ सकते हैं और भूमिका के आधार पर ऐक्सेस देने के लिए उसका इस्तेमाल कर सकते हैं. Cloud Firestore डेटाबेस बनाया जा सकता है. साथ ही, ऐक्सेस करने की शर्तों को Cloud Firestore दस्तावेज़ों में सेव किया जा सकता है. इसके बाद, उन दस्तावेज़ों को Cloud Storage Security Rules से ऐक्सेस किया जा सकता है.

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

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

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

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

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

सामान्य नियम लिखना

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

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

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

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

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

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