API तुलना गर्नु अघि VPN सञ्चालन परिभाषित गर्नुहोस्
जडान नियन्त्रण, प्रोफाइल व्यवस्थापन, प्रयोगकर्ता प्रशासन र अवलोकन भिन्न API हुन्। पहिले वस्तु, कार्य र सफलताको सर्त नाम गर्नुहोस्।
एउटा उत्पादन पृष्ठले आफूसँग API छ भन्छ, र एकीकरण बैठक दोस्रो प्रश्नमै अड्किन्छ। कुन सञ्चालन, कुन वस्तुमा, कसले बोलाउँछ, र केलाई सफलता मानिन्छ? उत्पादन तुलना गर्नु अघि यी चारको उत्तर दिँदा सामान्यतया आधा उम्मेदवार हट्छन्। यसले बाँकी तुलनालाई पनि परीक्षणले टुंग्याउन सक्ने कुरामा बदल्छ।
«API छ» भन्ने कुरालाई एउटा सञ्चालनले बदल्नुहोस्
API एउटा माध्यम हो, क्षमता होइन। REST अन्त्यबिन्दु, स्थानीय सकेट र कमाण्ड-लाइन आवरण सबैलाई API भन्न सकिन्छ, र ती समान सञ्चालन दिँदैनन्।
दस्तावेज हेर्नु अघि सञ्चालनलाई एउटा वाक्यका रूपमा लेख्नुहोस्।
स्थानीय जडान सुरु गर्नु अगाडि प्रयोगकर्ता हुने ग्राहक-पक्षको कार्य हो। यन्त्र प्रोफाइल जारी गर्नु पछाडि सूची हुने व्यवस्थापन कार्य हो। प्रयोगकर्ताको पहुँच बन्द गर्नु लेखापरीक्षण अभिलेख हुने प्रशासनिक कार्य हो। यी तीन सामान्यतया भिन्न अवयवमा, भिन्न टोलीको स्वामित्वमा, भिन्न अधिकारसहित रहन्छन्।
सम्झौतालाई परीक्षणयोग्य बनाउने चार क्षेत्र
प्रत्येक सञ्चालनका लागि चार क्षेत्र भर्नुहोस्: वस्तु, कार्य, बोलाउने र सफलताको सर्त। कुनै क्षेत्र छुटेको सम्झौता एउटा इच्छा मात्र हो।
तालिका नै पूरै कार्यपत्र हो:
| Field | Question | Example |
|---|---|---|
| Object | What is being acted on? | One enrolled device |
| Action | Observe, create, change, start, stop, or revoke? | Revoke |
| Caller | Which identity calls it? | Deployment service |
| Success | What observable state proves it? | Future sign-in denied |
सफलताको सर्त त्यो क्षेत्र हो जुन मानिसहरूले छोड्छन्, र एकीकरण काम गर्छ कि गर्दैन भन्ने ठीक त्यसैले निर्धारण गर्छ। सुरक्षित गरिएको सेटिङ सक्रिय टनेल होइन, र बन्द गरिएको खाता अन्त्य भएको सत्र होइन।
यदि दुई सञ्चालनलाई भिन्न बोलाउने चाहिन्छ भने ती दुई एकीकरण हुन्। तिनीहरूलाई एउटै सेवा खातामा गाभ्नु सामान्यतया दुवैलाई आवश्यकभन्दा बढी अधिकार दिनु हो।
इन्टरफेसलाई यसको वास्तविक तहसँग मिलाउनुहोस्
OpenVPN को समुदाय व्यवस्थापन इन्टरफेस ले TCP वा Unix सकेटमार्फत डिमनसँग कुरा गर्छ। यसका आदेशहरूमा अवस्था अवलोकन र डिमन संकेतहरू पर्छन्।
यसले यसलाई डिमन नियन्त्रण च्यानल बनाउँछ, होस्ट गरिएको सदस्यता API वा प्रयोगकर्ता दर्ता सेवा होइन। यसको दस्तावेज ध्यानपूर्वक पढ्नुले वस्तुको स्वामित्व नभएको तहमा निर्माण गर्नबाट बचाउँछ।
ती दस्तावेजले यो पनि भन्छन् कि प्रोटोकलसँग आफ्नै इन्क्रिप्शन छैन। जो सकेटमा पुग्न सक्छ, त्यो डिमन नियन्त्रण गर्न सक्छ, त्यसैले यसलाई संवेदनशील नियन्त्रणका रूपमा लिनुहोस्, मेट्रिक प्रवाहका रूपमा होइन। यसलाई loopback वा Unix सकेटमा बाँध्नुहोस्, र टाढाको बोलाउनेलाई चाहिएमा सीमित व्यवस्थापछि राख्नुहोस्। सुविधाका लागि यसलाई इन्टरनेटमा खुला गर्दा नियन्त्रण च्यानल घटनामा बदलिन्छ।
कल पछिको व्यवहार निर्दिष्ट गर्नुहोस्
स्वीकृति पूर्णता जस्तै होइन। टनेल उठ्नु अघि डिमन फर्कन सक्छ, त्यसैले दस्तावेज गरिएको पूर्णता वा असफलता घटनाको प्रतीक्षा गर्नुहोस् र त्यसलाई तपाईंले पठाएको अनुरोधसँग जोड्नुहोस्।
जवाफ हराएमा बोलाउनेले के गर्ने निर्णय गर्नुहोस्। सिर्जना वा पुनःजडान अन्धाधुन्ध दोहोर्याउनु पहिलो अनुरोधले पहिले नै प्रभाव पारेको छ कि छैन जाँच्नु जस्तै होइन।
पहुँच हटाउनु कम्तीमा तीन भिन्न कार्य हुन्: भविष्यको साइन-इन रोक्नु, सक्रिय सत्र अन्त्य गर्नु र प्रमाणपत्र रद्द गर्नु। नीतिले साँच्चै आवश्यक ठानेका कार्यहरू माग्नुहोस्, र सम्झौतामा कुन कुन हो भन्नुहोस्। प्रमाणबिना एउटा सफल खाता अद्यावधिकलाई पूर्ण रद्दीकरण भन्नु हुँदैन। घटनाको बेला घडी चलिरहेको हुँदा यो भिन्नताले अर्थ राख्छ।
पाइलटसँग सम्झौता जाँच्नुहोस्
सानो स्वीकृत पाइलटले सफलता, अस्वीकार, अवरोध र पुनः प्रयास समेट्नुपर्छ, त्यसपछि अनुमति वा अस्वीकार गर्नुपर्ने अनुप्रयोग सञ्चालन।
डिमन-स्तरको इन्टरफेसका लागि दुई आदेशले अवलोकन र संकेत अभ्यास गर्छन्:
echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505सञ्चालनलाई आवश्यक अधिकार मात्र दिनुहोस्। गोप्य कुरा नियमित लगबाट बाहिर राख्नुहोस्, र कुन लक्ष्य प्रभावित भयो र कसरी टुंगियो भन्न पुग्ने निजी विवरण लग गर्नुहोस्।
नियन्त्रण API आफै डाउन हुँदाको अवस्थाका लागि पुनःप्राप्ति मार्ग लेख्नुहोस्। वस्तु र यसको जीवनचक्रको स्वामित्व हुने इन्टरफेस छान्नुहोस्; उत्पादन पृष्ठका स्वचालन दाबी विकल्प होइनन्।