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