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