किसी Firebase एक्सटेंशन को उसकी निर्दिष्ट कार्रवाइयां करने के लिए, Firebase इंस्टॉल किए गए एक्सटेंशन के प्रत्येक उदाहरण को आपके प्रोजेक्ट और सेवा खाते के माध्यम से डेटा तक सीमित पहुंच प्रदान करता है।
सेवा खाता क्या है?
एक सेवा खाता एक विशेष प्रकार का Google उपयोगकर्ता खाता है। यह एक गैर-मानवीय उपयोगकर्ता का प्रतिनिधित्व करता है जो Google API का उपयोग करके डेटा तक पहुंचने के लिए अधिकृत है।
किसी एक्सटेंशन की स्थापना के दौरान, Firebase आपके प्रोजेक्ट में एक सेवा खाता बनाता है। एक्सटेंशन के प्रत्येक इंस्टॉल किए गए इंस्टेंस का अपना स्वयं का सेवा खाता होता है।
Firebase किसी एक्सटेंशन की सेवा खाता विशिष्ट भूमिकाएं (अनुमतियों का बंडल) निर्दिष्ट करके आपके प्रोजेक्ट और डेटा तक पहुंच को सीमित करता है। एक्सटेंशन को संचालित करने के लिए जिन भूमिकाओं की आवश्यकता होती है, वे एक्सटेंशन डेवलपमेंट के दौरान फायरबेस द्वारा निर्धारित की जाती हैं। स्थापना के समय, फायरबेस इन भूमिकाओं को एक एक्सटेंशन के सेवा खाते में असाइन करता है, और आपको इनमें से किसी भी असाइन की गई भूमिका को संशोधित, जोड़ना या हटाना नहीं चाहिए (अन्यथा आपका इंस्टॉल किया गया एक्सटेंशन अपेक्षा के अनुरूप काम नहीं करेगा)। हालांकि, आप एक्सटेंशन की स्थापना रद्द कर सकते हैं, जो सेवा खाते (और इसकी पहुंच) को पूरी तरह से हटा देता है।
एक्सटेंशन के लिए बनाए गए सेवा खाते इस प्रारूप में हैं: ext- extension-instance-id @ project-id .iam.gserviceaccount.com
।
आप अपनी सेवा खाता टैब में अपने Firebase प्रोजेक्ट से संबद्ध सभी सेवा खाते देख सकते हैं।
प्रोजेक्ट सेटिंग केअनुमतियाँ और भूमिकाएँ
एक एक्सटेंशन के विकास के दौरान, फायरबेस एक्सेस के उस स्तर को निर्धारित करता है जिसके लिए एक एक्सटेंशन को संचालित करने की आवश्यकता होती है।
फायरबेस एक्सटेंशन की स्थापना के दौरान एक्सटेंशन के सेवा खाते को फायरबेस को निर्दिष्ट करने वाली भूमिकाओं (अनुमतियों के बंडल) को स्पष्ट रूप से सूचीबद्ध करके इस स्तर की पहुंच को परिभाषित करता है।
प्रत्येक भूमिका (और इसकी अंतर्निहित अनुमतियाँ) एक विशिष्ट उत्पाद या सेवा पर आधारित होती हैं। भूमिकाओं के उदाहरण हैं firebasehosting.admin
, bigquery.dataEditor
, और firebasedatabase.admin
। फायरबेस एक्सटेंशन की विनिर्देश फ़ाइल ( extension.yaml
फ़ाइल ) में एक्सटेंशन के लिए आवश्यक भूमिकाओं को सूचीबद्ध करता है।
आधिकारिक फायरबेस एक्सटेंशन के लिए, फायरबेस यह सुनिश्चित करने के लिए भूमिकाओं की इस सूची की पूरी तरह से समीक्षा करता है कि एक्सटेंशन की पहुंच विस्तार के कार्यों के दायरे तक ही सीमित है। आप Firebase एक्सटेंशन डैशबोर्ड में एक्सटेंशन के विवरण पृष्ठ को देखकर या उसकी README
फ़ाइल को देखकर किसी एक्सटेंशन को दी गई एक्सेस की समीक्षा और पुष्टि भी कर सकते हैं।
प्रत्येक भूमिका में शामिल अनुमतियों के बारे में जानें:
जब मैं किसी एक्सटेंशन को अनइंस्टॉल करता हूं तो क्या होता है?
जब आप अपने प्रोजेक्ट से किसी एक्सटेंशन को अनइंस्टॉल करते हैं , तो फायरबेस एक्सटेंशन के उस उदाहरण के लिए बनाए गए सेवा खाते को हटा देता है। सेवा खाते के इस विलोपन के बाद, एक्सटेंशन आपके प्रोजेक्ट में नहीं चल सकता क्योंकि इसके पास अब आपके प्रोजेक्ट या डेटा तक पहुंच का कोई अधिकार नहीं है।