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