MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

ClusterControl के साथ भूमिका-आधारित अभिगम नियंत्रण लागू करना

ClusterControl संस्करण 1.8.2 की कईनाइनों की हालिया रिलीज़ में हमने बहुत सारी परिष्कृत सुविधाएँ और परिवर्तन पेश किए हैं। महत्वपूर्ण विशेषताओं में से एक नई बेहतर उपयोगकर्ता प्रबंधन प्रणाली है, जिसमें नए उपयोगकर्ता और एलडीएपी प्रबंधन शामिल हैं। ClusterControl में एक पूरक मौजूदा क्षमता उपयोगकर्ता प्रबंधन के लिए इसका रोल-बेस्ड एक्सेस कंट्रोल (RBAC) है, जो इस ब्लॉग का फोकस है।

ClusterControl में भूमिका-आधारित अभिगम नियंत्रण

उन लोगों के लिए जो ClusterControl के रोल-बेस्ड एक्सेस कंट्रोल (RBAC) से परिचित नहीं हैं, यह एक ऐसी सुविधा है जो आपको विशिष्ट डेटाबेस क्लस्टर सुविधाओं और प्रशासनिक कार्यों या कार्यों के लिए कुछ उपयोगकर्ताओं की पहुंच को प्रतिबंधित करने में सक्षम बनाती है। उदाहरण के लिए, परिनियोजन तक पहुंच (लोड बैलेंसर जोड़ें, मौजूदा क्लस्टर जोड़ें), प्रबंधन और निगरानी सुविधाएँ। यह सुनिश्चित करता है कि केवल अधिकृत उपयोगकर्ताओं को उनकी संबंधित भूमिकाओं के आधार पर काम करने और देखने की अनुमति है और प्रशासनिक कार्यों में भूमिका की पहुंच को सीमित करके अवांछित घुसपैठ या मानवीय त्रुटियों से बचा जाता है। कार्यक्षमता तक पहुंच ठीक-ठाक है, जिससे किसी संगठन या उपयोगकर्ता द्वारा पहुंच को परिभाषित किया जा सकता है। ClusterControl एक अनुमति ढांचे का उपयोग यह परिभाषित करने के लिए करता है कि उपयोगकर्ता अपने प्राधिकरण के स्तर के आधार पर प्रबंधन और निगरानी कार्यक्षमता के साथ कैसे इंटरैक्ट कर सकता है।

ClusterControl में भूमिका-आधारित अभिगम नियंत्रण विशेष रूप से उन व्यवस्थापक उपयोगकर्ताओं के लिए एक महत्वपूर्ण भूमिका निभाता है जो इसे अपने DBA कार्यों के भाग के रूप में लगातार उपयोग कर रहे हैं। ClusterControl DBA को इस सुविधा से परिचित होना चाहिए क्योंकि यह DBA को टीम के सदस्यों को कार्य सौंपने, ClusterControl कार्यक्षमता तक पहुँच को नियंत्रित करने और सभी उपयोगकर्ताओं के लिए सभी सुविधाओं और कार्यात्मकताओं को उजागर करने की अनुमति नहीं देता है। यह उपयोगकर्ता प्रबंधन कार्यक्षमता का उपयोग करके प्राप्त किया जा सकता है, जो आपको यह नियंत्रित करने की अनुमति देता है कि कौन क्या कर सकता है। उदाहरण के लिए, आप एक टीम बना सकते हैं, जैसे कि एनालिस्ट, डेवोप या डीबीए, और किसी दिए गए डेटाबेस क्लस्टर के लिए उनकी जिम्मेदारियों के दायरे के अनुसार प्रतिबंध जोड़ सकते हैं।

ClusterControl अभिगम नियंत्रण निम्न आरेख में दिखाया गया है,

उपरोक्त शब्दों का विवरण नीचे दिया गया है। एक टीम को ClusterControl द्वारा प्रबंधित एक या अधिक डेटाबेस समूहों को सौंपा जा सकता है। एक टीम में एक टीम में खाली या एकाधिक उपयोगकर्ता होते हैं। डिफ़ॉल्ट रूप से, नई टीम बनाते समय, सुपर व्यवस्थापक खाता हमेशा उससे संबद्ध रहेगा। सुपरएडमिन को हटाना उस नई टीम से लिंक होने से दूर नहीं होता है।

एक उपयोगकर्ता और एक क्लस्टर को एक टीम को सौंपा जाना चाहिए; यह ClusterControl के भीतर एक अनिवार्य कार्यान्वयन है। डिफ़ॉल्ट रूप से, सुपर-व्यवस्थापक खाता एक व्यवस्थापक टीम को निर्दिष्ट किया जाता है, जिसे पहले ही डिफ़ॉल्ट रूप से बनाया जा चुका है। डेटाबेस क्लस्टर भी डिफ़ॉल्ट रूप से व्यवस्थापक टीम को असाइन किए जाते हैं।

