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 उस एक्सटेंशन के इंस्टेंस के लिए बनाया गया सेवा खाता मिटा देता है. सेवा को मिटाए जाने के बाद खाते के साथ, यह एक्सटेंशन आपके प्रोजेक्ट में नहीं चल सकता, क्योंकि अब इसमें आपके प्रोजेक्ट या डेटा के ऐक्सेस के अधिकार हासिल करने में मदद करता है.