SQL सर्वर सेवा खाता Windows विशेषाधिकार और अधिकार


12

मेरा प्रश्न है, यदि आप SQL सर्वर प्रक्रियाओं में से प्रत्येक के लिए एक नया डोमेन उपयोगकर्ता खाता बनाते हैं, तो प्रत्येक खाते के लिए क्या अनुमतियाँ निर्धारित की जानी चाहिए? या SQL कॉन्फ़िगरेशन प्रबंधक वास्तव में इस बात का ध्यान रखता है, और मेरे पास एक अप्रत्याशित समस्या थी?

मुझे अक्सर Microsoft SQL सर्वर को सेटअप करना पड़ता है और आश्चर्य होता है कि क्या किसी को उन सेवाओं को कॉन्फ़िगर करने की सलाह दे सकता है जिन्हें सेवाओं को चलाना चाहिए। IMO यह Microsoft द्वारा अस्पष्ट रूप से प्रलेखित किया गया है, जबकि वे आपको सही दिशा में इंगित करते हैं मैं कभी भी कोई ठोस उदाहरण नहीं ढूंढ पाया।

संक्षेप में यह बताने के लिए कि मैंने अब तक क्या देखा है:

साधारण परिनियोजन \ विकास परिवेशों के लिए यह ठीक है कि वर्चुअल अकाउंट डिफॉल्ट का उपयोग करता है जो इंस्टॉलर उपयोग करता है: उदा NT SERVICE\MSSQLSERVER

SYSTEMखाते का उपयोग करने से बचें , यह सुरक्षित नहीं है।

उत्पादन और डोमेन वातावरण के लिए यह या तो प्रबंधित सेवा खाते का उपयोग करने के लिए अनुशंसित है, या प्रत्येक सेवा के लिए एक डोमेन उपयोगकर्ता खाता (व्यवस्थापक नहीं) बनाएं। कथित तौर पर यदि आप स्थापना के समय एक डोमेन खाते का उपयोग करते हैं तो इंस्टॉलर आपके लिए कोई आवश्यक अनुमति देगा।

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

मैंने अभी-अभी सेवा खाते को एक मौजूदा खाते में एक डोमेन खाते में बदलने की कोशिश की और यह मुझे एक लॉगऑन विफलता देगा जब तक कि मैंने खाता log on as serviceअनुमति नहीं दी, जो उस हिस्से का खंडन करता है जहां SQL सर्वर कॉन्फ़िगरेशन प्रबंधक किसी भी आवश्यक अनुमतियों को सेट करेगा। (हालांकि मुझे यकीन नहीं है कि जीपीओ ने इस स्थानीय सुरक्षा नीति को स्थापित करने में हस्तक्षेप किया हो सकता है)

Microsoft इस पृष्ठ पर SQL सर्वर सेटअप अनुदान की अनुमति की एक सूची प्रदान करता है ।

लेकिन यह मेरे लिए स्पष्ट नहीं है कि अगर ऐसा कुछ है जो मैं उपयोगकर्ता के लिए मैन्युअल रूप से कर रहा हूं जो मैं सेवा चलाने के लिए बनाता हूं, या SQL कॉन्फ़िगरेशन प्रबंधक का उपयोग करके स्वचालित रूप से इन अनुमतियों को सेट करना चाहिए।

SQL सर्वर 2014, डोमेन नियंत्रक Windows Server 2008 R2 पर है।


एसक्यूएल का कौन सा संस्करण? क्या यह AD वातावरण है? यदि हां, तो डोमेन स्तर क्या है?
कैथरीन विलिअर्ड

धन्यवाद, मैंने सवाल में संस्करण जोड़े हैं। SQL सर्वर 2014, डोमेन नियंत्रक विंडोज सर्वर 2008 R2 कार्यात्मक स्तर पर है

1
यह मेरे लिए अस्पष्ट दस्तावेज की तरह नहीं दिखता है। यह काफी व्यापक दिखता है। - msdn.microsoft.com/en-us/library/ms143504.aspx