एक भूमिका में कोई उपयोगकर्ता असाइन नहीं किया जा सकता है या इसे कई उपयोगकर्ताओं को उनकी ClusterControl भूमिका के अनुसार असाइन किया जा सकता है।

ClusterControl में भूमिकाएं

ClusterControl में भूमिकाएं वास्तव में डिफ़ॉल्ट रूप से निर्धारित की जाती हैं। ये डिफ़ॉल्ट भूमिकाएँ इस प्रकार हैं:

  • सुपर एडमिन - यह एक छिपी हुई भूमिका है, लेकिन यह सुपर एडमिनिस्ट्रेटर (सुपरएडमिन) भूमिका है, जिसका अर्थ है इस भूमिका के लिए सभी सुविधाएँ उपलब्ध हैं। डिफ़ॉल्ट रूप से, सफल स्थापना के बाद आपके द्वारा बनाया गया उपयोगकर्ता आपकी सुपर व्यवस्थापक भूमिका का प्रतिनिधित्व करता है। साथ ही, नई टीम बनाते समय सुपरएडमिन हमेशा नई टीम को डिफ़ॉल्ट रूप से असाइन किया जाता है।

  • व्यवस्थापक - डिफ़ॉल्ट रूप से, लगभग सभी सुविधाएं देखने योग्य होती हैं। देखने योग्य होने का मतलब है कि व्यवस्थापक भूमिका के तहत उपयोगकर्ता प्रबंधन कार्य कर सकते हैं। इस भूमिका के लिए जो सुविधाएँ उपलब्ध नहीं हैं, वे हैं ग्राहक सलाहकार और SSL कुंजी प्रबंधन।

  • उपयोगकर्ता - एकीकरण, सभी समूहों तक पहुंच, और कुछ सुविधाएं इस भूमिका के लिए उपलब्ध नहीं हैं और इससे इनकार किया जाता है चूक। यह उपयोगी है यदि आप नियमित उपयोगकर्ताओं को असाइन करना चाहते हैं जो डेटाबेस या प्रशासनिक कार्यों को काम करने के लिए अभिप्रेत नहीं हैं। उपयोगकर्ता की भूमिका में अन्य समूहों को देखने के लिए कुछ मैन्युअल कदम उठाने होंगे।

ClusterControl में भूमिकाएं मनमानी हैं, इसलिए प्रशासक मनमानी भूमिकाएं बना सकते हैं और उन्हें टीम के तहत एक उपयोगकर्ता को सौंप सकते हैं।

क्लस्टर नियंत्रण भूमिकाओं में कैसे प्रवेश करें

आप एक्सेस स्तरों के अपने सेट के साथ एक कस्टम भूमिका बना सकते हैं। टीम टैब के तहत किसी विशिष्ट उपयोगकर्ता को भूमिका सौंपें। इस पर दाएं कोने में साइड-बार में उपयोगकर्ता प्रबंधन का पता लगाकर पहुंचा जा सकता है। नीचे स्क्रीनशॉट देखें:

ClusterControl के साथ भूमिका-आधारित अभिगम नियंत्रण लागू करना

RBAC को लागू करना उपयोगकर्ता डोमेन-विशिष्ट है, जो उपयोगकर्ता की उनकी भूमिकाओं और विशेषाधिकारों के अनुसार ClusterControl सुविधाओं तक पहुंच को प्रतिबंधित करता है। इसे ध्यान में रखते हुए, हमें एक विशिष्ट उपयोगकर्ता बनाना शुरू करना चाहिए।

ClusterControl में उपयोगकर्ता बनाना

उपयोगकर्ता बनाने के लिए, उपयोगकर्ता प्रबंधन टीम टैब के अंतर्गत प्रारंभ करें। अब, पहले एक टीम बनाते हैं।

एक बार बन जाने के बाद, एक सुपर-व्यवस्थापक खाता होता है जो एक टीम बनने के बाद डिफ़ॉल्ट रूप से जुड़ा होता है।

अब, चलिए एक नया उपयोगकर्ता जोड़ते हैं। एक नया उपयोगकर्ता जोड़ना एक टीम के तहत किया जाना है, इसलिए हम इसे DevOps के तहत बना सकते हैं।

जैसा कि आपने देखा होगा, हमारे द्वारा बनाया गया नया उपयोगकर्ता अब उपयोगकर्ता की भूमिका में है, जो डिफ़ॉल्ट रूप से ClusterControl में जोड़ा जाता है। फिर टीम भी DevOps के अधीन है।

मूल रूप से, अब DevOps टीम के अंतर्गत दो उपयोगकर्ता हैं, जैसा कि नीचे दिखाया गया है:

ध्यान दें कि भूमिकाएं उपयोगकर्ता डोमेन-विशिष्ट हैं, इसलिए यह केवल उस विशिष्ट उपयोगकर्ता पर पहुंच प्रतिबंध लागू करती है, न कि उस टीम पर जहां वह संबंधित है।

