MongoDB सुरक्षा, निगरानी और बैकअप (मोंगोडम्प)

⚡ स्मार्ट सारांश

MongoDB सुरक्षा, निगरानी और बैकअप डेटाबेस प्रशासन की मूलभूत अवधारणाएँ हैं जो डेटा को सुरक्षित, उपलब्ध और पुनर्प्राप्त करने योग्य बनाए रखती हैं। यह संसाधन सुरक्षा संबंधी सर्वोत्तम प्रथाओं, मोंगोडंप बैकअप, निगरानी उपकरणों, अनुक्रमण युक्तियों, प्रमाणीकरण तंत्रों, x.509 प्रमाणपत्रों और कॉन्फ़िगरेशन को कवर करता है। MongoDB केर्बेरोस प्रमाणीकरण के साथ।

  • 🔒 सुरक्षा: एक्सेस कंट्रोल, रोल-बेस्ड एक्सेस, टीएलएस/एसएसएल एन्क्रिप्शन और ऑडिटिंग को सक्षम करें।
  • 💾 बैकअप: डेटा फ़ाइलों को कॉपी करें, BSON डंप के लिए mongodump का उपयोग करें, या क्लाउड मैनेजर का उपयोग करें।
  • 📊 निगरानी: mongostat, mongotop, वेब इंटरफेस और serverStatus का उपयोग करें।
  • ⚡ अनुक्रमण: खोजे गए फ़ील्ड पर इंडेक्स जोड़ें और लौटाए गए फ़ील्ड को सीमित करें।
  • 🪪 प्रमाणीकरण: सुरक्षित क्लाइंट एक्सेस के लिए x.509 प्रमाणपत्र या केर्बेरोस का उपयोग करें।

MongoDB सुरक्षा, निगरानी और बैकअप

में प्रमुख अवधारणाओं में से एक MongoDB डेटाबेस का प्रबंधन डेटाबेस प्रशासन का एक महत्वपूर्ण पहलू है। सुरक्षा, बैकअप और डेटाबेस तक पहुंच जैसे पहलू डेटाबेस प्रशासन के संदर्भ में महत्वपूर्ण अवधारणाएं हैं।

MongoDB सुरक्षा अवलोकन

MongoDB इसमें डेटाबेस के लिए सुरक्षा तंत्र परिभाषित करने की क्षमता है। डिफ़ॉल्ट रूप से, कोई भी नहीं चाहेगा कि हर किसी को हर डेटाबेस तक खुली पहुँच हो। MongoDBइसलिए किसी प्रकार की सुरक्षा व्यवस्था की आवश्यकता है MongoDB महत्वपूर्ण है।

डेटाबेस में सुरक्षा लागू करते समय निम्नलिखित सर्वोत्तम अभ्यास अपनाए जाने चाहिए:

  1. पहुँच नियंत्रण सक्षम करें – ऐसे उपयोगकर्ता बनाएं ताकि डेटाबेस तक पहुँचते समय सभी एप्लिकेशन और उपयोगकर्ताओं के लिए किसी न किसी प्रकार का प्रमाणीकरण तंत्र अनिवार्य हो जाए। MongoDB.
  2. भूमिका-आधारित पहुँच नियंत्रण को कॉन्फ़िगर करें कभी-कभी तार्किक आधार हो सकता हैping आवश्यक अनुमतियों को भूमिकाओं में वर्गीकृत किया जा सकता है। फिर उपयोगकर्ताओं को इन भूमिकाओं में असाइन किया जा सकता है।
  3. कॉन्फ़िगर करने का प्रयास करें MongoDB TLS या SSL जैसे किसी एन्क्रिप्शन प्रोटोकॉल का उपयोग करना। इन प्रोटोकॉल का उपयोग क्लाइंट और उपयोगकर्ता के बीच प्रवाहित होने वाले ट्रैफ़िक को एन्क्रिप्ट करने के लिए किया जा सकता है। MongoDB पर्यावरण.
  4. ऑडिटिंग को कॉन्फ़िगर करें – प्रशासकों को आमतौर पर यह जानने की आवश्यकता होती है कि कौन क्या कर रहा है, जिससे बाद में समस्याओं का विश्लेषण करने में मदद मिलती है। इसका सबसे अच्छा तरीका ऑडिटिंग को सक्षम करना है। MongoDB.
  5. चलाएं MongoDB एक अलग यूजर आईडी वाला सर्वर इंस्टेंस, जिसे सर्वर वातावरण पर केवल आवश्यक संसाधनों तक ही पहुंच प्राप्त है।

