Firebase Security Rules

Cloud Firestore, Firebase Realtime Database, और Cloud Storage में अपने डेटा को सुरक्षित रखने के लिए, Firebase के सुरक्षा नियमों का इस्तेमाल करें. ये नियम ज़रूरत के हिसाब से बदले जा सकते हैं और इन्हें आसानी से लागू किया जा सकता है.

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

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

अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले Firebase के खास प्रॉडक्ट के लिए, Security Rules सेट अप करने के तरीके के बारे में ज़्यादा जानें. साथ ही, यह भी जानें कि Firebase के अलग-अलग प्रॉडक्ट में Security Rules का व्यवहार कैसा होता है.

शुरू करें

मुख्य सुविधाएं

लचीलापन अपने ऐप्लिकेशन के स्ट्रक्चर और व्यवहार के हिसाब से, कस्टम नियम बनाएं. Security Rules ऐसी भाषाओं का इस्तेमाल करें जिनसे आपको अपने डेटा का इस्तेमाल करने की अनुमति मिलती हो, ताकि ऐक्सेस करने की अनुमति दी जा सके.
जानकारी का स्तर नियमों को अपनी ज़रूरत के हिसाब से, ज़्यादा या कम लोगों पर लागू किया जा सकता है.
स्वतंत्र सुरक्षा Security Rules को आपके ऐप्लिकेशन के बाहर (Firebase कंसोल या Firebase सीएलआई में) तय किया जाता है. इसलिए, क्लाइंट सुरक्षा लागू करने के लिए ज़िम्मेदार नहीं होते. साथ ही, बग की वजह से डेटा को कोई नुकसान नहीं पहुंचता और आपका डेटा हमेशा सुरक्षित रहता है.

यह सुविधा कैसे काम करती है?

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

Cloud Firestore और Cloud Storage के लिए, Security Rules इस सिंटैक्स का इस्तेमाल करें:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

Realtime Database के लिए, JSON पर आधारित Security Rules इस सिंटैक्स का इस्तेमाल करते हैं:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Security Rules को OR स्टेटमेंट के तौर पर लागू किया जाता है, न कि AND स्टेटमेंट के तौर पर. इसलिए, अगर एक से ज़्यादा नियम किसी पाथ से मेल खाते हैं और मेल खाने वाली किसी भी शर्त से ऐक्सेस दिया जाता है, तो Security Rules उस पाथ पर मौजूद डेटा का ऐक्सेस दें. इसलिए, अगर कोई सामान्य नियम डेटा का ऐक्सेस देता है, तो किसी ज़्यादा खास नियम की मदद से उस पर पाबंदी नहीं लगाई जा सकती. हालांकि, इस समस्या से बचा जा सकता है. इसके लिए, यह पक्का करें कि आपके Security Rules एक-दूसरे से बहुत ज़्यादा ओवरलैप न करें. Firebase Security Rules कंपाइलर की चेतावनियों के तौर पर, मैच किए गए पाथ में ओवरलैप को फ़्लैग करें.

Firebase Security Rules, Authentication का इस्तेमाल करके भी उपयोगकर्ता के हिसाब से अनुमतियां दे सकता है. साथ ही, आपकी सेट की गई शर्तें बहुत बुनियादी या बेहद जटिल हो सकती हैं. Security Rules लिखना शुरू करने से पहले, Security Rules भाषा और व्यवहार के बारे में ज़्यादा जानें.

लागू करने का पाथ

प्रॉडक्ट के एसडीके टूल इंटिग्रेट करना अपने ऐप्लिकेशन के लिए, Cloud Firestore, Cloud Storage या Realtime Database सेट अप करें.
अपना Firebase Security Rules लिखें इसके बारे में ज़्यादा जानें: Security Rules कैसे काम करते हैं और कुछ बुनियादी Security Rules सेट अप करना
Firebase Security Rules की जांच करना अपने ऐप्लिकेशन के व्यवहार की जांच करने और नियमों की पुष्टि करने के लिए, Realtime Database और Cloud Firestore एम्युलेटर का इस्तेमाल करें. ऐसा प्रोडक्शन ट्रैक पर ऐप्लिकेशन को डिप्लॉय करने से पहले करें.
Firebase Security Rules को डिप्लॉय करना अपने नियमों को प्रोडक्शन में डिप्लॉय करने के लिए, Firebase कंसोल या Firebase सीएलआई का इस्तेमाल करें.

अगले चरण