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