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

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

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

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

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

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

लिखने के नियम

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

सभी Cloud Firestore Security Rules में 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 Security Rules में होने वाले अपडेट को लागू होने में एक मिनट लग सकता है. इससे नई क्वेरी पर असर पड़ेगा और श्रोताओं के लिए. हालांकि, पूरी तरह से बदलाव लागू होने में 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 के लिए गाइड देखें.

अगले चरण