API7 Enterprise 3.2.14.4: परिष्कृत अनुमति प्रबंधन के लिए Permission Boundary
August 15, 2024
API7 Enterprise v3.2.14.4 आधिकारिक रूप से जारी किया गया है, जिसमें उद्यमों में अधिक सूक्ष्म उपयोगकर्ता अनुमति प्रबंधन की आवश्यकता को पूरा करने के लिए अनुमति सीमा (Permission Boundary) की शुरुआत की गई है।
अनुमति सीमा क्या है?
अनुमति सीमा, जैसा कि नाम से पता चलता है, अनुमतियों की एक दीवार की तरह है जो उपयोगकर्ता की अधिकतम अनुमति सीमा को परिभाषित करती है। इसका उपयोग उन कार्यों को सीमित करने के लिए किया जाता है जो उपयोगकर्ता या भूमिकाएं सिस्टम में कर सकते हैं। इसका मुख्य उद्देश्य सिस्टम सुरक्षा को बढ़ाना और अनुमतियों के दुरुपयोग को रोकना है। इस "दीवार" को सेट करके, हम सुनिश्चित कर सकते हैं कि उपयोगकर्ता केवल अपने जिम्मेदारी के दायरे में ही कार्य कर सकते हैं और सिस्टम में अपने अधिकार से बाहर के डेटा तक पहुंच या उसे संशोधित नहीं कर सकते।
अनुमति सीमाएं सिस्टम में मौजूदा अनुमति नीतियों का पुन: उपयोग कर सकती हैं या विशेष रूप से नई अनुमति नीतियां बना सकती हैं। जब किसी उपयोगकर्ता को अनुमति सीमा सौंपी जाती है, तो यह उनकी अनुमतियों को सीमित करती है लेकिन उन्हें सीधे कोई अनुमति प्रदान नहीं करती।
उदाहरण
मान लीजिए कि हम एक अनुमति नीति बनाते हैं जो सभी गेटवे समूहों में सेवा संचालन और देखने की अनुमति प्रदान करती है और इस नीति को उपयोगकर्ता टॉम को अनुमति सीमा के रूप में सौंपते हैं।
{ "statement": [ // सभी गेटवे समूहों में देखने की अनुमति { "effect": "allow", "resources": [ "arn:api7:gateway:gatewaygroup/<.*>" ], "actions": [ "<.*>Get<.*>" ] }, // सभी गेटवे समूहों में सेवा संचालन की अनुमति { "effect": "allow", "resources": [ "*" ], "actions": [ "arn:api7:gateway:gatewaygroup/<.*>/publishedservice/<.*>" ] } ] }
ऐसी स्थिति में, टॉम की अधिकतम अनुमतियां इस अनुमति नीति के भीतर सीमित हो जाती हैं। हालांकि अनुमति सीमा सेट की गई है, इसका मतलब यह नहीं है कि टॉम के पास पहले से ही ये अनुमतियां हैं। अगले चरण में, हम टॉम को निम्नलिखित अनुमति नीति वाली एक भूमिका सौंपते हैं:
{ "statement": [ // सभी गेटवे समूहों में देखने की अनुमति { "effect": "allow", "resources": [ "arn:api7:gateway:gatewaygroup/<.*>" ], "actions": [ "<.*>Get<.*>" ] }, // सभी गेटवे समूहों में सेवा संचालन की अनुमति { "effect": "allow", "resources": [ "arn:api7:gateway:gatewaygroup/<.*>/publishedservice/<.*>" ], "actions": [ "<.*>" ] }, // कस्टम प्लगइन्स के लिए संचालन अनुमति { "effect": "allow", "resources": [ "arn:api7:gateway:gatewaysetting/*" ], "actions": [ "gateway:<.*>CustomPlugin<.*>" ] } ] }
हालांकि टॉम को सभी गेटवे समूहों में सेवा संचालन, देखने और कस्टम प्लगइन्स के लिए संचालन की अनुमति दी गई है, लेकिन उसे कस्टम प्लगइन्स को संपादित करने की अनुमति नहीं मिलेगी। ऐसा इसलिए है क्योंकि हमने टॉम के लिए एक अनुमति सीमा सेट की है। जब तक अनुमति सीमा को कस्टम प्लगइन्स से संबंधित अनुमतियों को शामिल करने के लिए समायोजित नहीं किया जाता, तब तक सीमा से बाहर की किसी भी अतिरिक्त अनुमति का कोई प्रभाव नहीं होगा।
अनुमति सीमा सुविधा का उपयोग कैसे करें?
अनुमति नीतियां बनाएं
अनुमति सीमाएं सीधे सिस्टम के भीतर मौजूदा अनुमति नीतियों का पुन: उपयोग कर सकती हैं। किसी उपयोगकर्ता को अनुमति सीमा सौंपने से पहले, आपको एक अनुमति नीति बनानी होगी। सिस्टम संगठन मेनू में "अनुमति नीतियां" पर क्लिक करके सूची पृष्ठ पर जाएं।
फिर, सूची के ऊपरी दाएं कोने में "अनुमति नीति जोड़ें" पर क्लिक करके निर्माण फॉर्म में प्रवेश करें।

फॉर्म में अनुमति नीति की बुनियादी जानकारी भरें और संबंधित नीति कथनों को कॉन्फ़िगर करके अनुमति नीति बनाएं। सिद्धांत रूप में, एक ही अनुमति नीति को कई भूमिकाओं से जोड़ा जा सकता है और कई उपयोगकर्ताओं के लिए अनुमति सीमा के रूप में उपयोग किया जा सकता है, लेकिन इस प्रथा की सिफारिश नहीं की जाती है।

अनुमति नीतियों की अधिक संकल्पनात्मक जानकारी के लिए, लेख API7 Enterprise 3.4.14 में नया क्या है: IAM for Granular Access Control देखें। सामान्य नीति कॉन्फ़िगरेशन उदाहरणों के लिए, दस्तावेज़ अनुमति नीति उदाहरण देखें। संसाधनों और कार्यों के लिए लिए जा सकने वाले मान और संबंधित API के लिए, दस्तावेज़ अनुमति नीति कार्य और संसाधन देखें।
अनुमति सीमाएं सौंपें
अनुमति नीतियां बनाने के बाद, आप अनुमति सीमाएं सौंप सकते हैं। संगठन मेनू में "उपयोगकर्ता" पर क्लिक करके उपयोगकर्ता सूची पृष्ठ पर जाएं।
हम नए उपयोगकर्ताओं को आमंत्रित करते समय सीधे अनुमति सीमाएं सौंप सकते हैं। आमंत्रण फॉर्म में अनुमति सीमाओं के लिए एक नया फ़ील्ड जोड़ा गया है, और उपयोगकर्ता को सिस्टम में लॉग इन करने पर डिफ़ॉल्ट रूप से यह अनुमति सीमा सौंपी जाएगी।
मौजूदा उपयोगकर्ताओं के लिए, आप उपयोगकर्ता विवरण पृष्ठ पर अनुमति सीमा के संपादन आइकन पर क्लिक करके उनकी अनुमति सीमा कॉन्फ़िगर कर सकते हैं।
किसी उपयोगकर्ता के लिए अनुमतियां कॉन्फ़िगर करते समय, आप विशिष्ट संचालन अनुमतियों में permission_boundaries शर्त जोड़ सकते हैं। उदाहरण के लिए, iam:InviteUser (उपयोगकर्ता आमंत्रित करें) या iam:UpdateUserBoundary (उपयोगकर्ता अनुमति सीमा अपडेट करें) कार्यों में, आप permission_boundaries शर्त जोड़कर अनुमति नियंत्रण को और परिष्कृत कर सकते हैं।
इस शर्त के तहत, आप उस अनुमति नीति का ID निर्दिष्ट कर सकते हैं जो उपयोगकर्ता के लिए सेट होनी चाहिए। इस प्रकार, जब नए उपयोगकर्ता को आमंत्रित करने या किसी अन्य उपयोगकर्ता की अनुमति सीमा अपडेट करने जैसे कार्य करते हैं, तो सिस्टम इन पूर्वनिर्धारित नियमों के आधार पर उचित अनुमति सीमा का आवंटन सुनिश्चित करेगा।
यहां एक उदाहरण दिया गया है जो दर्शाता है कि इसे कैसे प्राप्त किया जा सकता है:
{ "statement": [ { "effect": "allow", "resources": ["arn:api7:iam:user/<.*>"], "actions": [ "iam:InviteUser", "iam:UpdateUserBoundary" ], "conditions": { "permission_boundaries": { "type": "AllOfStrings", "options": [ "d3698967-1d28-4e37-b5e7-ef00a93304cc", "f863a233-f732-4af0-bb21-3fbe4013be69" ] } } } ] }
अनुमति सीमा मैपिंग
सिस्टम के भीतर विशिष्ट अनुमति सीमाओं को सीधे कॉन्फ़िगर करने के अलावा, API7 Enterprise अनुमति सीमा मैपिंग (Permission Boundary Mapping) का भी समर्थन करता है, जो IdP (Identity Provider) में उपयोगकर्ता की पहचान और अनुमतियों के आधार पर स्वचालित रूप से संबंधित अनुमति सीमाएं सौंपता है। संगठन सेटिंग्स पृष्ठ पर, "लॉगिन विकल्प जोड़ें" पर क्लिक करें। चाहे किसी भी प्रदाता का चयन किया गया हो, कॉन्फ़िगरेशन फॉर्म के निचले भाग में "अनुमति सीमा मैपिंग" स्विच जोड़ा गया है। एक बार इसे सक्षम करने के बाद, आप अनुमति सीमा मैपिंग कॉन्फ़िगर कर सकते हैं।

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