Check out what’s new from Firebase at Google I/O 2022. Learn more

क्लाउड स्टोरेज के लिए फायरबेस सुरक्षा नियमों को समझें

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

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

फायरबेस रीयलटाइम डेटाबेस में एक समान विशेषता है, जिसे फायरबेस रीयलटाइम डेटाबेस नियम कहा जाता है

प्रमाणीकरण

यह जानना कि आपके उपयोगकर्ता कौन हैं, एप्लिकेशन बनाने का एक महत्वपूर्ण हिस्सा है, और फायरबेस प्रमाणीकरण प्रमाणीकरण के लिए उपयोग में आसान, सुरक्षित, क्लाइंट साइड ओनली समाधान प्रदान करता है। क्लाउड स्टोरेज के लिए फायरबेस सुरक्षा नियम उपयोगकर्ता आधारित सुरक्षा के लिए फायरबेस प्रमाणीकरण से जुड़ते हैं। जब उपयोगकर्ता को फायरबेस प्रमाणीकरण के साथ प्रमाणित किया जाता है, तो क्लाउड स्टोरेज सुरक्षा नियमों में request.auth वैरिएबल एक ऑब्जेक्ट बन जाता है जिसमें उपयोगकर्ता की अद्वितीय आईडी ( request.auth.uid ) और टोकन में अन्य सभी उपयोगकर्ता जानकारी होती है ( request.auth.token ) . जब उपयोगकर्ता प्रमाणित नहीं होता है, तो request.auth null होता है। यह आपको प्रति-उपयोगकर्ता के आधार पर डेटा एक्सेस को सुरक्षित रूप से नियंत्रित करने की अनुमति देता है। आप प्रमाणीकरण अनुभाग में अधिक जान सकते हैं।

प्राधिकार

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

क्लाउड स्टोरेज आपको प्रति फ़ाइल और प्रति पथ प्राधिकरण नियम निर्दिष्ट करने देता है जो हमारे सर्वर पर रहते हैं और आपके ऐप में फ़ाइलों तक पहुंच निर्धारित करते हैं। उदाहरण के लिए, डिफ़ॉल्ट क्लाउड स्टोरेज सुरक्षा नियमों के लिए फायरबेस प्रमाणीकरण की आवश्यकता होती है ताकि सभी फाइलों पर कोई भी read या write का कार्य किया जा सके:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

आप फायरबेस कंसोल में एक फायरबेस ऐप चुनकर और स्टोरेज सेक्शन के Rules टैब को देखकर इन नियमों को संपादित कर सकते हैं।

आंकड़ा मान्यीकरण

क्लाउड स्टोरेज के लिए फायरबेस सुरक्षा नियमों का उपयोग डेटा सत्यापन के लिए भी किया जा सकता है, जिसमें फ़ाइल नाम और पथ के साथ-साथ फ़ाइल मेटाडेटा गुण जैसे सामग्री प्रकार और size को contentType शामिल है।

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

अगले कदम