MongoDB बैकअप प्रक्रियाएँ - मोंगोडम्प

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

  1. अंतर्निहित डेटा फ़ाइलों की प्रतिलिपि बनाकर बैकअप लें – यह शायद सबसे आसान तरीका है। बस इतना करना है कि उन डेटा फ़ाइलों को कॉपी करना है जिन पर MongoDB वहां मौजूद फ़ाइलों को किसी अन्य स्थान पर कॉपी करें, जो आदर्श रूप से कोई अन्य सर्वर होना चाहिए।
  2. मोंगोडम्प के साथ डेटाबेस का बैकअप लें – मोंगोडंप टूल एक से डेटा पढ़ता है MongoDB यह डेटाबेस का उपयोग करता है और उच्च गुणवत्ता वाली BSON फ़ाइलें बनाता है। ध्यान देने योग्य बात यह है कि यदि डेटा सेट का आकार बड़ा है, तो mongodump बहुत अधिक संसाधन खपत कर सकता है, इसलिए इस समस्या को कम करने के लिए, इस यूटिलिटी को द्वितीयक सर्वर पर चलाया जाना चाहिए।
  3. MongoDB क्लाउड मैनेजर बैकअप - MongoDB क्लाउड मैनेजर लगातार बैकअप लेता रहता है MongoDB ओपलॉग डेटा को पढ़कर प्रतिकृति सेट और शार्डेड क्लस्टर MongoDB पर्यावरण. MongoDB क्लाउड मैनेजर ऑपलॉग डेटा को संग्रहीत करके एक निश्चित समय पर रिकवरी बना सकता है ताकि यह किसी विशेष प्रतिकृति सेट या शार्डेड क्लस्टर के लिए किसी भी समय पुनर्स्थापना बना सके।

MongoDB निगरानी

निगरानी सबसे महत्वपूर्ण प्रशासनिक गतिविधियों में से एक है MongoDBऐसा इसलिए है क्योंकि आप वातावरण की निगरानी करके संभावित समस्याओं को पहले से ही पहचान कर अधिक सक्रिय हो सकते हैं। निगरानी लागू करने के कुछ उदाहरण नीचे दिए गए हैं:

  1. Mongostat यह आपको बताएगा कि सर्वर पर इंसर्ट, क्वेरी, अपडेट और डिलीट जैसे डेटाबेस ऑपरेशन वास्तव में कितनी बार होते हैं। इससे सर्वर पर पड़ने वाले भार का अच्छा अंदाजा लगता है और यह भी पता चलता है कि क्या आपको सर्वर पर अतिरिक्त संसाधनों की आवश्यकता है, या भार को वितरित करने के लिए अतिरिक्त सर्वरों की आवश्यकता हो सकती है।
  2. मोंगोटॉप tracयह किसी उपयोगकर्ता की वर्तमान रीड और राइट गतिविधि की रिपोर्ट करता है। MongoDB उदाहरण के लिए, यह प्रति संग्रह के आधार पर इन आंकड़ों की रिपोर्ट करता है।
  3. MongoDB यह एक वेब इंटरफेस प्रदान करता है जो एक सरल वेब पेज में नैदानिक ​​और निगरानी संबंधी जानकारी प्रदर्शित करता है।
  4. सर्वरस्टेटस कमांड, या शेल से db.serverStatus(), डेटाबेस की स्थिति का अवलोकन देता है, जिसमें डिस्क उपयोग, मेमोरी उपयोग, सर्वर से स्थापित कनेक्शन आदि का विवरण होता है। MongoDB पर्यावरण, और भी बहुत कुछ।

MongoDB अनुक्रमण और प्रदर्शन संबंधी विचार

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

MongoDB प्रमाणीकरण तंत्र

जहां प्राधिकरण यह सुनिश्चित करता है कि क्लाइंट को सिस्टम तक पहुंच प्राप्त है, वहीं प्रमाणीकरण यह जांचता है कि क्लाइंट को सिस्टम में किस प्रकार की पहुंच प्राप्त है। MongoDB एक बार सिस्टम में अधिकृत हो जाने के बाद। प्रमाणीकरण के कई तरीके हैं; नीचे उनमें से कुछ दिए गए हैं।

