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 सीएलआई से अपने नियमों को ऐक्सेस करने के लिए, अपनी firebase.json फ़ाइल में दी गई नियमों की फ़ाइल पर जाएं.

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

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

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

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

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

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

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