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