आपका प्रश्न उस मंच / OS के बारे में कोई धारणा नहीं बनाता है जिसके बारे में वह है। यही कारण है कि यह एक मेनफ़्रेम वातावरण में यह आमतौर पर कैसे किया जाता है / संबोधित किया जाता है, इसके बारे में एक जवाब जोड़ने के लिए समझ में आ सकता है, जहां "इंजीनियर" (आपके प्रश्न शीर्षक के रूप में) वास्तव में लोगों के समूह दर्जनों (संभवतः सैकड़ों) थे। शामिल किया गया। मेरा जवाब एससीएम उत्पाद का उपयोग करने पर आधारित है, जहां मैं सबसे अधिक परिचित हूं (यह सुनिश्चित नहीं है कि उत्पाद नाम का खुलासा करने की आवश्यकता है)।
1. वास्तुकला
यहां मैं आपके प्रश्न का उत्तर कैसे दूंगा, इस पर प्रकाश डाला गया है:
- सभी कोड (और संबंधित कलाकृतियों जैसे कि निष्पादक, इत्यादि) को फाइलों में संग्रहीत किया जाता है, जो सभी को एक साथ कहते हैं जिसे हम पुस्तकालय संरचना कहते हैं ।
- प्रत्येक (संभवतः दूरस्थ) लक्ष्य प्रणाली पर प्रत्येक वातावरण के लिए, एक सर्वर (मेनफ्रेम स्पीक में "शुरू किया गया कार्य") है, जो लाइब्रेरी संरचना में किसी भी चीज के लिए सभी (रिपीट: एएलएल) अपडेट का ख्याल रखता है। कुछ अपवाद हैं (जैसे सुरक्षा लोग, या अंतरिक्ष प्रबंधन टीम), लेकिन इसके अलावा, किसी को भी (दोहराने: कोई नहीं) उस पुस्तकालय संरचना के भीतर किसी भी फ़ाइल में अपडेट लागू करने के लिए प्राधिकरण है। दूसरे शब्दों में: सर्वर को संपूर्ण पुस्तकालय संरचना के लिए विशेष अपडेट अथॉरिटी मिलती है । ध्यान दें: यदि आप अपनी पहुंच को सीमित करने के लिए चलते हैं, तो ओपीएस-लोग बोनट पर चले जाएंगे (पहले वे प्रतिरोध करने जा रहे हैं ...), इसलिए सुनिश्चित करें कि आप उन पहुँच नियमों को लागू करने के लिए ऊपरी प्रबंधन (CxO) द्वारा कवर किए गए हैं ...
- वास्तविक सॉफ्टवेयर मेरे एक घटक (रात के मध्य में एक छोटा कोड तय ...) से मिलकर बनता है, या यह सैकड़ों या हजारों स्रोतों, निष्पादन योग्य, या जो भी अन्य कलाकृतियों (एक रिलीज सप्ताहांत के दौरान) हो सकता है। उन्हें प्रबंधनीय बनाने के लिए, उन चीजों को एक साथ (एक या अधिक) स्थानांतरित किया जाना चाहिए, एक ही समय में एक सॉफ्टवेयर बंडल पैकेज कहा जाता है ।
उपरोक्त स्थान के साथ, सर्वर द्वारा पुस्तकालय संरचना में लागू किए जाने वाले किसी भी प्रकार का अपडेट केवल एक अच्छी तरह से परिभाषित वर्कफ़्लो के माध्यम से संभव होगा, जिसे हम सॉफ़्टवेयर परिवर्तन पैकेज (यदि आप चाहें तो एसडीएलसी) का जीवनचक्र कहते हैं। वास्तव में उस वर्कफ़्लो में विभिन्न चरणों को निष्पादित करने के लिए, यह वही होता है जो इसे बनाने के लिए होता है:
- केवल सर्वर आवश्यक (और preconfigured) चरणों को निष्पादित करेगा।
- सर्वर केवल एक विशिष्ट कदम (= पुस्तकालय संरचना में कहीं कुछ अद्यतन करेगा), आवश्यक अनुमोदन के बाद (मानव से) ऐसे कदम को करने के लिए इकट्ठा किया गया है।
- अनुमोदन केवल उन उपयोगकर्ताओं द्वारा दिया जा सकता है जिनके पास एक भूमिका है जो उन्हें (= अनुमति) इस तरह के अनुमोदन को जारी करने की अनुमति देता है।
2. रोल्स और अनुमतियां
सर्वर यह सुनिश्चित करेगा कि उपयोगकर्ता कुछ बनाने की कोशिश कर रहा है (जैसे 'कुछ को स्वीकार करना') केवल तभी कर पाएंगे, जब उपयोगकर्ता की अनुमति उचित हो। वह हिस्सा आसान है। लेकिन आप उन सभी उपयोगकर्ताओं के लिए उन सभी अनुमतियों को प्रबंधित करने के लिए SCM प्रणाली का उपयोग नहीं करना चाहते हैं, जो कि आपकी सुरक्षा प्रणाली में हैं (SCM प्रणाली नहीं!), ताकि आप अपने वर्कफ़्लो (अपने SCM प्रणाली में) को अनुकूलित कर सकें। जब भी उचित हो उन अनुमतियों की जांच करने के लिए जाएं। नीचे दिए गए कदम उस पर कुछ और विवरण प्रदान करते हैं।
चरण 1: अनुमतियों को कॉन्फ़िगर करें (सुरक्षा प्रणाली में)
अपनी सुरक्षा प्रणाली में सुरक्षा संस्थाओं को परिभाषित करें , उन संस्थाओं के लिए अच्छी तरह से परिभाषित नाम। कुछ नमूने (अपनी आवश्यकताओं को पूरा करने के लिए इतने ही लोगों को जोड़ें):
PrmUnit
एक अनुरोध करने के लिए अनुमति मिलने के लिए प्रयोग किया जाता बढ़ावा देना कहने के लिए यूनिट -testing।
PrmQA
एक अनुरोध करने के लिए अनुमति मिलने के लिए प्रयोग किया जाता बढ़ावा देना कहने के लिए क्यूए (यह मान परीक्षण के उच्चतम स्तर है चलो) -testing।
PrdEnduser
, परीक्षण के कुछ स्तरों में शामिल अंतिम-उपयोगकर्ताओं द्वारा, यह इंगित करने के लिए कि वे किसी प्रकार के परीक्षण द्वारा उत्पादित परिणामों से संतुष्ट हैं। और उसके कारण, वे अंतिम उपयोगकर्ता लाइब्रेरी संरचना में आगे बढ़ने वाले परिवर्तन से सहमत हैं।
PrdRelmgnt
का उपयोग, रिलीज मैनेजर द्वारा उत्पादन में सक्रियकरण (पुस्तकालय संरचना में अंतिम / उच्चतम स्तर) को अधिकृत करने के लिए किया जाता है ।
अपनी सुरक्षा प्रणाली में उपयोगकर्ताओं के समूहों को परिभाषित करें । कुछ नमूने (अपनी आवश्यकताओं को पूरा करने के लिए इतने ही लोगों को जोड़ें):
GrpDevs
, जो (कहते हैं) आपके डेवलपर्स से मेल खाती है (शायद अधिक तब सिर्फ 1)।
GrpEnduser
, जो (कहते हैं) आपके अंतिम-उपयोगकर्ताओं (कम से कम 1, अधिमानतः अधिक समान उपयोगकर्ताओं के साथ) से मेल खाती है।
GrpRelMgnt
, जो (कहते हैं) आपके रिलीज़ प्रबंधकों (कम से कम 1, अधिमानतः कुछ और उपयोगकर्ताओं) से मेल खाती है।
अनुदान सुरक्षा, अपने सुरक्षा प्रणाली का उपयोग करके, चयनित " उपयोगकर्ताओं के समूहों " के लिए चयनित " सुरक्षा संस्थाओं " तक पहुंच प्रदान करने के लिए । ऊपर दिए गए उदाहरण को जारी रखने के लिए, यहां वह उचित लगता है (अपनी आवश्यकताओं के अनुसार अनुकूलित करें):
- समूह
GrpDevs
को (केवल!) सुरक्षा इकाई में प्रवेश मिलता है PrmUnit
।
- समूह
GrpEnduser
को (केवल!) सुरक्षा इकाई में प्रवेश मिलता है PrdEnduser
।
- समूह
GrpRelMgnt
(दोनों!) सुरक्षा इकाई के लिए उपयोग हो जाता है PrmQA
और PrdRelmgnt
।
चरण 2: वर्कफ़्लो कॉन्फ़िगर करें (SCM सिस्टम में)
आपके सुरक्षा सिस्टम में अनुमतियाँ कॉन्फ़िगर होने के बाद (चरण 1 में), आपके SCM सिस्टम में करने के लिए जो कुछ भी बचा है वह कॉन्फ़िगर करना है कि आपके सुरक्षा सिस्टम में संबंधित सुरक्षा संस्थाओं के साथ जीवन रेखा के विभिन्न चरण कैसे मेल खाते हैं। यही है, केवल उन उपयोगकर्ताओं को जिनके पास आवश्यक सुरक्षा इकाई तक उचित पहुंच है, उन्हें सर्वर से वर्कफ़्लो में संबंधित चरण का अनुरोध करने की अनुमति है।
यहां कुछ उदाहरण दिए गए हैं कि आप कुछ जादू करने के लिए अपने SCM सिस्टम को कैसे कॉन्फ़िगर करेंगे:
- यदि किसी उपयोगकर्ता के पास पहुंच है
PrmUnit
, तो ऐसे उपयोगकर्ता को यूनिट- टीस्टिंग को बढ़ावा देने का अनुरोध करने की अनुमति है । जाहिर है, समूह में उपयोगकर्ता इसके लिए अधिकृत उपयोगकर्ता हैं (ध्यान दें: नहीं, उदाहरण के लिए, समूह में उपयोगकर्ता )।GrpDevs
GrpRelMgnt
- यदि किसी उपयोगकर्ता के पास पहुंच है
PrmQA
, तो ऐसे उपयोगकर्ता को QA- testing को बढ़ावा देने का अनुरोध करने की अनुमति है । जाहिर है, समूह के उपयोगकर्ता इसके लिए अधिकृत उपयोगकर्ता हैं (ध्यान दें: नहीं, उदाहरण के लिए, समूह में उपयोगकर्ता , या समूह में )।GrpRelMgnt
GrpDevs
GrpEnduser
- यदि किसी उपयोगकर्ता के पास पहुंच है
PrdEnduser
, तो ऐसे उपयोगकर्ता को लाइब्रेरी संरचना में आगे बढ़ने वाले परिवर्तन को अधिकृत करने की अनुमति है (जो आमतौर पर समूह में उपयोगकर्ताओं के लिए एक शर्त GrpRelMgnt
है कि किसी बदलाव की समीक्षा करने में सक्षम हो)। जाहिर है, समूह के GrpEnduser
उपयोगकर्ता इसके लिए अधिकृत (केवल) उपयोगकर्ता हैं।
- यदि किसी उपयोगकर्ता की पहुंच है
PrdRelmgnt
, तो ऐसे उपयोगकर्ता को उत्पादन में सक्रियण (पुस्तकालय संरचना में अंतिम / उच्चतम स्तर) की अनुमति दी जाती है।
3. अप्रत्याशित की अपेक्षा करें, और इसके लिए तैयार रहें
उपरोक्त केवल एक खाका है, जो उम्मीद करता है कि यह समझने में मदद करता है कि आखिरकार यह कैसे सर्वर है जो कर्तव्यों के अलगाव का ख्याल रखता है ... बशर्ते आपके पास कुछ एक्सेस नियमों को लागू करने के लिए CxO कवर है जो हर किसी को पसंद नहीं होगा।
ऊपर बताए अनुसार चित्र को पूरा करने के लिए, सर्वर सिस्टम में होने वाली किसी भी चीज़ का ऑडिट ट्रेल (लॉगिंग) बनाता है। ताकि किसी भी समय, प्रश्नों का उत्तर देना हमेशा संभव हो सके
क्या और कब हुआ, और किस अधिकृत उपयोगकर्ता ने वास्तव में इसे अनुमोदित किया ... अपफ्रंट?
लेकिन, शायद सबसे कठिन हिस्सा पर्याप्त रिपोर्टिंग उपकरण उपलब्ध है (और पता है कि उन्हें कैसे उपयोग करना है)। कम से कम (आसानी से) आईटी ऑडिटर से अनुरोधों को संतुष्ट करें (उनके सवाल बहुत चुनौतीपूर्ण हो सकते हैं)। लेकिन संकट की स्थितियों में "क्या हुआ" -संतुलन के सभी प्रकार के जवाब देने के लिए अपने एससीएम सिस्टम में प्रासंगिक लॉग रिकॉर्ड्स की ओर इशारा करने के लिए जहां उत्पादन का हिस्सा नीचे है।
पुनश्च: अगर मेरा जवाब हाँ है या कोई DevOps-compliant है तो मैं इसे हर किसी के अपने फैसले पर छोड़ता हूँ।