क्लाउड फायरस्टार सुरक्षा नियमों के साथ, आप बुनियादी ढांचे का प्रबंधन किए बिना या सर्वर-साइड प्रमाणीकरण और प्राधिकरण कोड लिखे बिना एक शानदार उपयोगकर्ता अनुभव बनाने पर ध्यान केंद्रित कर सकते हैं।
सुरक्षा नियम एक सरल लेकिन अभिव्यंजक प्रारूप में अभिगम नियंत्रण और डेटा सत्यापन प्रदान करते हैं। उपयोगकर्ता-आधारित और भूमिका-आधारित एक्सेस सिस्टम बनाने के लिए जो आपके उपयोगकर्ताओं के डेटा को सुरक्षित रखता है, आपको क्लाउड फायरस्टोर सुरक्षा नियमों के साथ फायरबेस प्रमाणीकरण का उपयोग करने की आवश्यकता है।
सुरक्षा नियम संस्करण 2
मई 2019 से, क्लाउड फायरस्टोर सुरक्षा नियमों का संस्करण 2 अब उपलब्ध है। नियमों का संस्करण 2 पुनरावर्ती वाइल्डकार्ड {name=**}
के व्यवहार को बदल देता है। यदि आप संग्रह समूह प्रश्नों का उपयोग करने की योजना बनाते हैं तो आपको संस्करण 2 का उपयोग करना चाहिए। आपको rules_version = '2';
आपके सुरक्षा नियमों में पहली पंक्ति:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
लेखन नियम
सभी क्लाउड फायरस्टोर सुरक्षा नियमों में match
विवरण शामिल होते हैं, जो आपके डेटाबेस में दस्तावेज़ों की पहचान करते हैं, और अभिव्यक्ति की allow
, जो उन दस्तावेज़ों तक पहुंच को नियंत्रित करते हैं:
service cloud.firestore {
match /databases/{database}/documents {
match /<some_path>/ {
allow read, write: if <some_condition>;
}
}
}
किसी भी डेटा को पढ़ने या लिखने से पहले क्लाउड फायरस्टोर मोबाइल/वेब क्लाइंट लाइब्रेरी से प्रत्येक डेटाबेस अनुरोध का मूल्यांकन आपके सुरक्षा नियमों के विरुद्ध किया जाता है। यदि नियम निर्दिष्ट दस्तावेज़ पथों में से किसी तक पहुँच से इनकार करते हैं, तो संपूर्ण अनुरोध विफल हो जाता है।
नीचे बुनियादी नियम सेट के कुछ उदाहरण दिए गए हैं। जबकि ये नियम मान्य हैं, उन्हें उत्पादन अनुप्रयोगों के लिए अनुशंसित नहीं किया जाता है:
प्रमाणीकरण आवश्यक है
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
सब मना करो
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
सभी को अनुमति दें
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
ऊपर दिए गए उदाहरणों में इस्तेमाल किया गया {document=**}
पाथ पूरे डेटाबेस के किसी भी दस्तावेज़ से मेल खाता है। विशिष्ट डेटा पथों का मिलान करने और पदानुक्रमित डेटा के साथ काम करने का तरीका जानने के लिए सुरक्षा नियमों की संरचना के लिए मार्गदर्शिका को जारी रखें।
परीक्षण नियम
क्लाउड फायरस्टोर एक नियम सिम्युलेटर प्रदान करता है जिसका उपयोग आप अपने नियम सेट का परीक्षण करने के लिए कर सकते हैं। आप फायरबेस कंसोल के क्लाउड फायरस्टोर सेक्शन में नियम टैब से सिम्युलेटर तक पहुंच सकते हैं।
नियम सिम्युलेटर आपको प्रमाणित और अप्रमाणित पठन, लेखन और विलोपन का अनुकरण करने देता है। जब आप एक प्रमाणित अनुरोध का अनुकरण करते हैं, तो आप विभिन्न प्रदाताओं से प्रमाणीकरण टोकन का निर्माण और पूर्वावलोकन कर सकते हैं। सिम्युलेटेड अनुरोध आपके संपादक में नियम-सेट के विरुद्ध चलते हैं, आपके वर्तमान में परिनियोजित नियम-सेट के विरुद्ध नहीं।
नियमों की तैनाती
इससे पहले कि आप अपने मोबाइल ऐप से क्लाउड फायरस्टोर का उपयोग शुरू कर सकें, आपको सुरक्षा नियमों को परिनियोजित करना होगा। आप फायरबेस कंसोल में या फायरबेस सीएलआई का उपयोग करके नियम लागू कर सकते हैं।
क्लाउड फायरस्टोर सुरक्षा नियमों के अपडेट नए प्रश्नों और श्रोताओं को प्रभावित करने में एक मिनट तक का समय ले सकते हैं। हालाँकि, परिवर्तनों को पूरी तरह से प्रचारित करने और किसी भी सक्रिय श्रोताओं को प्रभावित करने में 10 मिनट तक का समय लग सकता है।
फायरबेस कंसोल का प्रयोग करें
नियमों के अपने पहले सेट को सेट अप और परिनियोजित करने के लिए, Firebase कंसोल के क्लाउड फायरस्टोर अनुभाग में नियम टैब खोलें।
ऑनलाइन संपादक में अपने नियम लिखें, फिर प्रकाशित करें क्लिक करें.
फायरबेस सीएलआई का प्रयोग करें
आप Firebase CLI का उपयोग करके नियम भी परिनियोजित कर सकते हैं। सीएलआई का उपयोग करने से आप अपने नियमों को अपने एप्लिकेशन कोड के साथ संस्करण नियंत्रण में रख सकते हैं और अपनी मौजूदा परिनियोजन प्रक्रिया के भाग के रूप में नियमों को परिनियोजित कर सकते हैं।
// Set up Firestore in your project directory, creates a .rules file
firebase init firestore
// Edit the generated .rules file to your desired security rules
// ...
// Deploy your .rules file
firebase deploy --only firestore:rules
क्लाउड स्टोरेज के लिए सुरक्षा बढ़ाएँ
आपके ऐप्स क्लाउड फायरस्टोर की मजबूत डेटाबेस सुविधाओं और क्लाउड स्टोरेज की फाइल स्टोरेज और प्रबंधन सुविधाओं से लाभान्वित होंगे। एक साथ उपयोग किए जाने पर, ये उत्पाद मजबूत ऐप सुरक्षा भी प्रदान करते हैं, क्योंकि क्लाउड फायरस्टोर दोनों उत्पादों के लिए फायरबेस सुरक्षा नियमों द्वारा उपयोग करने योग्य प्राधिकरण आवश्यकताओं को कैप्चर कर सकता है। अधिक जानकारी के लिए, क्लाउड स्टोरेज के लिए गाइड देखें।
अगले कदम
- सुरक्षा नियमों की संरचना करना सीखें।
- कस्टम सुरक्षा नियम शर्तें लिखें।
- सुरक्षा नियम संदर्भ पढ़ें।