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