पहचान और ऐक्सेस मैनेजमेंट (आईएएम) की मदद से, Firebase और Google के चुनिंदा संसाधनों को ऐक्सेस करने की अनुमति दी जा सकती है. साथ ही, अन्य संसाधनों को अनचाहे ऐक्सेस से बचाया जा सकता है. आईएएम की मदद से, कम से कम विशेषाधिकार वाले सुरक्षा सिद्धांत को अपनाया जा सकता है. इससे, अपने संसाधनों को सिर्फ़ ज़रूरी ऐक्सेस दिया जा सकता है.
आईएएम के बारे में ज़्यादा जानने के लिए, Google Cloud आईएएम का दस्तावेज़ पढ़ें.
Firebase IAM की खास जानकारी
Firebase, IAM के अतिरिक्त विकल्प उपलब्ध कराता है. ये विकल्प, Firebase प्रोजेक्ट और आपके प्रोजेक्ट के सदस्यों के लिए खास तौर पर उपलब्ध होते हैं.
जब पुष्टि किया गया प्रोजेक्ट का कोई सदस्य Firebase में कोई कार्रवाई करने का अनुरोध करता है, तो IAM यह तय करता है कि प्रोजेक्ट के सदस्य के पास संसाधन पर अनुरोध की गई कार्रवाई करने की अनुमति है या नहीं. प्रोजेक्ट के सदस्य को अनुरोध की गई कार्रवाई करने की अनुमति है या नहीं, यह इस बात पर निर्भर करता है कि उसे कौनसी भूमिका असाइन की गई है. हर भूमिका, अनुमतियों का एक कलेक्शन होती है. जब किसी प्रोजेक्ट के सदस्य को कोई भूमिका असाइन की जाती है, तो उसे उस भूमिका के लिए सभी अनुमतियां मिल जाती हैं.
प्रोजेक्ट के सदस्य
Firebase IAM का इस्तेमाल करके, अपने प्रोजेक्ट के सदस्यों को भूमिकाएं (और उनसे जुड़ी अनुमतियां) असाइन की जा सकती हैं. प्रोजेक्ट के सदस्य, इन टाइप के हो सकते हैं:
- Google खाता
- सेवा खाता
- Google ग्रुप
भूमिकाएं
प्रोजेक्ट के सदस्यों को भूमिकाओं के ज़रिए अनुमतियां दी जाती हैं. भूमिका, अनुमतियों का एक कलेक्शन होती है. जब किसी प्रोजेक्ट के सदस्य को कोई भूमिका असाइन की जाती है, तो उसे उस भूमिका में शामिल सभी अनुमतियां मिल जाती हैं.
Firebase IAM में, इन टाइप की भूमिकाएं उपलब्ध हैं:
बुनियादी भूमिकाएं: बुनियादी मालिक, एडिटर, और व्यूअर भूमिकाएं (जिन्हें पहले "प्रिमिटिव" भूमिकाएं कहा जाता था).
पहले से तय भूमिकाएं: Firebase के लिए खास तौर पर तैयार की गई भूमिकाएं. इनकी मदद से, बुनियादी भूमिकाओं के मुकाबले ज़्यादा बेहतर तरीके से ऐक्सेस कंट्रोल किया जा सकता है. Firebase ये भूमिकाएं उपलब्ध कराता है:
Firebase-लेवल की भूमिकाएं: ये भूमिकाएं, सभी Firebase प्रॉडक्ट को पढ़ने/लिखने या सिर्फ़ पढ़ने का पूरा ऐक्सेस देती हैं.
प्रॉडक्ट-कैटगरी की भूमिकाएं: ये भूमिकाएं, प्रॉडक्ट के ग्रुप को पढ़ने/लिखने या सिर्फ़ पढ़ने का पूरा ऐक्सेस देती हैं. इन्हें Google Analytics और प्रॉडक्ट की सामान्य कैटगरी के हिसाब से बनाया जाता है.
प्रॉडक्ट-लेवल की भूमिकाएं: ये भूमिकाएं, चुनिंदा Firebase प्रॉडक्ट को पढ़ने/लिखने या सिर्फ़ पढ़ने का पूरा ऐक्सेस देती हैं.
कस्टम भूमिकाएं: पूरी तरह से पसंद के मुताबिक बनाई गई भूमिकाएं. इन्हें, अनुमतियों का ऐसा सेट तैयार करने के लिए बनाया जाता है जो आपके संगठन की खास ज़रूरतों को पूरा करता है.
प्रोजेक्ट के सदस्यों और उनकी भूमिकाओं को मैनेज करना
प्रोजेक्ट के सदस्यों और उनकी भूमिकाएं देखना
Firebase कंसोल में, सेटिंग > **प्रोजेक्ट सेटिंग** के उपयोगकर्ता और अनुमतियां टैब में जाकर, अपने प्रोजेक्ट के कई सदस्यों और उनकी भूमिकाओं को देखा जा सकता है.Firebase इन बातों का ध्यान रखें:- Firebase कंसोल में, सिर्फ़ उन प्रोजेक्ट के सदस्यों की सूची दिखती है जिन्हें बुनियादी भूमिका (मालिक, एडिटर, व्यूअर) या Firebase की पहले से तय भूमिका असाइन की गई है. इस टैब में शामिल प्रोजेक्ट के सदस्य ही, Firebase कंसोल में Firebase प्रोजेक्ट को ऐक्सेस कर सकते हैं.
- Firebase कंसोल में, सेवा खातों के तौर पर शामिल प्रोजेक्ट के सदस्य नहीं दिखते. इन प्रोजेक्ट के सदस्यों को, आईएएम पेज के Google Cloud कंसोल पर देखा जा सकता है.
प्रोजेक्ट के किसी सदस्य को भूमिका असाइन करना
प्रोजेक्ट के हर सदस्य को असाइन की गई भूमिकाओं को मैनेज करने के लिए, आपको Firebase
प्रोजेक्ट का मालिक होना चाहिए. इसके अलावा, आपको resourcemanager.projects.setIamPolicy अनुमति वाली भूमिका असाइन की गई होनी चाहिए.
यहां उन जगहों की जानकारी दी गई है जहां भूमिकाएं असाइन और मैनेज की जा सकती हैं:
- Firebase कंसोल में, > प्रोजेक्ट सेटिंग के उपयोगकर्ता और अनुमतियां टैब में जाकर, प्रोजेक्ट के सदस्यों को भूमिकाएं असाइन करने का आसान तरीका उपलब्ध है. Firebase कंसोल में, बुनियादी भूमिकाओं (मालिक, एडिटर, व्यूअर), Firebase के एडमिन/व्यूअर की भूमिकाओं या Firebase की पहले से तय प्रॉडक्ट-कैटगरी की किसी भी भूमिका को असाइन किया जा सकता है.
- Google Cloud कंसोल पर, प्रोजेक्ट के सदस्यों को भूमिकाएं असाइन करने के लिए, कई टूल उपलब्ध हैं. Cloud Console में, कस्टम भूमिकाएं बनाई और मैनेज भी की जा सकती हैं. साथ ही, सेवा खातों को अपने प्रोजेक्ट का ऐक्सेस भी दिया जा सकता है.
ध्यान दें कि Google Cloud कंसोल में, प्रोजेक्ट के सदस्यों को प्रिंसिपल कहा जाता है.
अगर आपके प्रोजेक्ट का मालिक, अब मालिक के तौर पर काम नहीं कर सकता (उदाहरण के लिए, वह आपकी कंपनी छोड़ चुका है) और आपके प्रोजेक्ट को Google Cloud संगठन के ज़रिए मैनेज नहीं किया जाता है (अगला पैराग्राफ़ देखें), तो Firebase सहायता टीम से संपर्क किया जा सकता है और उनसे यह भी पूछा जा सकता है कि Firebase प्रोजेक्ट को ऐक्सेस करने का अनुरोध कैसे किया जाए.
ध्यान दें कि अगर कोई Firebase प्रोजेक्ट, Google Cloud संगठन का हिस्सा है, तो हो सकता है कि उसका कोई मालिक न हो. अगर आपको अपने Firebase प्रोजेक्ट का कोई मालिक नहीं मिल रहा है, तो Google Cloud संगठन को मैनेज करने वाले व्यक्ति से संपर्क करें, ताकि वह प्रोजेक्ट के लिए किसी को मालिक की भूमिका असाइन कर सके.