हां मैं मानता हूं, कुल मिलाकर दस्तावेज अच्छा है लेकिन मैं जिस हिस्से के बारे में अनिश्चित हूं वह अस्पष्ट था जिसका मैं मतलब था। आप सही हैं, बड़े पैमाने पर प्रलेखन बहुत विस्तृत है।
प्लमडॉग

जवाबों:


10

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

यह वास्तव में काफी अच्छी तरह से प्रलेखित है: http://msdn.microsoft.com/en-us/library/ms143504.aspx

क्या उस का एक हिस्सा आप के बारे में निश्चित नहीं हैं?

साधारण परिनियोजन \ विकास परिवेशों के लिए वर्चुअल खाता का उपयोग करना ठीक है जो इंस्टॉलर उपयोग करता है: जैसे NT सेवा \ MSSQLSERVER

यह पर्यावरण पर निर्भर करने वाला है। मैं, व्यक्तिगत रूप से, किसी सर्वर को किसी स्थानीय खाते का उपयोग करके सेटअप करने से नफरत करता हूं और भविष्य में कुछ समय नेटवर्क संसाधनों तक पहुंचने के लिए कहता हूं।

उत्पादन और डोमेन वातावरण के लिए यह या तो प्रबंधित सेवा खाते का उपयोग करने के लिए अनुशंसित है, या प्रत्येक सेवा के लिए एक डोमेन उपयोगकर्ता खाता (व्यवस्थापक नहीं) बनाएं।

फिर से, निर्भर करता है, लेकिन आम तौर पर मैं सहमत होता हूं (एक काउंटर उदाहरण उपलब्धता समूह होगा जहां यह सभी उदाहरणों में एकल डोमेन खाते का उपयोग करने के लिए समझ में आता है)।

कथित तौर पर यदि आप स्थापना के समय एक डोमेन खाते का उपयोग करते हैं तो इंस्टॉलर आपके लिए कोई आवश्यक अनुमति देगा।

जब तक कोई विफलता नहीं है, आदि, यह ऐसा करेगा। मुझे यकीन नहीं है कि क्यों "कथित तौर पर" भाग।

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

SQL सर्वर के लिए किसी भी सेवा को बदलते समय, हमेशा SSCM का उपयोग करें। हमेशा। अवधि। यह मूल खाते में नए खाते के लिए अनुमतियाँ सेट करेगा। यदि इससे पहले कि स्थानीय सिस्टम खाते का उपयोग किया गया था और सिस्टम पर हर चीज के लिए अप्रतिबंधित अनुमति थी, तो मैं सख्त नियंत्रण वाली सुरक्षा के कारण परिवर्तन के बाद अनुमति विफल होने की उम्मीद करूंगा। यह SQL सर्वर SSCM दोष नहीं है, यह उचित EXTRA अनुमतियाँ (जैसे कि एक नेटवर्क साझा, प्रतिबंधित फ़ोल्डर, SQL सर्वर के बाहर के आइटमों को एक्सेस करने का अधिकार, इत्यादि) को मंजूरी नहीं देने का एक व्यवस्थापक दोष है)

मैंने अभी-अभी सेवा खाते को एक मौजूदा खाते में एक डोमेन खाते में बदलने की कोशिश की और यह मुझे एक लॉगऑन विफलता देगा जब तक कि मैंने खाता को 'सेवा के रूप में लॉग ऑन' की अनुमति नहीं दी, जो उस हिस्से का खंडन करता है जहां SQL सर्वर कॉन्फ़िगरेशन प्रबंधक किसी भी आवश्यक सेट करेगा अनुमतियाँ। (हालांकि यह निश्चित नहीं है कि यदि कोई GPO इस स्थानीय सुरक्षा नीति को स्थापित करने में हस्तक्षेप कर सकता है)

एक GPO की तरह लगता है एक मुद्दा (IMHO) पैदा कर रहा है। पहली बार नहीं होगा :)

