Firebase Extension को तय की गई कार्रवाइयां करने के लिए, Firebase, इंस्टॉल किए गए एक्सटेंशन के हर इंस्टेंस को सेवा खाते के ज़रिए, आपके प्रोजेक्ट और डेटा का सीमित ऐक्सेस देता है.
सेवा खाता क्या होता है?
सेवा खाता, 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 Extensions डैशबोर्ड में जाकर, एक्सटेंशन की जानकारी वाला पेज देखें या उसकी README
फ़ाइल देखें.
हर भूमिका में शामिल अनुमतियों के बारे में जानें:
किसी एक्सटेंशन को अनइंस्टॉल करने पर क्या होता है?
अपने प्रोजेक्ट से किसी एक्सटेंशन को अनइंस्टॉल करने पर, Firebase उस एक्सटेंशन के इंस्टेंस के लिए बनाया गया सेवा खाता मिटा देता है. सेवा खाते को मिटाने के बाद, एक्सटेंशन आपके प्रोजेक्ट में नहीं चल सकता. इसकी वजह यह है कि अब उसके पास आपके प्रोजेक्ट या डेटा का ऐक्सेस नहीं है.