API7 Enterprise में नया क्या है: ग्रैन्युलर एक्सेस कंट्रोल के लिए IAM
July 11, 2024
परिचय
API7 Enterprise के पिछले संस्करणों ने एक सरल, उपयोगकर्ता-अनुकूल और व्यापक RBAC (रोल-आधारित पहुंच नियंत्रण) प्रबंधन तंत्र प्रदान किया था। यह तंत्र सिस्टम सुरक्षा सुनिश्चित करते हुए उपयोगकर्ताओं को लचीली भूमिका अनुमति कॉन्फ़िगरेशन प्रदान करता था। जैसे-जैसे API7 Enterprise के संसाधनों और सुविधाओं के प्रकार बढ़े, पारंपरिक RBAC प्रबंधन ने अनुमतियों के सूक्ष्म नियंत्रण में अपनी सीमाएं दिखानी शुरू कर दीं। इसके अलावा, अधिक से अधिक उद्यम अपनी जटिल और बदलती व्यावसायिक आवश्यकताओं को पूरा करने के लिए अधिक परिष्कृत अनुमति प्रबंधन रणनीतियों की तलाश कर रहे हैं।
API7 Enterprise की अनुमति प्रबंधन सुविधाओं को और बेहतर बनाने के लिए, हमने मौजूदा भूमिका अनुमति प्रणाली को एक अधिक लचीले और शक्तिशाली IAM (पहचान और पहुंच प्रबंधन) पॉलिसी मॉडल के साथ अपग्रेड किया है। यह मॉडल उपयोगकर्ताओं को अधिक सूक्ष्म अनुमति नियंत्रण और अधिक लचीलापन प्रदान करता है, जो आधुनिक उद्यमों की जटिल और परिवर्तनशील अनुमति प्रबंधन आवश्यकताओं को बेहतर ढंग से पूरा करता है।
IAM पॉलिसी मॉडल क्या है?
IAM (पहचान और पहुंच प्रबंधन) पॉलिसी मॉडल अनुमति प्रबंधन का एक अधिक विस्तृत और कुशल तरीका है। यह प्रशासकों को विशिष्ट पॉलिसियों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक में नियमों (स्टेटमेंट्स) का एक सेट होता है। ये नियम विस्तार से निर्दिष्ट करते हैं कि कौन से उपयोगकर्ता या भूमिकाएं किन संसाधनों पर कौन से कार्य कर सकते हैं। पारंपरिक RBAC तंत्र की तुलना में, यह मॉडल अधिक लचीलापन और सूक्ष्मता प्रदान करता है।
RBAC पर IAM के लाभ:
-
सूक्ष्म नियंत्रण: IAM संसाधन स्तर पर और यहां तक कि संसाधनों के भीतर विशिष्ट विशेषताओं या संचालनों के लिए अनुमतियों को नियंत्रित कर सकता है, जबकि RBAC अक्सर भूमिकाओं के आधार पर अनुमतियां प्रदान करता है, जिसकी सूक्ष्मता अपेक्षाकृत कम होती है।
-
लचीलापन: IAM प्रशासकों को सीधे पॉलिसियों और अनुमतियों को प्रबंधित करने की अनुमति देता है, बिना अप्रत्यक्ष अनुमति असाइनमेंट के लिए कई भूमिकाएं बनाने और प्रबंधित करने की आवश्यकता के, जिससे कॉन्फ़िगरेशन अधिक सीधा और लचीला हो जाता है।
-
स्केलेबिलिटी: जैसे-जैसे सिस्टम की कार्यक्षमताएं बढ़ती हैं और संसाधनों के प्रकार विविध होते हैं, IAM नई पॉलिसियों को जोड़कर नई अनुमति आवश्यकताओं को पूरा करने के लिए अधिक आसानी से अनुकूलित हो सकता है, जबकि RBAC को परिवर्तनों को समायोजित करने के लिए कई भूमिकाओं को समायोजित या जोड़ने की आवश्यकता हो सकती है।
API7 Enterprise में IAM पॉलिसियों का उपयोग कैसे करें?
1. अनुमति पॉलिसियां बनाएं
API7 Enterprise में लॉग इन करने के बाद, शीर्ष दाईं ओर "संगठन" बटन पर क्लिक करें, और ड्रॉपडाउन मेनू से "अनुमति पॉलिसियां" मेनू आइटम चुनें।
अनुमति पॉलिसियां अनुभाग में, आप सभी पॉलिसियों को प्रबंधित कर सकते हैं। डिफ़ॉल्ट रूप से, प्रारंभिक प्रशासक के लिए एक super-admin-permission-policy होती है।
शीर्ष दाईं ओर "पॉलिसी जोड़ें" बटन पर क्लिक करें और पॉलिसी निर्माण फॉर्म में प्रवेश करें। यहां, आपको पॉलिसियों की मूल जानकारी भरनी होगी और पॉलिसी संपादक में अनुमतियों को कॉन्फ़िगर करना होगा, जिसे स्टेटमेंट्स कहा जाता है।
स्टेटमेंट्स एक पॉलिसी के मुख्य घटक होते हैं, जो एक या अधिक स्टेटमेंट्स से बने होते हैं। प्रत्येक स्टेटमेंट एक विशिष्ट पहुंच अनुमति नियम को परिभाषित करता है।
-
प्रभाव: स्टेटमेंट के प्रभाव को निर्दिष्ट करता है, आमतौर पर
"अनुमति"या"अस्वीकार"। एक संसाधन कई पॉलिसियों से प्रभावित हो सकता है, और IAM सिस्टम स्टेटमेंट्स के क्रम और तर्क के आधार पर अंतिम पहुंच अनुमतियों का निर्धारण करता है। -
क्रिया: अनुमति या अस्वीकार की गई क्रियाओं की एक श्रृंखला को परिभाषित करता है, जैसे
"gateway:DeleteGatewayGroup"या"iam:GetUser"। ये क्रियाएं संसाधनों (संसाधन) के साथ संयोजन में उपयोग की जानी चाहिए ताकि वे अर्थपूर्ण हों। -
संसाधन: स्टेटमेंट के लिए लागू होने वाले संसाधनों को निर्दिष्ट करता है, जैसे कि एक विशिष्ट गेटवे समूह या सेवा। वाइल्डकार्ड्स (जैसे,
<.*>) का उपयोग कई संसाधनों से मेल खाने के लिए किया जा सकता है। -
शर्त (वैकल्पिक): स्टेटमेंट के प्रभावी होने की शर्तों को परिभाषित करता है। उदाहरण के लिए,
"conditions": { "gateway_group_label": { "type": "MatchLabel", "options": { "key": "type", "operator": "exact_match", "value": "production" } } },यह दर्शाता है कि स्टेटमेंट में परिभाषित संचालन केवल तब प्रभावी होंगे जब गेटवे समूह लेबल "production" पर सेट हो।
उदाहरण के लिए, एक पॉलिसी बनाने के लिए जो एक उपयोगकर्ता को केवल एक विशिष्ट गेटवे समूह के भीतर सभी प्रकाशित सेवाओं को संपादित करने की अनुमति देती है, आप इसे निम्नानुसार लिख सकते हैं:
{ "statement": [ { "resources": [ "arn:api7:gateway:gatewaygroup/{gateway group id}" ], "actions": [ "<.*>Get<.*>" // 'Get' से शुरू होने वाले सभी संचालन को अनुमति दें, जो निर्दिष्ट गेटवे समूह के लिए 'पढ़ने' की अनुमति का प्रतिनिधित्व करते हैं ], "effect": "allow" // ऊपर परिभाषित संचालन को अनुमति दें // नोट: यह पॉलिसी स्टेटमेंट निर्दिष्ट गेटवे समूह पर सभी 'Get' संचालन करने की अनुमति देता है, जैसे गेटवे समूह की जानकारी प्राप्त करना, गेटवे समूह के भीतर सेवाओं की सूची प्राप्त करना, आदि। }, { "resources": [ "arn:api7:gateway:gatewaygroup/{gateway group id}/publishedservice/<.*>", ], "actions": [ "<.*>" // सभी संचालन को अनुमति दें ], "effect": "allow" // ऊपर परिभाषित संचालन को अनुमति दें // यह पॉलिसी स्टेटमेंट निर्दिष्ट गेटवे समूह के भीतर प्रकाशित सेवाओं पर सभी संचालन (बनाना, पढ़ना, अद्यतन करना, हटाना, आदि) करने की अनुमति देता है। } ] }
इस उदाहरण में, हमने दो सेट संसाधनों (गेटवे समूह और गेटवे समूह के भीतर प्रकाशित सेवाएं) को परिभाषित किया है और प्रत्येक के लिए अनुमत क्रियाओं को सेट किया है। कुछ सामान्य पॉलिसी कॉन्फ़िगरेशन उदाहरण अनुमति पॉलिसी उदाहरण में पाए जा सकते हैं। संसाधनों और क्रियाओं के उपलब्ध मान और संबंधित APIs के लिए, अनुमति पॉलिसी क्रियाएं और संसाधन दस्तावेज़ देखें।
एक पॉलिसी बनाने के बाद, इसे सीधे उपयोगकर्ताओं को असाइन नहीं किया जा सकता है; हमें पहले पॉलिसी को विशिष्ट भूमिकाओं को असाइन करना होगा।
2. भूमिकाएं बनाएं और पॉलिसियां जोड़ें
API7 Enterprise में लॉग इन करने के बाद, शीर्ष दाईं ओर "संगठन" बटन पर क्लिक करें, और ड्रॉपडाउन मेनू से "भूमिकाएं" मेनू आइटम चुनें।
भूमिकाएं अनुभाग में, आप सभी भूमिकाओं को प्रबंधित कर सकते हैं। डिफ़ॉल्ट रूप से, एक सुपर एडमिन भूमिका अंतर्निहित प्रशासक भूमिका के रूप में होती है।

शीर्ष दाईं ओर "कस्टम भूमिका जोड़ें" बटन पर क्लिक करें और भूमिका निर्माण फॉर्म में प्रवेश करें। यहां, आपको भूमिका की मूल जानकारी भरनी होगी। निर्माण के बाद, हम भूमिका विवरण पृष्ठ पर प्रवेश करेंगे।

भूमिका विवरण पृष्ठ पर, "पॉलिसी जोड़ें" बटन पर क्लिक करें और पहले बनाई गई अनुमति पॉलिसियों को भूमिका को असाइन करें।
बनाई गई पॉलिसियों को कई भूमिकाओं में पुन: उपयोग किया जा सकता है। जब एक भूमिका कई पॉलिसियों से जुड़ी होती है, तो ये पॉलिसियां डिफ़ॉल्ट रूप से संयोजित होती हैं। यानी, एक भूमिका की अनुमतियां सभी संबंधित पॉलिसियों में घोषित अनुमतियों का योग होती हैं। एक भूमिका बनाने और पॉलिसियां जोड़ने के बाद, हम भूमिका को विशिष्ट उपयोगकर्ताओं को असाइन कर सकते हैं।
3. उपयोगकर्ताओं को भूमिकाएं असाइन करें
API7 Enterprise में लॉग इन करने के बाद, शीर्ष दाईं ओर "संगठन" बटन पर क्लिक करें, और ड्रॉपडाउन मेनू से "उपयोगकर्ता" मेनू आइटम चुनें।
उपयोगकर्ता अनुभाग में, आप सभी उपयोगकर्ताओं को प्रबंधित कर सकते हैं। डिफ़ॉल्ट रूप से, एक एडमिन भूमिका अंतर्निहित प्रशासक के रूप में होती है।

भूमिका सूची के दाईं ओर क्रिया कॉलम में, "भूमिकाएं अद्यतन करें" पर क्लिक करें और एक विशिष्ट उपयोगकर्ता की भूमिका अद्यतन करने के लिए फॉर्म ड्रॉअर खोलें।
एक उपयोगकर्ता के पास कई भूमिकाएं हो सकती हैं। जब एक उपयोगकर्ता को कई भूमिकाएं दी जाती हैं, तो अनुमतियां संयोजित होती हैं। यानी, उपयोगकर्ता के पास सभी भूमिकाओं की अनुमतियों का योग होता है।
सरलीकृत भूमिका मैपिंग
उपयोगकर्ता भूमिका मॉडल के अनुकूलन और अपग्रेड के साथ, SSO भूमिका मैपिंग प्रक्रिया को सरल बनाया गया है। अब, लॉगिन विकल्पों के लिए भूमिका मैपिंग कॉन्फ़िगर करते समय, प्रत्येक भूमिका के लिए अलग-अलग संसाधन-स्तरीय मिलान नियम सेट करने की आवश्यकता नहीं है। संसाधन और संचालन अनुमतियां सीधे चयनित अंतर्निहित भूमिकाओं से विरासत में मिलती हैं, जिससे अनुमति कॉन्फ़िगरेशन अधिक सहज हो जाता है और अनुमति प्रबंधन की जटिलता कम हो जाती है।
सारांश
IAM पॉलिसियों की शुरूआत ने अधिक लचीली अनुमति कॉन्फ़िगरेशन और प्रबंधन को सक्षम किया है। यह समायोजन न केवल सिस्टम सुरक्षा को बढ़ाता है, बल्कि उपयोगकर्ताओं को अनुकूलन के लिए अधिक संभावनाएं भी प्रदान करता है।
भविष्य में, हम IAM पॉलिसियों द्वारा समर्थित संसाधनों के प्रकारों का विस्तार करना जारी रखेंगे, यह सुनिश्चित करते हुए कि सभी सिस्टम संसाधन सूक्ष्म अनुमति प्रबंधन में शामिल हो सकें, और पॉलिसी संपादन और प्रबंधन इंटरफ़ेस को लगातार अनुकूलित करेंगे, जिससे उपयोगकर्ताओं को एक अधिक व्यापक और कुशल अनुमति प्रबंधन अनुभव प्रदान किया जा सके।
