Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Cloud Firestore सुरक्षा नियमों के साथ आरंभ करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

क्लाउड फायरस्टोर सुरक्षा नियमों के साथ, आप बुनियादी ढांचे को प्रबंधित करने या सर्वर-साइड प्रमाणीकरण और प्राधिकरण कोड लिखने के बिना एक महान उपयोगकर्ता अनुभव बनाने पर ध्यान केंद्रित कर सकते हैं।

सुरक्षा नियम सरल लेकिन अभिव्यंजक प्रारूप में अभिगम नियंत्रण और डेटा सत्यापन प्रदान करते हैं। उपयोगकर्ता-आधारित और भूमिका-आधारित एक्सेस सिस्टम बनाने के लिए जो आपके उपयोगकर्ताओं के डेटा को सुरक्षित रखते हैं, आपको क्लाउड फायरस्टोर सुरक्षा नियमों के साथ फायरबेस प्रमाणीकरण का उपयोग करने की आवश्यकता है।

सुरक्षा नियम संस्करण 2

मई 2019 तक, क्लाउड फायरस्टोर सुरक्षा नियमों का संस्करण 2 अब उपलब्ध है। नियमों का संस्करण 2 पुनरावर्ती वाइल्डकार्ड {name=**} के व्यवहार को बदल देता है। यदि आप संग्रह समूह प्रश्नों का उपयोग करने की योजना बना रहे हैं तो आपको संस्करण 2 का उपयोग करना चाहिए। आपको rules_version = '2'; आपके सुरक्षा नियमों में पहली पंक्ति:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

लेखन नियम

सभी Cloud Firestore सुरक्षा नियमों में match विवरण शामिल होते हैं, जो आपके डेटाबेस में दस्तावेज़ों की पहचान करते हैं, और अभिव्यक्ति allow हैं, जो उन दस्तावेज़ों तक पहुँच को नियंत्रित करते हैं:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

किसी भी डेटा को पढ़ने या लिखने से पहले Cloud Firestore मोबाइल/वेब क्लाइंट लाइब्रेरी से प्रत्येक डेटाबेस अनुरोध का मूल्यांकन आपके सुरक्षा नियमों के अनुसार किया जाता है। यदि नियम किसी निर्दिष्ट दस्तावेज़ पथ तक पहुँच से इनकार करते हैं, तो संपूर्ण अनुरोध विफल हो जाता है।

बुनियादी नियम सेट के कुछ उदाहरण नीचे दिए गए हैं। हालांकि ये नियम मान्य हैं, लेकिन उत्पादन अनुप्रयोगों के लिए इनकी अनुशंसा नहीं की जाती है:

प्रमाणीकरण आवश्यक

// 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=**} पथ संपूर्ण डेटाबेस में किसी भी दस्तावेज़ से मेल खाता है। विशिष्ट डेटा पथों का मिलान करने और पदानुक्रमित डेटा के साथ कार्य करने का तरीका जानने के लिए सुरक्षा नियमों की संरचना के लिए मार्गदर्शिका पर जारी रखें।

परीक्षण नियम

क्लाउड फायरस्टोर एक नियम सिम्युलेटर प्रदान करता है जिसका उपयोग आप अपने नियमों का परीक्षण करने के लिए कर सकते हैं। आप फ़ायरबेस कंसोल के क्लाउड फायरस्टोर अनुभाग में नियम टैब से सिम्युलेटर तक पहुंच सकते हैं।

नियम सिम्युलेटर आपको प्रमाणीकृत और अनधिकृत पढ़ने, लिखने और हटाने का अनुकरण करने देता है। जब आप एक प्रमाणित अनुरोध का अनुकरण करते हैं, तो आप विभिन्न प्रदाताओं से प्रमाणीकरण टोकन बना सकते हैं और उनका पूर्वावलोकन कर सकते हैं। सिम्युलेटेड अनुरोध आपके संपादक में नियमसेट के विरुद्ध चलते हैं, न कि आपके वर्तमान में परिनियोजित नियमसेट के विरुद्ध।

नियम लागू करना

इससे पहले कि आप अपने मोबाइल ऐप से क्लाउड फायरस्टोर का उपयोग शुरू कर सकें, आपको सुरक्षा नियमों को लागू करने की आवश्यकता होगी। आप Firebase कंसोल में या Firebase CLI का उपयोग करके नियम लागू कर सकते हैं।

क्लाउड फायरस्टोर सुरक्षा नियमों के अपडेट में नए प्रश्नों और श्रोताओं को प्रभावित करने में एक मिनट तक का समय लग सकता है। हालांकि, परिवर्तनों को पूरी तरह से प्रसारित करने और किसी भी सक्रिय श्रोता को प्रभावित करने में 10 मिनट तक का समय लग सकता है।

फायरबेस कंसोल का प्रयोग करें

नियमों का अपना पहला सेट सेट और परिनियोजित करने के लिए, Firebase कंसोल के Cloud Firestore अनुभाग में नियम टैब खोलें।

ऑनलाइन संपादक में अपने नियम लिखें, फिर प्रकाशित करें पर क्लिक करें।

फायरबेस सीएलआई का प्रयोग करें

आप 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

क्लाउड स्टोरेज के लिए सुरक्षा बढ़ाएँ

क्लाउड फायरस्टोर की मजबूत डेटाबेस सुविधाओं और क्लाउड स्टोरेज की फाइल स्टोरेज और प्रबंधन सुविधाओं से आपके ऐप्स लाभान्वित होंगे। एक साथ उपयोग किए जाने वाले, ये उत्पाद ऐप सुरक्षा को भी मजबूत करते हैं, क्योंकि क्लाउड फायरस्टोर दोनों उत्पादों के लिए फायरबेस सुरक्षा नियमों द्वारा उपयोग की जाने वाली प्राधिकरण आवश्यकताओं को प्राप्त कर सकता है। अधिक जानकारी के लिए, क्लाउड स्टोरेज के लिए गाइड देखें।

अगले कदम