व्यवस्थापक बनाम उपयोगकर्ता भूमिकाएं (ClusterControl में डिफ़ॉल्ट भूमिकाएं)

चूंकि हमने ClusterControl में डिफ़ॉल्ट रूप से दो भूमिकाएँ जोड़ी हैं, इसलिए कुछ सीमाएँ हैं जो डिफ़ॉल्ट रूप से निर्धारित की जाती हैं। ये क्या हैं जानने के लिए, बस  उपयोगकर्ता प्रबंधन एक्सेस कंट्रोल पर जाएं। नीचे एक स्क्रीनशॉट है जो उपलब्ध सुविधाओं या विशेषाधिकारों को दर्शाता है जो भूमिका से संबंधित उपयोगकर्ता कर सकता है:

व्यवस्थापक भूमिका

उपयोगकर्ता भूमिका

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

सभी टिक अनियंत्रित हैं। सुविधा या विशेषाधिकार को सक्षम करने के लिए अनुमति दें कॉलम के तहत बस जांचें या यदि आप पहुंच से इनकार करना चाहते हैं तो इनकार करें कॉलम के तहत जांचें। मैनेज कॉलम उस भूमिका में उपयोगकर्ताओं को प्रबंधन कार्य करने की अनुमति देता है। जबकि संशोधित कॉलम आपको उन संशोधनों को सक्षम करने की अनुमति देता है जो केवल विशेषाधिकारों या सुविधाओं के लिए अलार्म, जॉब और सेटिंग्स के तहत उपलब्ध हैं।

आरबीएसी का परीक्षण

इस उदाहरण में, मेरे नियंत्रक में निम्नलिखित क्लस्टर मौजूद हैं जैसा कि नीचे दिखाया गया है:

यह इस परिवेश में सुपर व्यवस्थापक खाते द्वारा देखा जा सकता है।

अब जबकि हमारे पास अभी-अभी बनाए गए उपयोगकर्ता के लिए RBAC सेट है, आइए अभी-अभी सेट किए गए ईमेल और पासवर्ड का उपयोग करके लॉग इन करने का प्रयास करें।

यही बनाया गया है,

कोई क्लस्टर उपलब्ध और देखने योग्य नहीं है, और कुछ विशेषाधिकारों को अस्वीकार कर दिया गया है जैसा कि नीचे दिखाया गया है जैसे कि कुंजी प्रबंधन सेटिंग्स और ई-मेल सूचनाएं:

आरबीएसी समायोजित करना

चूंकि भूमिकाओं में विशेषाधिकार परिवर्तनशील हैं, इसलिए उपयोगकर्ता प्रबंधन ➝ अभिगम नियंत्रण के माध्यम से उन्हें प्रबंधित करना आसान है।

अब, बनाए गए उपयोगकर्ता को क्लस्टर देखने की अनुमति देते हैं। चूंकि हमारे उपयोगकर्ता के पास सभी क्लस्टर तक पहुंच से वंचित है, इसलिए हमें इसे सक्षम करने की आवश्यकता है। नीचे देखें,

अब, जैसा कि हमने पहले डायग्राम के आधार पर बताया है, क्लस्टर्स को टीम द्वारा नियंत्रित किया जाता है। उदाहरण के लिए, निम्न क्लस्टर असाइनमेंट हैं,  नीचे:

चूंकि हमें क्लस्टर को सही टीम को असाइन करने की आवश्यकता है, विशिष्ट क्लस्टर का चयन करने और "टीम बदलें" बटन पर क्लिक करने से आपको सही टीम को इसे फिर से असाइन करने की अनुमति देने वाला संकेत दिखाई देगा।

अब, इसे DevOps को असाइन करें।

अब, नए बनाए गए उपयोगकर्ता के रूप में वापस लॉग इन करें, और हम क्लस्टर को देखने में सक्षम होंगे।

सारांश

ClusterControl में रोल-बेस्ड एक्सेस कंट्रोल (RBAC) एक ऐसी सुविधा है जो क्लस्टर कंट्रोल में आपके द्वारा बनाए गए प्रत्येक उपयोगकर्ता के लिए बढ़िया प्रतिबंधात्मक एक्सेस कंट्रोल प्रदान करती है, जो एक के आधार पर अधिक सुरक्षा और अधिक प्रतिबंधात्मक एक्सेस कंट्रोल को सक्षम करती है। उपयोगकर्ता की भूमिका।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में एक विशिष्ट नाम के साथ एक इंडेक्स कैसे बनाएं?

  2. विंडोज़ पर डोकर मोंगो छवि शुरू करने में असमर्थ

  3. एकीकरण परीक्षण चलाते समय एंबेडेड MongoDB

  4. कई क्षेत्रों के साथ मोंगोडब पाठ खोज

  5. JSON से PyMongo ObjectId deserialize करने में असमर्थ