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 के चुनिंदा प्रॉडक्ट के लिए, Rules सेट अप करने के तरीके के बारे में ज़्यादा जानें. साथ ही, यह भी जानें कि Firebase के अलग-अलग प्रॉडक्ट में Rules का व्यवहार कैसा होता है.

शुरू करें

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

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

ये कैसे काम करते हैं?

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

Cloud Firestore और Cloud Storage के लिए, 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 पर आधारित Rules में इस सिंटैक्स का इस्तेमाल करें:

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

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

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

लागू करने का तरीका

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

अगले चरण