Cloud Firestore के सुरक्षा नियमों का इस्तेमाल शुरू करना

Cloud Firestore के सुरक्षा नियमों की मदद से, बेहतर उपयोगकर्ता बनाने पर फ़ोकस किया जा सकता है इंफ़्रास्ट्रक्चर मैनेज करने या सर्वर साइड लिखने की ज़रूरत के बिना अनुभव और ऑथराइज़ेशन कोड.

सुरक्षा के नियमों की मदद से, ऐक्सेस कंट्रोल और डेटा की पुष्टि करना आसान हो जाता है एक्सप्रेसिव फ़ॉर्मैट. उपयोगकर्ता और भूमिका के हिसाब से ऐक्सेस देने वाला सिस्टम बनाना, ताकि उपयोगकर्ताओं का डेटा सुरक्षित रखने के लिए, आपको Firebase का इस्तेमाल करना होगा Cloud Firestore के सुरक्षा नियमों के साथ की गई पुष्टि.

सुरक्षा के नियम वर्शन 2

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

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

लिखने के नियम

आपके पास अपने डेटा मॉडल के हिसाब से तैयार किए गए Cloud Firestore के सुरक्षा नियम लिखने और उन्हें मैनेज करने का विकल्प होगा को डिफ़ॉल्ट डेटाबेस और आपके प्रोजेक्ट के हर अतिरिक्त डेटाबेस के लिए बनाया जाता है.

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

जांच के नियम

Cloud Firestore नियमों का सिम्युलेटर उपलब्ध कराता है. इसका इस्तेमाल करके, अपनी परफ़ॉर्मेंस की जांच की जा सकती है नियमसेट. नियम टैब से, सिम्युलेटर को ऐक्सेस किया जा सकता है Firebase कंसोल का Cloud Firestore सेक्शन.

नियम सिम्युलेटर की मदद से, पुष्टि किए गए और बिना पुष्टि किए गए लेखों को सिम्युलेट किया जा सकता है, लिखता है, और हटाता है. पुष्टि किए गए अनुरोध को सिम्युलेट करके, और अलग-अलग कंपनियों से मिले पुष्टि करने वाले टोकन की झलक देखें. सिम्युलेट किए गए अनुरोध चलते हैं आपके एडिटर के नियमों-सेट के ऊपर नहीं, बल्कि वर्तमान में लागू होने वाले नियमों-सेट के साथ भी होने चाहिए.

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

अपने मोबाइल ऐप्लिकेशन से Cloud Firestore का इस्तेमाल शुरू करने से पहले, आपको इन चीज़ों की ज़रूरत होगी का इस्तेमाल किया जा सकता है. इनका इस्तेमाल करके, Firebase कंसोल में नियमों को डिप्लॉय किया जा सकता है Firebase सीएलआई या Cloud Firestore मैनेजमेंट REST API का इस्तेमाल करें.

Cloud Firestore के सुरक्षा नियमों में अपडेट होने में एक मिनट लग सकता है. इससे नई क्वेरी पर असर पड़ सकता है और श्रोताओं के लिए. हालांकि, पूरी तरह से बदलाव लागू होने में 10 मिनट लग सकते हैं और आपका कॉन्टेंट सुनने वाले लोगों पर भी इसका असर पड़ता है.

Firebase कंसोल का इस्तेमाल करना

अपने नियमों के पहले सेट को सेट अप और डिप्लॉय करने के लिए, अपने ऐप्लिकेशन के डिफ़ॉल्ट डेटाबेस के लिए प्रोजेक्ट के लिए, Cloud Firestore में नियम टैब खोलें सेक्शन पर जाएं.

ऑनलाइन एडिटर में अपने नियम लिखें. इसके बाद, पब्लिश करें पर क्लिक करें.

Firebase सीएलआई का इस्तेमाल करना

Firebase का इस्तेमाल करके भी नियम लागू किए जा सकते हैं सीएलआई. सीएलआई का इस्तेमाल करने पर, आपको अपने नियम, ऐप्लिकेशन कोड के साथ वर्शन कंट्रोल के तहत तय करें और नियमों को इस तौर पर डिप्लॉय करें: मौजूदा डिप्लॉयमेंट प्रोसेस का हिस्सा है.

// 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 rules for all configured databases
firebase deploy --only firestore

Cloud Storage के लिए बेहतर सुरक्षा पाएं

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

अगले चरण