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

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

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

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

प्रमाणीकरण

यह जानना कि आपके उपयोगकर्ता कौन हैं, एप्लिकेशन बनाने का एक महत्वपूर्ण हिस्सा है, और फायरबेस प्रमाणीकरण प्रमाणीकरण के लिए उपयोग में आसान, सुरक्षित, क्लाइंट साइड समाधान प्रदान करता है। क्लाउड स्टोरेज के लिए फायरबेस सुरक्षा नियम उपयोगकर्ता आधारित सुरक्षा के लिए फायरबेस प्रमाणीकरण से जुड़े हैं। जब किसी उपयोगकर्ता को फायरबेस प्रमाणीकरण के साथ प्रमाणित किया जाता है, तो क्लाउड स्टोरेज सुरक्षा नियमों में 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 टैब को देखकर इन नियमों को संपादित कर सकते हैं।

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

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

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/.*');
    }
  }
}

अगले कदम