Google 致力于为黑人社区推动种族平等。查看具体举措

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

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

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

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

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

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

लेखन नियम

सभी बादल 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 कंसोल के बादल इस firestore अनुभाग में।

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

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

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

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

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

की स्थापना की और नियमों के अपने पहले सेट को तैनात, खोलने के लिए नियम टैब Firebase कंसोल के बादल इस 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

अगला कदम