तो मेरा सवाल है, यदि आप SQL सर्वर प्रक्रियाओं में से प्रत्येक के लिए एक नया डोमेन उपयोगकर्ता खाता बनाते हैं तो प्रत्येक खाते के लिए क्या अनुमतियाँ निर्धारित की जानी चाहिए?

मैं स्पष्ट रूप से एमएसडीएन लिंक जो मेरे ऊपर है (जो @joeqwerty द्वारा दिया गया है और आपके ओपी में दिया गया है) के बाहर कोई भी अनुमति स्पष्ट रूप से निर्धारित करेगा। उदाहरण के लिए, नेटवर्क साझाकरण पर "बैकअप" फ़ोल्डर पर, नए डेटाबेस को जोड़ने के लिए जोड़े गए एक नए ड्राइव पर (जहां सेटअप पहले से ही चलाया गया था लेकिन ड्राइव मौजूद नहीं था), आदि।

लेकिन यह मेरे लिए स्पष्ट नहीं है कि अगर ऐसा कुछ है जो मैं उपयोगकर्ता के लिए मैन्युअल रूप से कर रहा हूं जो मैं सेवा चलाने के लिए बनाता हूं, या SQL कॉन्फ़िगरेशन प्रबंधक का उपयोग करके स्वचालित रूप से इन अनुमतियों को सेट करना चाहिए।

जब तक कुछ सर्वर के साथ बेहद टूट जाता है, इन्हें मैन्युअल रूप से नहीं दिया जाना चाहिए।


आपके उत्तर के लिए धन्यवाद, मैं आपकी टिप्पणियों से सहमत हूं। मैंने इसे जांचने के लिए एक अलग क्लीन वीएम पर SQL सर्वर सेटअप किया, और मैं वर्चुअल अकाउंट एनटी सर्विस / MSSQLSERVER से डोमेन यूजर अकाउंट में स्वैप करने में सक्षम था और इसने बिना किसी समस्या के काम किया। इसलिए मुझे लगता है कि उत्तर जैसा कि आपने कहा है, सेवा उपयोगकर्ता खाता लॉगऑन को बदलने के लिए SQL सर्वर कॉन्फ़िगरेशन प्रबंधक का उपयोग करें और अतिरिक्त अनुमतियों की आवश्यकता नहीं होनी चाहिए।
प्लमडॉग

एक अतिरिक्त टिप्पणी, क्षमा करें, मैं अपने मुख्य बिंदु को पोस्ट के शीर्ष पर रखकर अपना प्रश्न स्पष्ट कर सकता था जो मैं भविष्य में करूंगा। मुख्य प्रश्न जिसके बारे में मुझे यकीन नहीं था; [यदि आप SQL सर्वर प्रक्रियाओं में से प्रत्येक के लिए एक नया डोमेन उपयोगकर्ता खाता बनाते हैं, तो प्रत्येक खाते के लिए क्या अनुमतियाँ निर्धारित की जानी चाहिए? ...]। कारण मुझे लगा कि इस भाग में प्रलेखन अस्पष्ट था क्योंकि अनुमतियों की एक सूची है जो सेट की गई है, लेकिन यह स्पष्ट नहीं है कि एसएससीएम आपके लिए ये सेट करेगा या नहीं।
प्लमडॉग

@plumdog आपकी दूसरी टिप्पणी के अनुसार, अधिकांश अनुमतियाँ इंस्टॉलर द्वारा दी गई हैं। एक वर्चुअल सर्विस अकाउंट और साइड्स को बांधा गया है, यही कारण है कि SSCM का हमेशा उपयोग किया जाना चाहिए ताकि अन्य अनुमतियों के बीच ट्रांसफ़ॉर्म इन और ट्रांसफ़र सही तरीके से हो, जैसे कि सर्विस मास्टर कुंजी एन्क्रिप्शन से जुड़ी सुरक्षा, आदि। ।
शॉन गेलार्डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.