MongoDB x.509 प्रमाणपत्रों का उपयोग करके प्रमाणीकरण

क्लाइंट को प्रमाणित करने के लिए x.509 प्रमाणपत्रों का उपयोग करें – प्रमाणपत्र मूल रूप से क्लाइंट और उपयोगकर्ता के बीच एक विश्वसनीय हस्ताक्षर होता है। MongoDB सर्वर।

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

यह सुनिश्चित करने के लिए कि यह ठीक से काम करे, निम्नलिखित चरणों का पालन करना आवश्यक है:

  1. एक वैध प्रमाणपत्र किसी वैध तृतीय-पक्ष प्राधिकरण से खरीदा जाना चाहिए और उसे स्थापित किया जाना चाहिए। MongoDB सर्वर।
  2. क्लाइंट प्रमाणपत्र में निम्नलिखित गुण होने चाहिए: एक ही प्रमाणपत्र प्राधिकरण (CA) द्वारा क्लाइंट और सर्वर दोनों के लिए प्रमाणपत्र जारी किए जाने चाहिए, और क्लाइंट प्रमाणपत्रों में keyUsage और extendedKeyUsage फ़ील्ड होने चाहिए।
  3. प्रत्येक उपयोगकर्ता जो इससे जुड़ता है MongoDB सर्वर के लिए एक अलग प्रमाणपत्र की आवश्यकता है।

कॉन्फ़िगर कैसे करें MongoDB केर्बेरोस प्रमाणीकरण के साथ

नीचे कॉन्फ़िगर करने के चरण दिए गए हैं MongoDB केर्बेरोस प्रमाणीकरण के साथ Windows:

चरण 1) कॉन्फ़िगर करें MongoDB केर्बेरोस प्रमाणीकरण चालू होने पर Windows

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

चरण 2) mongod.exe सर्वर प्रक्रिया

इसके बाद, mongod.exe सर्वर प्रक्रिया शुरू करें।

चरण 3) mongo.exe क्लाइंट प्रक्रिया और कनेक्ट

इसके बाद, mongo.exe क्लाइंट प्रक्रिया शुरू करें और इससे कनेक्ट करें। MongoDB सर्वर.

चरण 4) एक उपयोगकर्ता जोड़ें MongoDB

$external डेटाबेस में एक उपयोगकर्ता जोड़ें, जो मूल रूप से एक Kerberos प्रिंसिपल नाम है। $external डेटाबेस एक विशेष डेटाबेस है जो बताता है MongoDB इस उपयोगकर्ता को अपने आंतरिक सिस्टम के बजाय केर्बेरोस सिस्टम के विरुद्ध प्रमाणित करने के लिए।

कॉन्फ़िगर MongoDB केर्बेरोस प्रमाणीकरण के साथ

use $external
db.createUser(
  {
    user: "user1@example.NET",
    roles: [
      { role: "read", db: "Marketing" }
    ]
  }
)

चरण 5) कमांड का उपयोग शुरू करें

निम्न कमांड का उपयोग करके केर्बेरोस सपोर्ट के साथ mongod.exe को प्रारंभ करें:

mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI

और फिर आप अब डेटाबेस के लिए केर्बेरोस उपयोगकर्ता और केर्बेरोस प्रमाणीकरण से जुड़ सकते हैं।

अक्सर पूछे जाने वाले प्रश्न

जी हां। एआई-आधारित निगरानी उपकरण असामान्य क्वेरी पैटर्न, असफल लॉगिन और संदिग्ध पहुंच को चिह्नित कर सकते हैं। MongoDBये अंतर्निहित ऑडिटिंग के पूरक हैं, हालांकि प्रशासकों को अभी भी अलर्ट की समीक्षा करनी चाहिए और मैन्युअल रूप से एक्सेस कंट्रोल लागू करना चाहिए।

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

mongodump डेटाबेस के ऑन-डिमांड BSON स्नैपशॉट बनाता है। MongoDB क्लाउड मैनेजर, रेप्लिका सेट और शार्डेड क्लस्टर की पॉइंट-इन-टाइम रिकवरी को सक्षम करने के लिए लगातार ऑपलॉग को पढ़ता है।

डंप डायरेक्टरी को इंगित करते हुए mongorestore टूल का उपयोग करें। उदाहरण के लिए, mongorestore –db Marketing dump/Marketing कमांड निर्दिष्ट डेटाबेस में BSON फ़ाइलों को वापस लोड कर देता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: