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