आम तौर पर, सुरक्षा, ऐप्लिकेशन डेवलपमेंट के सबसे मुश्किल पहलुओं में से एक रही है. ज़्यादातर ऐप्लिकेशन में, डेवलपर को एक ऐसा सर्वर बनाना और चलाना होता है जो पुष्टि करने (कोई उपयोगकर्ता कौन है) और अनुमति देने (कोई उपयोगकर्ता क्या कर सकता है) की प्रोसेस को मैनेज करता है. पुष्टि करने और अनुमति देने की प्रोसेस को सेट अप करना मुश्किल होता है. साथ ही, इन्हें सही तरीके से सेट अप करना और भी मुश्किल होता है. हालांकि, ये आपके प्रॉडक्ट की सफलता के लिए ज़रूरी हैं.
जिस तरह Firebase Authentication की मदद से, अपने उपयोगकर्ताओं की पहचान की पुष्टि करना आसान हो जाता है उसी तरह, Cloud Storage के लिए Firebase Security Rules की मदद से, उपयोगकर्ताओं को अनुमति देना और अनुरोधों की पुष्टि करना आसान हो जाता है. Cloud Storage Security Rules पाथ के आधार पर अनुमतियां तय करने की सुविधा देकर, आपके लिए जटिलता को मैनेज करती हैं. कोड की कुछ ही लाइनों में, अनुमति के नियम लिखे जा सकते हैं. इन नियमों से, Cloud Storage के अनुरोधों को किसी खास उपयोगकर्ता तक सीमित किया जा सकता है या अपलोड के साइज़ को सीमित किया जा सकता है.
*.appspot.com
Firebase Realtime Database में भी ऐसी ही एक सुविधा है. इसे Firebase Realtime Database Security Rules कहा जाता है
पुष्टि करना
अपने उपयोगकर्ताओं के बारे में जानना, ऐप्लिकेशन बनाने का एक अहम हिस्सा है.
Firebase Authentication पुष्टि करने के लिए, इस्तेमाल में आसान, सुरक्षित, और सिर्फ़ क्लाइंट साइड वाला समाधान
उपलब्ध कराता है. Firebase Security Rules के लिए Cloud Storage, उपयोगकर्ता के आधार पर सुरक्षा के लिए, Firebase Authentication
से जुड़ी होती हैं. जब किसी उपयोगकर्ता की पहचान की पुष्टि Firebase Authentication से की जाती है, तो Cloud Storage Security Rules में मौजूद request.auth वैरिएबल, एक ऑब्जेक्ट बन जाता है. इसमें उपयोगकर्ता का यूनीक आईडी (request.auth.uid) और टोकन में मौजूद उपयोगकर्ता की अन्य सभी जानकारी (request.auth.token) शामिल होती है. जब उपयोगकर्ता की पहचान की पुष्टि नहीं की जाती है, तो request.auth की वैल्यू null होती है. इससे, हर उपयोगकर्ता के हिसाब से डेटा के ऐक्सेस को सुरक्षित तरीके से कंट्रोल किया जा सकता है. ज़्यादा जानकारी के लिए,
पुष्टि करना सेक्शन पर जाएं.
अनुमति देना
उपयोगकर्ता की पहचान करना, सुरक्षा का सिर्फ़ एक हिस्सा है. उपयोगकर्ता की पहचान करने के बाद, आपको फ़ाइलों के ऐक्सेस को कंट्रोल करने का तरीका चाहिए Cloud Storage.
Cloud Storage में, हर फ़ाइल और हर पाथ के लिए अनुमति के नियम तय किए जा सकते हैं. ये नियम हमारे सर्वर पर मौजूद होते हैं और आपके ऐप्लिकेशन में मौजूद फ़ाइलों के ऐक्सेस को तय करते हैं.
उदाहरण के लिए, डिफ़ॉल्ट Cloud Storage Security Rules के तहत, सभी फ़ाइलों पर read या write की कोई भी कार्रवाई करने के लिए, Firebase Authentication की ज़रूरत होती है:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
आप Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज > नियम टैब पर जाकर, इन Security Rules को बदल सकते हैं.
डेटा सत्यापन
Firebase Security Rules का इस्तेमाल, Cloud Storage के लिए डेटा की पुष्टि करने के लिए भी किया जा सकता है. इसमें,
फ़ाइल के नाम और पाथ के साथ-साथ, फ़ाइल के मेटाडेटा की प्रॉपर्टी की पुष्टि करना भी शामिल है. जैसे,
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/.*'); } } }
अगले चरण
शुरू करें नियमों के डेवलपमेंट की योजना बनाना अपने Cloud Storage बकेट के लिए.
सुरक्षा के नियमों का इस्तेमाल करके, अपने डेटा को सुरक्षित रखने के बारे में ज़्यादा जानें.