Firebase एक्सटेंशन को दी गई अनुमतियां

Firebase एक्सटेंशन को अपनी तय की गई कार्रवाइयां करने के लिए, Firebase इंस्टॉल किए गए हर एक्सटेंशन को आपके प्रोजेक्ट और डेटा का सीमित ऐक्सेस देता है. यह ऐक्सेस, सेवा खाते के ज़रिए दिया जाता है.Firebase Extension

सेवा खाता क्या होता है?

सेवा खाता Google के उपयोगकर्ता खाते की एक खास तरह की कैटगरी है. यह किसी ऐसे सिस्टम या मशीन का प्रतिनिधित्व करता है जिसे Google API का इस्तेमाल करके, डेटा ऐक्सेस करने की अनुमति मिली होती है.

किसी एक्सटेंशन को इंस्टॉल करने के दौरान, Firebase आपके प्रोजेक्ट में एक सेवा खाता बनाता है. इंस्टॉल किए गए हर एक्सटेंशन का अपना सेवा खाता होता है.

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

एक्सटेंशन के लिए बनाए गए सेवा खाते, इस फ़ॉर्मैट में होते हैं: ext-extension-instance-id@project-id.iam.gserviceaccount.com.

अपने Firebase प्रोजेक्ट से जुड़े सभी सेवा खाते, प्रोजेक्ट सेटिंग के सेवा खाते टैब में देखे जा सकते हैं.

अनुमतियां और भूमिकाएं

किसी एक्सटेंशन को डेवलप करने के दौरान, Firebase यह तय करता है कि एक्सटेंशन को काम करने के लिए किस लेवल के ऐक्सेस की ज़रूरत है.

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

हर भूमिका (और उससे जुड़ी अनुमतियां) किसी खास प्रॉडक्ट या सेवा पर आधारित होती है. भूमिकाओं के उदाहरण के तौर पर, firebasehosting.admin, bigquery.dataEditor, और firebasedatabase.admin को देखा जा सकता है. Firebase, एक्सटेंशन के लिए ज़रूरी भूमिकाओं की सूची, एक्सटेंशन की स्पेसिफ़िकेशन फ़ाइल (extension.yaml फ़ाइल) में दिखाता है.

Firebase के आधिकारिक Firebase एक्सटेंशन के लिए, Firebase भूमिकाओं की इस सूची की पूरी तरह से समीक्षा करता है. इससे यह पक्का किया जाता है कि एक्सटेंशन का ऐक्सेस, एक्सटेंशन के टास्क के दायरे तक ही सीमित हो. एक्सटेंशन के लिए दिए गए ऐक्सेस की समीक्षा और पुष्टि खुद भी की जा सकती है. इसके लिए, एक्सटेंशन का ज़्यादा जानकारी वाला पेज देखें या उसकी फ़ाइल देखें.Firebase ExtensionsREADME

हर भूमिका में शामिल अनुमतियों के बारे में जानें:

किसी एक्सटेंशन को अनइंस्टॉल करने पर क्या होता है?

अपने प्रोजेक्ट से किसी एक्सटेंशन को अनइंस्टॉल करने पर, Firebase उस एक्सटेंशन के लिए बनाया गया सेवा खाता मिटा देता है. सेवा खाता मिटाने के बाद, एक्सटेंशन आपके प्रोजेक्ट में काम नहीं कर सकता, क्योंकि अब उसके पास आपके प्रोजेक्ट या डेटा का कोई ऐक्सेस नहीं होता.