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

आम तौर पर, इस्तेमाल किए जाने वाले ऐप्लिकेशन में, डेवलपर को कई ऐसे सर्वर बनाने और उनका रखरखाव करने होते हैं जो बेहतर परफ़ॉर्म कर सकें की पुष्टि करने, अनुमति देने, और डेटा की पुष्टि करने में मदद करता है. साथ ही, डेवलपर की कारोबारी नियम. Cloud Storage for Firebase का इस्तेमाल करने वाले ऐप्लिकेशन, बिना सर्वर वाले प्लैटफ़ॉर्म मैनेज करने के लिए, Cloud Storage का Firebase Authentication और Firebase Security Rules की अनुमति देता है.

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

खास जानकारी

Cloud Storage Security Rules का इस्तेमाल यह पता लगाने के लिए किया जाता है कि किसके पास पढ़ने और लिखने का ऐक्सेस है फ़ाइलों को Cloud Storage में सेव किया गया है. साथ ही, फ़ाइलों की संरचना और उनमें कौनसा मेटाडेटा है. नियम का मूल टाइप allow नियम होता है, जो अगर वैकल्पिक तौर पर तय की गई शर्त यह होती है, तो read और write कार्रवाइयों की अनुमति देता है मिले. नियमों के कुछ उदाहरण यहां दिए गए हैं:

// Rules can optionally specify a condition
allow write: if <condition>;

नियम match फ़ाइल पाथ, Cloud Storage संदर्भ. नियम एक या उससे ज़्यादा फ़ाइल पाथ match कर सकता है और एक से ज़्यादा नियम फ़ाइल को match कर सकते हैं दिए गए request में पाथ:

// Rules match specific paths
match /images/profilePhoto.png {
  allow write: if <condition>;
}

match /images/croppedProfilePhoto.png {
  allow write: if <other_condition>;
}

नियम के मूल्यांकन का संदर्भ भी request और resource ऑब्जेक्ट, जो पुष्टि करने के कॉन्टेक्स्ट जैसी जानकारी देते हैं (request.auth) और मौजूदा ऑब्जेक्ट का साइज़ (resource.size).

// Rules can specify conditions that consider the request context
match /images/profilePhoto.png {
  allow write: if request.auth != null && request.resource.size < 5 * 1024 * 1024;
}

यहां Cloud Storage Security Rules के बारे में ज़्यादा जानें सुरक्षित फ़ाइलें सेक्शन.

सैंपल नियम

Cloud Storage Security Rules को पहले service की जानकारी देनी होगी (हमारे मामले में firebase.storage), और Cloud Storage बकेट (match /b/{bucket}/o के ज़रिए) कौनसे नियम हैं जिसका आकलन किया जा सकता है. डिफ़ॉल्ट नियमों के लिए Firebase Authentication ज़रूरी है, लेकिन ये हैं अलग-अलग ऐक्सेस कंट्रोल वाले अन्य सामान्य नियमों के कुछ उदाहरण.

डिफ़ॉल्ट

// Only authenticated users can read or write to the folder
service firebase.storage {
  match /b/{bucket}/o {
    match /someFolder/{fileName} {
      allow read, write: if request.auth != null;
    }
  }
}

सार्वजनिक

// Anyone can read or write to the folder, even non-users of your app.
// Because it is shared with App Engine, this will also make
// files uploaded via App Engine public.
service firebase.storage {
  match /b/{bucket}/o {
    match /someFolder/{fileName} {
      allow read, write;
    }
  }
}

उपयोगकर्ता

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

निजी

// Access to files through Cloud Storage for Firebase is completely disallowed.
// Files may still be accessible through App Engine or Google Cloud Storage APIs.
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if false;
    }
  }
}

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

उपयोगकर्ता नियमों की मदद से, आपके पास अपने पुष्टि किए गए हर उपयोगकर्ता को उसकी अनुमति देने का विकल्प होता है फ़ाइल मेमोरी. आप निजी खोज का उपयोग करके अपनी फ़ाइलों को पूरी तरह से लॉक भी कर सकते हैं लेकिन ध्यान रखें कि आपके उपयोगकर्ता कुछ भी पढ़ या लिख नहीं पाएंगे Cloud Storage के ज़रिए इन नियमों का पालन करें. यहां से फ़ाइलें ऐक्सेस करने वाले उपयोगकर्ता आपका App Engine ऐप्लिकेशन या Google Cloud Storage एपीआई को अब भी ऐक्सेस हो सकता है.

नियमों में बदलाव करें

Cloud Storage, Cloud Storage Security Rules में बदलाव करने का आसान तरीका है Firebase कंसोल स्टोरेज सेक्शन में मौजूद, नियम टैब में जाकर. नियम टैब में, आप आसानी से और तुरंत अपने मौजूदा नियम देख सकते हैं और उनमें बदलाव कर सकते हैं नियम. ये नियम, पब्लिश करें पर क्लिक करके या फ़ाइल को सेव करके लागू किए जाते हैं (ctrl/cmd + s). नियम Cloud Storage पर तुरंत अपलोड हो जाते हैं लेकिन लाइव होने में पाँच मिनट तक लग सकते हैं.

Firebase सीएलआई का इस्तेमाल, नियमों को डिप्लॉय करने के लिए भी किया जा सकता है. अगर आपको firebase init को चलाते समय Storage, इसकी कॉपी के साथ storage.rules फ़ाइल डिफ़ॉल्ट नियम बना दिए जाएंगे आपकी प्रोजेक्ट डायरेक्ट्री में मौजूद है. आप इनका इस्तेमाल करके इन नियमों को लागू कर सकते हैं: firebase deploy निर्देश. अगर आपके प्रोजेक्ट में एक से ज़्यादा बकेट हैं, तो आपके सभी उपयोगकर्ताओं पर नियमों को डिप्लॉय करने के लिए, टारगेट लागू करें का इस्तेमाल कर सकता है एक ही प्रोजेक्ट फ़ोल्डर से एक बार में बकेट.

फ़ाइल आधारित सुरक्षा की सुविधा कैसे काम करती है, इस बारे में ज़्यादा जानें सुरक्षित फ़ाइलें सेक्शन में देखें या उपयोगकर्ता के बारे में जानें जो Google के उपयोगकर्ताओं की सुरक्षा सेक्शन में जाएं.